Найти в Дзене
CORS Academy

Общие принципы выполнения отчета в 1С

Система компоновки данных представляет собой совокупность элементов,
каждый из которых соответствует определенному этапу выполнения отчета.
Таким образом, весь процесс выполнения отчета в системе компоновки
данных сводится к последовательному переходу от одного элемента к
другому, доходя в итоге до готового отчета. Каждый элемент системы компоновки данных имеет собственное
декларативное описание, возможность программного доступа и возможность
сериализации в/из XML. Такой подход позволяет гибко управлять различными
этапами выполнения отчета. На схеме представлена взаимосвязь основных элементов «Системы компоновки данных». Одним из основных элементов «Системы компоновки данных» является Схема компоновки данных,
которая описывает источник данных и правила управления компоновкой
данных. Представляет собой базу, на основе которой могут быть
сформированы всевозможные отчеты. Схема компоновки данных может содержать: Из-за разнообразия и сложности настройки «Схемы компоновки данных»

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

Каждый элемент системы компоновки данных имеет собственное
декларативное описание, возможность программного доступа и возможность
сериализации в/из XML. Такой подход позволяет гибко управлять различными
этапами выполнения отчета.

На схеме представлена взаимосвязь основных элементов «Системы компоновки данных».

Схема взаимосвязи основных элементов системы компоновки данных
Схема взаимосвязи основных элементов системы компоновки данных

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

Схема компоновки данных может содержать:

  • Текст запроса с инструкциями системы компоновки данных.
  • Описание нескольких наборов данных.
  • Описание доступных полей.
  • Описание связей между несколькими наборами данных.
  • Описание параметров получения данных.
  • Описание макетов полей и группировок и др.
Закладки для настройки схемы компоновки данных
Закладки для настройки схемы компоновки данных

Из-за разнообразия и сложности настройки «Схемы компоновки данных» в систему 1С:Предприятие включен специальный «Конструктор схемы компоновки данных», который представлен объектом встроенного языка КонструкторСхемыКомпоновкиДанных. Результатом работы «Конструктора схемы компоновки данных» является объект конфигурации «Макет», также полученную схему компоновки данных, конструктор позволяет сохранить в файл XML.

Сохранение схемы в файл XML
Сохранение схемы в файл XML

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

Схема компоновки данных представления в виде XML
Схема компоновки данных представления в виде XML

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

  • Отбор.
  • Упорядочивание.
  • Условное оформление.
  • Структуру отчета (составные части будущего отчета).
  • Параметры получения данных.
  • Параметры вывода данных и т.д.

Закладка настройки компоновки данных

Закладка настройки компоновки данных
Закладка настройки компоновки данных

Макет компоновки данных ‑ представляет собой уже готовое описание того, как должен быть сформирован отчет. В нем соединяется «Схема компоновки» и «Настройки компоновки».
Фактически представляет собой результат применения конкретных настроек к
схеме компоновки и является готовым заданием процессору компоновки на
формирование отчета нужной структуры с учетом конкретных настроек. Макет
компоновки уже содержит в себе описание макетов областей, тексты
исполняемых запросов, расположение группировок и т. д.

Готовый «Макет компоновки данных»
Готовый «Макет компоновки данных»

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

Элемент результата компоновки данных
Элемент результата компоновки данных

Процесс компоновки данных состоит из нескольких этапов, которые представлены на рисунке

Этапы процесса компоновки данных
Этапы процесса компоновки данных

Создание схемы компоновки данных может быть выполнено:

  • Визуально, при помощи «Конструктора схемы компоновки данных».
  • Визуально, при помощи любого редактора, позволяющего редактировать текст XML.
  • Программно, при помощи объектов встроенного языка системы 1С:Предприятие.

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

-9

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

-10

Исполнение компоновки данных ‑ это процесс получения, агрегации и оформления данных.

-11

Вывод результата компоновки данных ‑ полученный
результат компоновки может быть выведен в документ, который будет
показан пользователю. Отчет может быть выведен в различных форматах.

-12

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

Схема системы компоновки данных
Схема системы компоновки данных

Конструктор схемы компоновки данных ‑ может быть использован для создания схемы компоновки данных

Конструктор схемы компоновки данных
Конструктор схемы компоновки данных

Компоновщик настроек компоновки данных ‑ может быть использован для редактирования настроек системы компоновки данных.

Компоновщик настроек компоновки данных
Компоновщик настроек компоновки данных

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

-16

Процессор компоновки данных ‑ осуществляет исполнение компоновки данных.

В метод Инициализировать() процессора компоновки данных обязательно нужно передать МакетКомпоновкиДанных.

Дополнительно можно указать:

  • ВнешниеНаборыДанных ‑ это структура, у которой в качестве ключа содержится имя внешнего набора данных, а в качестве значения ‑ набор данных.
  • ДанныеРасшифровки ‑ объект, в который будет помещаться информация о расшифровке.
  • ВозможностьИспользованияВнешнихФункций ‑ признак, можно ли в выражениях использовать функции общих модулей конфигурации.
-17
-18

Процессор вывода результата компоновки данных в табличный документ ‑ выводит элементы результата компоновки данных в табличный документ.

-19

Процессор вывода результата компоновки данных в коллекцию значений – выводит элементы результата компоновки данных в таблицу или дерево значений.

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

Без программного вмешательства в процесс формирования отчета, результат на форме выводится в элемент «Поле табличного документа».

Программное формирование отчета

Все этапы от создания схемы компоновки данных, до вывода результата
можно реализовать программно, для этого используется стандартная
процедура
ПриКомпоновкеРезультата().

Ниже приведен код для вывода готовой схемы компоновки данных.

-20

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

Компоновщик настроек содержит:

  • Настройки – настройки варианта отчета сделанные в конфигураторе, с внесенными изменениями в режиме 1С:Предприятие.
Настройки варианта отчета
Настройки варианта отчета
  • Пользовательские настройки – настройки сделанные в режиме 1С:Предприятие.
Пользовательские настройки
Пользовательские настройки
  • Фиксированные настройки – настройки, описанные на встроенном языке, которые влияют на все варианты отчетов.
-23

Из компоновщика настроек методом ПолучитьНастройки() получают готовые настройки компоновки данных. К готовой настройке применяются основные «Настройки», «Пользовательские настройки».  «Фиксированные настройки».

При пересечении основных «Настроек» с «Пользовательскими настройками», приоритет имеют «Пользовательские настройки».

Приоритет настроек
Приоритет настроек

При наличии пересечения отбора и параметров «Фиксированных настроек» с отбором и параметрами настроек генерируется исключение.

Результат пересечения фиксированных настроек с другими настройками
Результат пересечения фиксированных настроек с другими настройками

Ваганов Сергей, эксперт в области разработки прикладных решений на платформе 1С:Предприятие, преподаватель-методист CORS Academy и автор курса «Разработчик 1С с нуля до профессионала».

-26

Подписывайтесь:

CORS Клуб – сообщество и образовательная среда для специалистов из IT-сферы https://cors.su/klub/

АБП -Сообщество специалистов по автоматизации бизнес-процессов и по использованию ИТ технологий в бизнесе https://t.me/analitiki_1c

Канал руководителей IT компаний и подразделений, CIO, СDO, CDTO https://t.me/cio_channel

CIO. Сообщество IT руководителей https://vk.com/cio_club

-27