Версия для печати темы (https://pro1c.org.ua/index.php?s=69a9d9bf0ab006c7f302608722df3831&showtopic=8422)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Система компоновки данных _ Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.

Автор: Vofka 04.08.12, 10:11

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

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


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



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

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


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



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

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


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



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

http://pro1c.org.ua/redirect.php?http://infostart.ru/public/145308/

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua