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

1. user1194102 20.02.20 15:43 Сейчас в теме
В отчете много колонок и он не полностью выводится на экран. Но все колонки не нужны сразу для просмотра. Это обычные формы, не управляемые. И отчет настроен пакетными запросами, через менеджер запросов (применить СКД не получилось). Настроить группировку по горизонтали тоже не знаю как. Поэтому задачу решил настраивать просто убирать / показывать нужные и не нужные колонки соответственно. Для этого вывел на лицевую часть форму флажки колонок которые не нужны. И при запуске отчета создаю из включенных флажков колонок массив, наименование колонок которое нужны для формирования отчета. А далее не могу сообразить как подключить нужные колонки.
Вот код без выбора колонок
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет1");
Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.ДатаНачала=ДатаНачала;
ГраницаКНД = Новый Граница(КонецДня(ДатаКонца), ВидГраницы.Включая);
Область.Параметры.ДатаКонца=ГраницаКНД.Значение;
ТабДок.Вывести(Область);	
Область = Макет.ПолучитьОбласть("ШапкаТаблицы");
ТабДок.Вывести(Область);
...
Показать


для вывода выборочных колонок, пока хотя бы только для шапки без параметров, что нужно настроить?

МассивКолонок=СоздатьМассивКолонок();
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет1");
Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.ДатаНачала=ДатаНачала;
ГраницаКНД = Новый Граница(КонецДня(ДатаКонца), ВидГраницы.Включая);
Область.Параметры.ДатаКонца=ГраницаКНД.Значение;
ТабДок.Вывести(Область);	
Область = Макет.ПолучитьОбласть("ШапкаТаблицы|ПП");
ТабДок.Вывести(Область);
Для Индекс = 0 По МассивКолонок.Количество() - 1 Цикл
Область = Макет.ПолучитьОбласть("ШапкаТаблицы|"+МассивКолонок[Индекс]);
ТабДок.Вывести(Область);
КонецЦикла;
	
Показать


но наверно так не очень удобно, как в таком случае добавлять значения параметров, если бы это была не строка шапки, а строка с параметрами?

типа
Область.Параметры.Гант=Результат;
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1194102 20.02.20 15:58 Сейчас в теме
Для шапки такой код нормально отрабатывает
Область = Макет.ПолучитьОбласть("ШапкаТаблицы|ПП");
ТабДок.Вывести(Область);
Для Индекс = 0 По МассивКолонок.Количество() - 1 Цикл
Область1 = Макет.ПолучитьОбласть("ШапкаТаблицы|"+МассивКолонок[Индекс]);
ТабДок.Присоединить(Область1);
КонецЦикла;


но параметр нужно записывать между созданием области и присоединением, но присваивать параметр в цикле не очень удобно и логично., хотелось бы сперва создать все колонки с областями колонок, затем присвоить им параметры и только потом их вывести. А сейчас при присоединении сразу таблица выходит на экран.

ПС. Запутался. Как распутаться?
3. user1194102 21.02.20 09:24 Сейчас в теме
Распутался, спасибо, наверно нужно в СКД программно писать код, с ручными табличными присоединениями много ручного кодирования и не очень красиво получается. ну или времени нужно больше тратить.
4. antz 21.02.20 10:19 Сейчас в теме
На здоровье, обращайся, если что :)
user1194102; +1 Ответить
5. user1194102 21.02.20 13:52 Сейчас в теме
Здоровье всегда пригодится, спасибо, особенно в праздничные дни)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот