Имя: Пароль:
1C
 
Вывод внешней таблицы значений в сводную таблицу. Решение.
0 Подводный Таракан
 
11.02.10
12:22
На эту, как оказалось простую задачу, я потратил достаточно времени. На форуме внятного ответа мне дать не могли, поэтому после долгих мучений и нескольких созданных веток;) - я нашел решение.
Итак, дана таблица значений, полученная из внешних данных. Нужно получить сводную таблицу в 1С.
Решение:

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


на выходе получаем
http://pics.rsh.ru/img/svod_7rr03.jpg