На эту, как оказалось простую задачу, я потратил достаточно времени. На форуме внятного ответа мне дать не могли, поэтому после долгих мучений и нескольких созданных веток;) - я нашел решение.
Итак, дана таблица значений, полученная из внешних данных. Нужно получить сводную таблицу в 1С.
Решение:
//Создаем произвольную таблицу значений
//Колонки должны быть с описанием типов
Табл=Новый ТаблицаЗначений;
Табл.Колонки.Добавить("Серия",Новый ОписаниеТипов("Строка"));
Табл.Колонки.Добавить("ТорговаяМарка",Новый ОписаниеТипов("Строка"));
Табл.Колонки.Добавить("Сумма",Новый ОписаниеТипов("Число"));
Стр=Табл.Добавить();
Стр.Серия="Серия1";
Стр.ТорговаяМарка="ТМ1";
Стр.Сумма=1000;
Стр=Табл.Добавить();
Стр.Серия="Серия2";
Стр.ТорговаяМарка="ТМ2";
Стр.Сумма=5000;
//Создаем источник данных
Ист=Новый ОписаниеИсточникаДанных;
Ист.ИсточникДанных=Табл;
//Описываем измерения и итоги
Ист.Колонки.Серия.Измерение=Истина;
Ист.Колонки.ТорговаяМарка.Измерение=Истина;
Ист.Колонки.Сумма.Итог="Сумма(Сумма)";
//Создаем построитель отчета с нашим источником данных
Постр=Новый ПостроительОтчета;
Постр.ИсточникДанных=Ист;
Постр.Выполнить();
//В сводную таблицу передаем наш построитель
Сводная=ЭлементыФормы.Рез.ВстроенныеТаблицы.СводнаяТаблица1;
Сводная.ИсточникДанных=Постр;
//Устанавливаем настройки по умолчанию
Сводная.Данные.Добавить("Сумма");
Сводная.Колонки.Добавить("ТорговаяМарка");
Сводная.Строки.Добавить("Серия");
Сводная.ОтображатьЛинии=ТипОтображенияЛинийСводнойТаблицы.Всегда;
на выходе получаем
http://pics.rsh.ru/img/svod_7rr03.jpg