Настройка конструктора отчетов, шаблон отчетов

This commit is contained in:
2026-07-08 11:14:28 +05:00
parent 9b87a5696b
commit e277960803
24 changed files with 226 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

@@ -0,0 +1,123 @@
# Настройка конструктора отчетов
## Назначение формы
Форма предназначена для создания и настройки шаблонов отчетов. Администратор заполняет форму, указывая источник данных, состав полей и условия фильтрации. На основе сохраненных настроек пользователи в дальнейшем формируют отчеты.
Рассмотрим процесс оформления формы **«Настройка конструктора отчетов»**.
Чтобы создать новую настройку необходимо в Меню в поисковой строке ввести _«Настройка конструктора отчетов»_. Откроется реестр карточек настроек конструктора отчетов.
![Реестр](./media/Screen-1.png)
Для создания нового документа необходимо в левом вверхнем углу панели инструментов нажать кнопку «Создать».
![Кнопка создать](./media/Screen-2.png)
### Документ
Форма _**«Настройка конструктора отчетов»**_ выглядит следующим образом:
![Пустая форма](./media/Screen-3.png)
Форма состоит из двух основных блоков:
* **Верхняя часть** - параметры шаблона отчета (номер, модуль, служебное наименование, типы документов).
* **Табличная часть** - настройка полей, отображаемых в отчете.
Обязательными полями для заполнения являются:
* **Номер** - уникальный номер конструктора, присваивается вручную.
* **Модуль** - поле задает наименование настройки, для дальнейшей идентификации шаблона в реестре.
* **Служ. наименование** - техническое наименование шаблона.
Табличная часть заполняется двумя способами: вручную или автоматически.
Для автоматического заполнения необходимо в панели инструментов нажать кнопку _**«Загрузить из Настройки документов»**_.
![Кнопка автодобавленя](./media/Screen-4.png)
При нажатии кнопки **«Загрузить из Настройки документов»** открывается окно со списком документов, для которых создана настройка документа. Список формируется на основе сохранённых настроек, доступных в системе. Можно выбрать как один, так и несколько форм документов, отметив их чек-боксами. После выбора необходимых форм документов нажать кнопку **«Добавить»**, чтобы поля из выбранной настройки подгрузились в табличную часть.
![Окно автодобавления](./media/Screen-5.png)
!!! Примечание
Поля из выбранных настроек подгружаются в табличную часть автоматически с учётом особенностей источника данных (например, для регистрационных карточек используется представление последней версии). Также автоматически добавляются типы документов и условия фильтрации.
Следовательно в таблице **«Типы документов»** появится строка с заполненными полями:
![Добавленная строка](./media/Screen-6.png)
Для добавления новой записи в таблицу необходимо нажать кнопку с зелёным плюсиком, после чего в таблице появляется пустая строка.
Таблица содержит следующие столбцы для заполнения:
1) **Название** - заполняется автоматически при загрузке из настройки документов. Если данные не подтягиваются или поле не входит в состав источника, наименование вводится вручную..
2) **Название формы** - содержит техническое наименование формы.
3) **Схема таблицы** - техническое имя таблицы, содержащие данные.
4) **Название таблицы** - техническое наименование таблицы.
5) **Главная таблица** - отметка, является ли данная таблица основной в отчёте.
6) **Наименование поля тип документа** - поле, по которому определяется тип документа.
7) **Условие** - задаётся фильтр для отбора данных, условие записывается в формате SQL (например, where {{alias}}."TypeName" = 'CancellationAct').
8) **Документ на конструкторе документов** - флаг, указывающий, что документ создаётся через конструктор документов.
9) **Загрузить столбцы** - при нажатии на кнопку, открывается окно с таблицей, которая может заполняться как вручную, так и автоматически с помощью кнопок. Окно содержит следующие элементы:
Кнопки модального окна _**«Загрузить столбцы»**_:
- **ID->Bind** - переносит значение из столбца Id в столбец Bind. Доступно для регистрационных карточек.
- **Загрузить атрибуты** - подгружает поля из конструктора документов. При нажатии открывается окно со списком доступных подтипов для выбранного типа документа. Можно выбрать нужные подтипы с помощью чек-боксов. Если ничего не выбирать то загрузятся все поля.
- **Загрузить из XML** - загружает данные из текущего документа (формы), подставляя поля, которые присутствуют в документе. Учитываются табличные и вьюшечные поля.
![Таблица с кнопками](./media/Screen-8.png)
Столбцы таблицы:
- **Наименование поля** - отображаемое название атрибута.
- **Тип контрола** - тип загружаемого поля (например: TextBox, Lookup).
- **Формат даты** - задаётся формат отображения (если поле является датой).
- **Показывать разрядность в числах** - чек-бокс, определяющий отображение разрядности в числовых значениях.
- **Итоговая сумма** - чек-бокс, указывающий выводить ли итоговую сумму по полю.
- **Количество знаков после запятой** - задаёт точность отображения числовых значений.
- **Id** - технический идентификатор поля.
- **Bind** - системное имя поля для привязки.
- **GridBind** - привязка к родительскому гриду, используется для сзяки с дочерними таблицами.
- **Таблица** - техническое имя таблицы, содержащей данные.
- **Схема** - схема базы данных, к которой относится таблица.
- **Поле зависимости** - поле, по которому осуществляется связь с основной таблицей.
- **Грид родитель** - указание на родительскую таблицу для иерархических данных.
- **Источник** - тип источника данных (например, статическое поле).
- **Подтип конструктора** - подтип конструктора документов, к которому относится поле.
- **Тип атрибута** - тип данных, хранящихся в поле (строка, число, дата и т.д). Заполняется автоматически.
![Заполненная таблица](./media/Screen-9.png)
10) **Обозначение таблицы в скрипте** - в столбце указывается техническое наименование временной таблицы (например, t30), используемой в SQL-скрипте для идентификации источника данных при формировании отчёта.
Заполненная форма выглядит таким образом:
![Заполненная карточка](./media/Screen-7,1.png)
#### Кнопка «Связать»
В таблице *«Типы документов»* присутствует кнопка **«Связать»**, предназначенная для объединения данных из разных таблиц в одном отчёте.
![Кнопка связки](./media/Screen-11.png)
При нажатии на кнопку открывается окно для настройки соединения между таблицами.
Заполнение выполняется вручную и позволяет указать, по каким полям и с помощью какого типа связки соединять основную таблицу с дополнительными, включая возможность использования функций и параметров.
В открывшейся таблице присутствуют следующие столбцы:
* **Схема 1** - указывается схема первой таблицы.
* **Таблица 1** - первая таблица для соединения.
* **Alias 1** - алиас первой таблицы (необязательно).
* **Поле 1** - поле первой таблицы для связки.
* **Схема 2** - схема второй таблицы.
* **Таблица 2 / Функция** - параметры, передаваемые в функцию (если используется функция).
* **Alias 2** - алиас второй таблицы (необзятельно).
* **Поле 2** - поле второй таблицы для связки.
* **Выводить поле из Таблицы 2** - если заполнено, будет выведено указанное поле из второй таблицы.
* **Вид связки** - тип соединения (например, join, left join, right join)
![Заполненная таблица связок](./media/Screen-12.png)
@@ -0,0 +1,103 @@
# Шаблон конструктора отчетов
**Шаблон конструктора отчетов** - это готовая конфигурация отчёта, созданная на основе формы .
*«Шаблон конструктора отчетов»* представляет собой готовую конфигурацию отчета, созданную на основе [_«Настройки конструктора отчетов»_](гиперссылка). Данный шаблон доступен администратору для формирования отчетов без необходимости повторной настройки источника данных, полей и условий фильтрации.
Чтобы создать новую настройку необходимо в Меню в поисковой строке ввести _«Шаблон конструктора отчетов»_. Откроется реестр карточек настроек конструктора отчетов.
![Реестр](./media%20shablon/Screen-1.png)
Для создания нового документа необходимо в левом вверхнем углу панели инструментов нажать кнопку «Создать».
![Создать](./media%20shablon/Screen-2.png)
## Документ
Форма _**«Шаблон конструктора отчетов»**_ выглядит следующим образом:
![Пустая форма](./media%20shablon/Screen-3.png)
В данной форме документа присутствуют следующие поля:
* **Модуль** - выпадающий список, содержащий наименования сохранённых карточек из формы _«Настройка конструктора отчетов»_. Определяет какой шаблон будет использован для формирования данных.
* **Номер** - уникальный номер шаблона, присваивается вручную.
* **Название** - вводится наименование документа.
* **Не используется** - при необходимости деактивировать устаревший шаблон с таким же типом документа: в форме старого шаблона установить флаг **«Не используется»** и сохранить изменения.
![Скрин полей](./media%20shablon/Screen-4.png)
### Табличная часть «Статические поля»
Табличная часть заполняется автоматически на основе выбранного модуля. При смене модуля содержимое таблицы очищается и заполняется данными из выбранной настройки конструктора отчетов. Добавление строк недоступно, при необходимости присутсвует возможность удаление строки. Все поля в строках доступны для редактирования.
!!! Примечание
Если необходимо изменить состав полей, нужно внести правки в карточку формы [**«Настройка конструктора отчетов»**](гиперссылка) и сохранить их. Затем в шаблоне конструктора отчетов на панели управления нажать кнопку «Обновить список полей» - таблица обновится в соответствии с актуальными настройками.
![Кнопка обновить](./media%20shablon/Screen-8.png)
Табличная часть состоит из следующих столбцов:
* **Вкл** - чек-бокс, определяющий, будет ли поле включено в отчёт.
* **Наименование** - редактируемое системное наименование атрибута.
* **Форма** - указывается техническое наименование формы.
* **Столбец** - системное имя поля (атрибута), которое будет выведено в соответствующей колонке отчёта. Значение выбирается из справочника доступных полей источника данных.
* **Грид** - основная таблица, в которой перечисляются все настраиваемые поля отчёта.
* **Грид родитель** - используется для группировки полей по иерархическому принципу.
* **Источник** - значение поля по умолчанию, недоступное для редактирования (заполняется автоматически).
* **Подтип** - определяет, к какому подтипу относится поле в иерархии данных. Заполняется автоматически на основе выбранного источника или родительского поля.
* **Тип атрибута** - определяет тип данных, которые хранятся в поле (строка, число, дата и т.п.). Указывает системе, как интерпретировать и обрабатывать значение поля. Заполняется автоматически.
* **Добавить в параметры** - чек-бокс, определяющий, будет ли поле добавлено в параметры для фильтрации.
* **Значение для периода параметра даты** - выпадающий список, в котором выбирается период, подставляемый в параметр даты по умолчанию.
* **Обязательный параметр** - чек-бокс, определяющий, является ли параметр обязательным для заполнения перед формированием отчёта. Если флаг установлен, пользователь не сможет сформировать отчёт, пока не укажет значение данного параметра.
* **Параметры (порядок)** - столбец содержит чек-бокс для включения параметра и автоматически нумеруемое поле. Номер присваивается последовательно в зависимости от порядка включения и определяет очерёдность отображения параметров при формировании отчёта.
* **Порядок** - аналогичный формат: чек-бокс и автоматическая нумерация. Определяет очерёдность сортировки.
* **Сортировка** - аналогичный формат: чек-бокс и автоматическая нумерация. Определяет направление сортировки данных в отчёте.
* **Группировка** - аналогичный формат: чек-бокс и автоматическая нумерация. Определяет уровень группировки данных в отчёте.
* **Группа** - текстовое поле, заполняемое вручную. Определяет смысловую группу, к которой относится поле в отчёте. Используется для логической группировки колонок при формировании отчёта.
* **Ширина столбца** - числовое значение, определяющее ширину колонки в отчёте, по умолчанию ширина стандартная.
* **Добавить ссылку на документ** - чек-бокс, определяющий, будет ли в отчёте отображаться ссылка на документ. Добавить ссылку можно только на поле «Код документа».
* **Условие** - столбец предназначен для настройки условий фильтрации. При активации открывается окно с таблицей, содержащей параметры для отбора данных. Заполняется вручную или автоматически.Условие может быть задано как с помощью конструктора, так и в виде текста в большом мемо-поле.
* **Запрос для лукапа** - SQL-запрос, который используется для наполнения выпадающего списка (лукапа) значениями при выборе параметра в отчёте.
![Табличная часть](./media%20shablon/Screen-5.png)
Так же на панели управления формы «Шаблон конструктора отчетов» присутствует кнопка **«Скопировать настройки»**. При нажатии на кнопку, текущая открытая карточка шаблона полностью дублируется в новой вкладке, создавая полную копию документа.
![Кнопка копирования](./media%20shablon/Screen-9.png)
<!--
#### Табличная часть «Динамические поля»
Табличная часть содержит перечень полей, автоматически загружаемых из источника данных. Настройка колонок аналогична статическим полям. Колонки таблицы:
* **Вкл** - чек-бокс включения поля в отчёт.
* **Наименование** - системное наименование атрибута.
* **Форма** - техническое наименование формы.
* **Столбец** - системное имя поля.
* **Порядок** - чек-бокс и автоматическая нумерация для определения очерёдности сортировки.
* **Сортировка** - аналогичный формат, направление сортировки.
* **Группировка** - аналогичный формат, уровень группировки.
* **Условие** - при активации открывается окно с таблицей для настройки фильтров.
Заполненная форма **Шаблона конструктора отчетов** выглядит следующим образом:
![Полная форма](./media%20shablon/Screen-7.png)
### Вкладка «Запрос»
На вкладке указывается SQL-запрос, определяющий, какие данные и из каких таблиц будут использованы при формировании отчёта. Запрос выполняется в момент генерации отчёта с учётом переданных параметров фильтрации.
В запросе можно обращаться к таблицам базы данных, указанным в настройках схемы, и использовать специальные метки-заполнители для подстановки значений параметров отчёта. Например, для фильтрации по периоду или контрагенту в запросе используются переменные, которые подставляются автоматически при формировании отчёта.
Структура запроса может включать объединение нескольких таблиц, агрегатные функции и сортировку. Для проверки корректности запроса рекомендуется выполнить его в среде разработки перед сохранением настройки.
После сохранения запроса он становится частью шаблона отчёта и используется при каждом формировании отчёта пользователями.
![Вкладка запрос](./media%20shablon/Screen-6.png)
-->