Как вывести сводную таблицу на печатную форму

Не знаю, возникнет ли у кого идея вывести сводную таблицу на печатную форму в 1С, но у меня это получилось и с радостью делюсь знанием.

Сводная таблица на печатной формеДля построения сводной таблицы запрос обязательно должен содержать блок «Итоги». Только по этому блоку может быть построена сводная таблица. Если Итоги не определить, то при запуске обработки будет вылетать ошибка о несоответствии типов.
В примере приведен псевдо-запрос только для того, чтобы показать суть.
На макете (табличный документ) размещена сводная таблица (пункт меню Таблица — Встроенные таблицы — Вставить встроенную таблицу) в области Область1.
В табличный документ сначала нужно вывести область сводной таблицы, а уже затем можно работать со сводной таблицей.

ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет(«Макет1»);

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ
                   |    ""Статья1"" КАК Статья,
                   |    ""Январь"" КАК МесяцГода,
                   |    12 КАК Значение
                   |ИТОГИ
                   |    СУММА(Значение)
                   |ПО
                   |    Статья,
                   |    МесяцГода";
                   
РезультатЗапроса = Запрос.Выполнить();
ОбластьСводной = Макет.ПолучитьОбласть("Область1");
ТабДокумент.Вывести(ОбластьСводной);
СводнаяТаб = ТабДокумент.ВстроенныеТаблицы.Найти("СводнаяТаблица1");

СводнаяТаб.ИсточникДанных = РезультатЗапроса;
    
СводнаяТаб.Обновление = Ложь;
СводнаяТаб.Строки.Добавить(СводнаяТаб.Поля.Статья);
СводнаяТаб.Колонки.Добавить(СводнаяТаб.Поля.МесяцГода);
СводнаяТаб.Данные.Добавить(СводнаяТаб.Поля.Значение);
СводнаяТаб.Обновление = Истина;
СводнаяТаб.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);
    
СводнаяТаб.ОтображатьПоля = Истина;  
    
ТабДокумент.ТолькоПросмотр = Истина;
ТабДокумент.Показать(«Печатная форма»);

Сохранить

Сохранить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот (обязательно поставьте эту галочку).