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

Опубликовал Олег Молочников (milkers) в раздел Программирование - Работа с интерфейсом

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

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

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

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

 

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

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

 

 

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

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

 

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

 

 

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

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

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

 

 

 

PS: Надеюсь вам понравится эта и другие мои разработки на http://infostart.ru/profile/48714/.

Очень жду ваших комментариев  и пожеланий.

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

 

См. также

Добавить вознаграждение
Комментарии
0. Олег Молочников (milkers) 1573 27.07.12 12:44 Сейчас в теме
Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.

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


Перейти к публикации

1. Сергей Ожерельев (Поручик) 3475 27.07.12 15:06 Сейчас в теме
(0) Статья из серии: читал СП, много думал.

Чтобы заголовок выводился не зависимо, включен он или отключен, его использование можно установить и программно.

ЗаголовокНастроек = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Title"));
ЗаголовокНастроек.Использование = Истина;
ЗаголовокНастроек.Значение = "Что-то будет в заголовке";

А можно и проще
Настройки.ПараметрыВывода.УстановитьЗначениеПараметра("Заголовок", "Что-то будет в заголовке");

Ну и остальные параметры аналогично. Ещё раз перечитай СП, никаких хитростей нет.
Serj1C; nsirotkin@mail.ru; alses; +3 Ответить 1
2. Олег Молочников (milkers) 1573 29.07.12 09:52 Сейчас в теме
(1) Следует заметить,что использование
ЗаголовокНастроек.Использование = Истина
приведет к тому, что заголовок будет выводиться в не зависимости от настроек пользователя, что не всегда хорошо.
3. Hany (Hany) 30.07.12 11:25 Сейчас в теме
4. Марина Карпова (alizgo) 30.07.12 11:32 Сейчас в теме
(3) Hany, нет никаких хитростей. Просто 1С всегда позиционировала СКД как "создание отчетов без написания кода". Поэтому многие просто не догадываются даже, что там можно еще и кодом управлять выводом информации в отчет
5. Олег Молочников (milkers) 1573 30.07.12 11:35 Сейчас в теме
(3) Сдесь два варианта: Либо вы такой опытный,что Вам все это кажется банальным. Либо Вы могли их не заметить по какой-либо другой причине :)
Трактор; +1 Ответить
6. Сергей Ожерельев (Поручик) 3475 30.07.12 19:25 Сейчас в теме
(3) Хитрости в использовании суффиксов полей и использовании СтрЗаменить() в цикле.
7. г. Казань Рустем Гумеров (Rustig) 777 31.07.12 22:45 Сейчас в теме
Отличная статья в числе прочих статей на ИС!
(6) Друзья и коллеги, мы здесь делимся опытом. Зачем вам оценивать этот опыт? Жизнь оценит...
Хоть и спасибо за конструктивные замечания, Поручик. ;)
RomanRomans; +1 Ответить
9. Мария Шекалова (mari0210) 6 21.08.12 15:06 Сейчас в теме
здравствуйте! а что у Вас есть интересного для бюджета? занимаетесь БГУ? я бьюсь с отчетом акт сверки взаиморасчетов с разворотом по договорам не только оборотов ,но и остатков..пока получается не очень....