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



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

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

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

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

 

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

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

 

 

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

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

 

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

 

 

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

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

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

 

 

 

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

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

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

 

9 Comments

  1. milkers

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

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

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

    Reply
  2. Поручик

    (0) Статья из серии: читал СП, много думал.

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

    ЗаголовокНастроек = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(«Title»));

    ЗаголовокНастроек.Использование = Истина;

    ЗаголовокНастроек.Значение = «Что-то будет в заголовке»;

    А можно и проще

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

    Ну и остальные параметры аналогично. Ещё раз перечитай СП, никаких хитростей нет.

    Reply
  3. milkers

    (1) Следует заметить,что использование

    ЗаголовокНастроек.Использование = Истина

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

    Reply
  4. Hany

    ну и где сами хитрости?:)

    Reply
  5. alizgo

    (3) Hany, нет никаких хитростей. Просто 1С всегда позиционировала СКД как «создание отчетов без написания кода». Поэтому многие просто не догадываются даже, что там можно еще и кодом управлять выводом информации в отчет

    Reply
  6. milkers

    (3) Сдесь два варианта: Либо вы такой опытный,что Вам все это кажется банальным. Либо Вы могли их не заметить по какой-либо другой причине 🙂

    Reply
  7. Поручик

    (3) Хитрости в использовании суффиксов полей и использовании СтрЗаменить() в цикле.

    Reply
  8. Rustig

    Отличная статья в числе прочих статей на ИС!

    (6) Друзья и коллеги, мы здесь делимся опытом. Зачем вам оценивать этот опыт? Жизнь оценит…

    Хоть и спасибо за конструктивные замечания, Поручик. 😉

    Reply
  9. mari0210

    здравствуйте! а что у Вас есть интересного для бюджета? занимаетесь БГУ? я бьюсь с отчетом акт сверки взаиморасчетов с разворотом по договорам не только оборотов ,но и остатков..пока получается не очень….

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *