Построитель отчета в 1С

Построитель отчета 1С — это объект встроенного языка, предназначенный для динамического создания отчета как программными, так и интерактивными средствами, и позволяющий вывести данные в табличный документ или диаграмму.

При разработке отчетов иногда возникает необходимость вывести отчет, данные для которого не могут быть получены с помощью языка запросов. Такая ситуация может возникнуть, например, если для расчета данных используется некий сложный алгоритм, или же данные, для вывода отчет получаются не из информационной базы, а, например из внешнего файла.

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

Основными областями применения построителя отчетов являются:

  1. стандартные и аналитические отчеты;
  2. произвольные выборки для обработки информации;
  3. создание отчетов пользователями без доработки в конфигурации.

В качестве источника данных для построителя отчета могут выступать:

  1. ТаблицаЗначений;
  2. РезультатЗапроса;
  3. ОбластьЯчеекТабличногоДокумента;
  4. Табличная часть;
  5. РегистрНакопленияНаборЗаписей;
  6. РегистрСведенийНаборЗаписей;
  7. РегистрБухгалтерииНаборЗаписей;
  8. РегистрРасчетаНаборЗаписей.
Подробнее о работе построителя отчета с произвольным источником данных

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

Объект ОписаниеИсточникаДанных содержит сам источник данных, а также содержит описание колонок источника данных.

Каждое описание колонки источника данных содержит:

  • Имя  — имя колонки в источнике данных;
  • ПутьКДанным — описание зависимости колонок друг от друга. Колонка, чей путь к данным получен через точку от пути к данным другого поля, считается реквизитом другой колонки. Если поле содержит через точку слово Представление, то данное поле считается представлением для колонки, от пути к данным которого получается представление. Примеры: Если колонка «Номенклатура» имеет путь к данным «Номенклатура», а колонка «Код» имеет путь к данным «Номенклатура.Код», то данная колонка будет считаться реквизитом колонки «Номенклатура». Колонка с путем к данным «Номенклатура.Представление» будет считаться представлением для колонки «Номенклатура»;
  • Поле — признак того, что данная колонка может быть использована в качестве поля отчета;
  • Порядок — признак того, что по данной колонке возможно упорядочивание;
  • Отбор — признак того, что на данную колонку возможно накладывать отбор;
  • Измерение — признак того, что данная колонка может быть использовано как группировка отчета;
  • Итог — строка, содержащая выражение для расчета итога. Для построителя отчета выражение данной строки соответствует выражению для вычисления итога, используемому в языке запросов.

При установке источника данных объекту ОписаниеИсточникаДанных, описания колонок создаются и заполняются автоматически.

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

Пример установки источника данных построителю отчета:

Дальнейшая работа с построителем отчета не отличается от работы с построителем отчета в режиме работы с запросом:

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

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

[свернуть]

Создание отчета с помощью конструктора выходной формы

Конструктор выходной формы — встроенный в платформу механизм, который облегчает разработку отчета.

ВАЖНО! Конструктор доступен только для обычных форм.

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

Механизм основан на объекте встроенного языка 1С — ПостроительОтчета.

Подробнее

Использование построителя отчета с помощью программных средств

Настройка построителя отчета

Построитель отчетов может использоваться в тех случаях, когда СКД недоступна или существует вероятность, что она отработает неправильно.

Настройки построителя отчетов включают:

  1. ВыбранныеПоля, ДоступныеПоля;
  2. ИзмеренияКолонки, ИзмеренияСтроки;
  3. Отбор;
  4. Порядок;
  5. УсловноеОформление.

Алгоритм использования построителя отчета:

  1. объявить создание нового объекта типа ПостроительОтчета;
  2. для создания текста выборки использовать ПостроительЗапроса  либо, используя объект ОписаниеИсточникаДанных, воспользоваться существующей выборкой;
  3. задать настройки построителя отчета, используя метод объекта построителя ЗаполнитьНастройки();
  4. отказаться от использования стандартного макета оформления (при желании), определив свойство объекта Макет у построителя;
  5. выполнить запрос, используя метод Выполнить() (если не используется ОписаниеИсточникаДанных);
  6. запустить метод Вывести() (в табличный документ, или в соответствующий элемент формы).

ВАЖНО! Расширения языка запросов, предназначенные для построителя отчета, выделяются фигурными скобками  {}.

Особенности построителя отчетов 1С:

  1.  Конструктор запросов входит в состав конструктора выходных форм, а конструктор выходных форм может использовать построитель отчетов.
  2. Для использования построителю отчета могут передаваться запрос и макет (среди свойств построителя отчета есть Макет и Текст — для запроса).
  3. Пользователь может изменить состав отображаемых полей отчета, используя настройки построителя отчета и выбирая их из числа доступных полей.
  4. Для формирования табличного документа построитель отчета использует:
    • макет, созданный разработчиком, либо
    • макет, генерируемый автоматически.
  5. Настройки построителя отчета:
    1. формируются автоматически на основе исходного текста запроса;
    2. могут быть указаны явно в тексте запроса с использованием расширения языка запросов.

Добавить комментарий

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.