Очень часто необходимо программно сформировать заголовок отчета, например добавить туда наименование валюты, в которой формируется отчет. Можно использовать макеты, но во многих случаях это не оправданно.
Молочников Олег Spb. 2012.
Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.
Очень часто необходимо программно сформировать заголовок отчета, например добавить туда наименование валюты, в которой формируется отчет. Можно использовать макеты, но во многих случаях это не оправданно.
Что-б заголовок выводился, убедитесь, что в схеме компоновки данных есть соответствующие настройки (текст заголовка может быть любым):
Сформировать программно заголовок отчета нам поможет следующий код:
Настройки = КомпоновщикНастроек.Настройки;
ЗаголовокНастроек = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(«Title»));
ЗаголовокНастроек.Значение =«Сравнение остатков по взаиморасчетам в базе «+СокрНаимБазы1+» и «+СокрНаимБазы2;
Для формирования заголовков колонок используем заголовки из схемы в качестве шаблонов (“_1” и “_2” будут позже заменены на сокращенные наименования баз данных в примере ниже):
Тогда формирование имен колонок в любых выбранных пользователем полях можно сформировать простейшим кодом:
Для Каждого ВыбранноеПоле из Настройки.Выбор.Элементы Цикл
ДоступноеПоле =Настройки.ПользовательскиеПоля.ДоступныеПоляЗначений.НайтиПоле(ВыбранноеПоле.Поле);
ТекстЗаголовка= ДоступноеПоле.Заголовок;
ТекстЗаголовка=СтрЗаменить(ТекстЗаголовка,«_1»,СокрНаимБазы1);
ВыбранноеПоле.Заголовок=СтрЗаменить(ТекстЗаголовка,«_2»,СокрНаимБазы2);
КонецЦикла;
Готовый отчет будет выглядеть так:
PS: Надеюсь вам понравится эта и другие мои разработки на //infostart.ru/profile/48714/.
Очень жду ваших комментариев и пожеланий.
Молочников Олег Spb. 2012.
Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.
Очень часто необходимо программно сформировать заголовок отчета, например добавить туда наименование валюты, в которой формируется отчет. Можно использовать макеты, но во многих случаях это не оправданно.
Перейти к публикации
(0) Статья из серии: читал СП, много думал.
Чтобы заголовок выводился не зависимо, включен он или отключен, его использование можно установить и программно.
ЗаголовокНастроек = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(«Title»));
ЗаголовокНастроек.Использование = Истина;
ЗаголовокНастроек.Значение = «Что-то будет в заголовке»;
А можно и проще
Настройки.ПараметрыВывода.УстановитьЗначениеПараметра(«Заголовок», «Что-то будет в заголовке»);
Ну и остальные параметры аналогично. Ещё раз перечитай СП, никаких хитростей нет.
(1) Следует заметить,что использование
ЗаголовокНастроек.Использование = Истина
приведет к тому, что заголовок будет выводиться в не зависимости от настроек пользователя, что не всегда хорошо.
ну и где сами хитрости?:)
(3) Hany, нет никаких хитростей. Просто 1С всегда позиционировала СКД как «создание отчетов без написания кода». Поэтому многие просто не догадываются даже, что там можно еще и кодом управлять выводом информации в отчет
(3) Сдесь два варианта: Либо вы такой опытный,что Вам все это кажется банальным. Либо Вы могли их не заметить по какой-либо другой причине 🙂
(3) Хитрости в использовании суффиксов полей и использовании СтрЗаменить() в цикле.
Отличная статья в числе прочих статей на ИС!
(6) Друзья и коллеги, мы здесь делимся опытом. Зачем вам оценивать этот опыт? Жизнь оценит…
Хоть и спасибо за конструктивные замечания, Поручик. 😉
здравствуйте! а что у Вас есть интересного для бюджета? занимаетесь БГУ? я бьюсь с отчетом акт сверки взаиморасчетов с разворотом по договорам не только оборотов ,но и остатков..пока получается не очень….