Вывод своего макета в компоновку
Доброго времени.
Хочу поделится своим опытом в данной теме. И спросить совет у специалистов.
Что бы вывести свой макет до или после скд проблемы нет, делается это на ура следующим кодом.
Результат = ЭлементыФормы.Результат;
Результат.Очистить();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных, ОтчетОбъект.КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
//Определение Процессора компоновки
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
//Определение Процессора вывода
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
//Вывод таблицы
ПроцессорВывода.Вывести(процессорКомпоновки);
//Получение доп макета для шапки и подвала
Макет = ОтчетОбъект.ПолучитьМакет(“Подписи”);
//Вывод своего макета
Область = Макет.ПолучитьОбласть(“Надписи”);
ЭлементыФормы.Результат.Вывести(Область);
Тут я думаю всё понятно, мы програмно запускаем компановку и после вывода процессора опеределяем и выводим зарание созданый нами макет. Он выйдет после компоновки, что бы он вышел первым его нужно поставить перед выводом процессора компановки. Всё.
Теперь собственно говоря вопрос на котором я и запнулся…
Как мне вывести свой макет между отбором (или параметрами или заголовком) и самой расшифровкой??? Грубо говоря я непонимаю как поймать момент вывода компановки, как прервать этот вывод, вставить свой код и пустить его дальше… Есть ли вообще такая возможность.
Буду рад любым советам. Спасибо за внимание.
Совет простой. Изучить работу с макетами на вкладке “Макеты”. Я еще не встречался с задачами, которые было бы необходимо решать Вашим способом
Если хочется реализовать отчет сложнее, нежели предлагает СКД и оставить интерфейс пользовательских настроек в стандартном функционале.
Хоть и увеличилась функциональность, но порой чего-то не хватает или не так.
Да это понятно что можно решить всё макетированием. Мне интересно можно ли поймать вывод компановки программно и там поэксперементировать…
А задачи разные бывают, вот хочет руководство видеть подписи между данными отбора и данными расшифровки…
В версии 8.1 это можно сделать , если только выводить вручную. Отладчиком найти местов, где заканчивается вывод заголовка и параметров с отборами, вывести требуемый вам кусок и продолжить вывод.
В версии 8.2 есть метод “ПриКомпоновкеРезультата” (по-моему – можно посмотреть там