Система компоновки данных представляет собой совокупность элементов,
каждый из которых соответствует определенному этапу выполнения отчета.
Таким образом, весь процесс выполнения отчета в системе компоновки
данных сводится к последовательному переходу от одного элемента к
другому, доходя в итоге до готового отчета.
Каждый элемент системы компоновки данных имеет собственное
декларативное описание, возможность программного доступа и возможность
сериализации в/из XML. Такой подход позволяет гибко управлять различными
этапами выполнения отчета.
На схеме представлена взаимосвязь основных элементов «Системы компоновки данных».
Одним из основных элементов «Системы компоновки данных» является Схема компоновки данных,
которая описывает источник данных и правила управления компоновкой
данных. Представляет собой базу, на основе которой могут быть
сформированы всевозможные отчеты.
Схема компоновки данных может содержать:
- Текст запроса с инструкциями системы компоновки данных.
- Описание нескольких наборов данных.
- Описание доступных полей.
- Описание связей между несколькими наборами данных.
- Описание параметров получения данных.
- Описание макетов полей и группировок и др.
Из-за разнообразия и сложности настройки «Схемы компоновки данных» в систему 1С:Предприятие включен специальный «Конструктор схемы компоновки данных», который представлен объектом встроенного языка КонструкторСхемыКомпоновкиДанных. Результатом работы «Конструктора схемы компоновки данных» является объект конфигурации «Макет», также полученную схему компоновки данных, конструктор позволяет сохранить в файл XML.
Схема компоновки данных представляется объектом встроенного языка системы 1С:Предприятие СхемаКомпоновкиДанных
и состоит из множества других вложенных объектов. Схема компоновки
данных имеет представление в виде XML; таким образом, может быть создана
любыми средствами, позволяющими генерировать XML, равно как и
использована любыми средствами, которые могут читать XML.
Настройки компоновки данных ‑ описывают
все, что может настроить разработчик или пользователь в некоторой
установленной схеме компоновки данных. Могут содержать:
- Отбор.
- Упорядочивание.
- Условное оформление.
- Структуру отчета (составные части будущего отчета).
- Параметры получения данных.
- Параметры вывода данных и т.д.
Закладка настройки компоновки данных
Макет компоновки данных ‑ представляет собой уже готовое описание того, как должен быть сформирован отчет. В нем соединяется «Схема компоновки» и «Настройки компоновки».
Фактически представляет собой результат применения конкретных настроек к
схеме компоновки и является готовым заданием процессору компоновки на
формирование отчета нужной структуры с учетом конкретных настроек. Макет
компоновки уже содержит в себе описание макетов областей, тексты
исполняемых запросов, расположение группировок и т. д.
Элемент результата компоновки данных ‑
результат компоновки данных представляется набором элементов результата
компоновки данных. Как самостоятельная логическая сущность результат
компоновки данных не существует, существуют только его элементы.
Элементы результата компоновки данных можно вывести в табличный документ
для представления их конечному пользователю или в другие виды
документов. Вывод результата системы компоновки данных производится
путем вывода последовательно получаемых элементов результата системы
компоновки. Вывод происходит в табличный документ или в другие форматы
представления.
Процесс компоновки данных состоит из нескольких этапов, которые представлены на рисунке
Создание схемы компоновки данных может быть выполнено:
- Визуально, при помощи «Конструктора схемы компоновки данных».
- Визуально, при помощи любого редактора, позволяющего редактировать текст XML.
- Программно, при помощи объектов встроенного языка системы 1С:Предприятие.
Редактирование настроек компоновки данных ‑ для редактирования настроек компоновки в системе предусмотрен ряд объектов встроенного языка и расширений табличного поля.
Подготовка к исполнению ‑ процесс формирования
макета компоновки данных. В данном процессе формируются запросы,
необходимые для получения данных, указанных в настройках, формируются
макеты областей отчета.
Исполнение компоновки данных ‑ это процесс получения, агрегации и оформления данных.
Вывод результата компоновки данных ‑ полученный
результат компоновки может быть выведен в документ, который будет
показан пользователю. Отчет может быть выведен в различных форматах.
Схема системы компоновки данных в обобщенном виде представляется в
виде объектов, используемые на различных этапах создания отчета.
Конструктор схемы компоновки данных ‑ может быть использован для создания схемы компоновки данных
Компоновщик настроек компоновки данных ‑ может быть использован для редактирования настроек системы компоновки данных.
Компоновщик макета компоновки данных ‑ используется для подготовки к исполнению.
Процессор компоновки данных ‑ осуществляет исполнение компоновки данных.
В метод Инициализировать() процессора компоновки данных обязательно нужно передать МакетКомпоновкиДанных.
Дополнительно можно указать:
- ВнешниеНаборыДанных ‑ это структура, у которой в качестве ключа содержится имя внешнего набора данных, а в качестве значения ‑ набор данных.
- ДанныеРасшифровки ‑ объект, в который будет помещаться информация о расшифровке.
- ВозможностьИспользованияВнешнихФункций ‑ признак, можно ли в выражениях использовать функции общих модулей конфигурации.
Процессор вывода результата компоновки данных в табличный документ ‑ выводит элементы результата компоновки данных в табличный документ.
Процессор вывода результата компоновки данных в коллекцию значений – выводит элементы результата компоновки данных в таблицу или дерево значений.
При программном вмешательстве в процесс формирования отчета,
результат можно вывести на форме в элементы поддерживающие коллекции
значений, такие как «Поле табличного документа», «Таблица», «Поле диаграммы Ганта» и т.д.
Без программного вмешательства в процесс формирования отчета, результат на форме выводится в элемент «Поле табличного документа».
Программное формирование отчета
Все этапы от создания схемы компоновки данных, до вывода результата
можно реализовать программно, для этого используется стандартная
процедура ПриКомпоновкеРезультата().
Ниже приведен код для вывода готовой схемы компоновки данных.
При выводе готовой схемы компоновки данных программно в основном
возникают вопросы по подготовке настроек отборов, параметров, условных
оформлений, порядка и т.д. Для работы с настройками используется «КомпоновщикНастроек».
Компоновщик настроек содержит:
- Настройки – настройки варианта отчета сделанные в конфигураторе, с внесенными изменениями в режиме 1С:Предприятие.
- Пользовательские настройки – настройки сделанные в режиме 1С:Предприятие.
- Фиксированные настройки – настройки, описанные на встроенном языке, которые влияют на все варианты отчетов.
Из компоновщика настроек методом ПолучитьНастройки() получают готовые настройки компоновки данных. К готовой настройке применяются основные «Настройки», «Пользовательские настройки». «Фиксированные настройки».
При пересечении основных «Настроек» с «Пользовательскими настройками», приоритет имеют «Пользовательские настройки».
При наличии пересечения отбора и параметров «Фиксированных настроек» с отбором и параметрами настроек генерируется исключение.
Ваганов Сергей, эксперт в области разработки прикладных решений на платформе 1С:Предприятие, преподаватель-методист CORS Academy и автор курса «Разработчик 1С с нуля до профессионала».
Подписывайтесь:
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