Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.

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


Что-б заголовок выводился, убедитесь, что в схеме компоновки данных есть соответствующие настройки (текст заголовка может быть любым):



Сформировать программно заголовок отчета нам поможет следующий код:

Настройки = КомпоновщикНастроек.Настройки;
ЗаголовокНастроек = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Title"));
ЗаголовокНастроек.Значение ="Сравнение остатков по взаиморасчетам в базе "+СокрНаимБазы1+" и "+СокрНаимБазы2;


Для формирования заголовков колонок используем заголовки из схемы в качестве шаблонов (“_1” и “_2” будут позже заменены на сокращенные наименования баз данных в примере ниже):



Тогда формирование имен колонок в любых выбранных пользователем полях можно сформировать простейшим кодом:

Для Каждого ВыбранноеПоле из Настройки.Выбор.Элементы Цикл
   ДоступноеПоле =Настройки.ПользовательскиеПоля.ДоступныеПоляЗначений.НайтиПоле(ВыбранноеПоле.Поле);
   ТекстЗаголовка= ДоступноеПоле.Заголовок;
   ТекстЗаголовка=СтрЗаменить(ТекстЗаголовка,"_1",СокрНаимБазы1);
   ВыбранноеПоле.Заголовок=СтрЗаменить(ТекстЗаголовка,"_2",СокрНаимБазы2);
КонецЦикла;


Готовый отчет будет выглядеть так:



Молочников Олег Spb. 2012.

необходимо зарегистрироваться для просмотра ссылки