Low-code дизайнер > Отчет / Пример настройки отчёта

Пример настройки отчёта

В качестве примера рассмотрим отчёт Реестр заказов. В сводной таблице отчёта отображается:

  • заказ;
  • компания-заказчик;
  • договор на поставку заказа;
  • общая сумма счетов по договору.

Такой отчёт строится из агрегированных данных, хранящихся в трёх разных приложениях: Заказы, Договоры, Счета.

Приложения заполняются данными по следующему принципу: при создании заказа указывается договор и клиент. После согласования договора в его карточке добавляется счёт. При этом по одному договору можно выставить несколько счетов.

report-use-case-1

Чтобы настроить отчёт таким образом, выполните следующие действия:

  1. Откройте страницу отчёта и перейдите в настройки источников.
  2. Нажмите кнопку + Источник данных и добавьте три приложения из разных разделов системы: Заказы, Договоры, Счета.

Первым добавляется основной источник, по которому формируется запрос, и начинается построение отчёта. Это определяется в зависимости от поставленной задачи и необходимого результата выборки данных в отчёте. В нашем примере основное приложение — это Заказы.

report-use-case-2

  1. Добавьте колонки таблицы, выбрав поля из источников. При этом измените заданный по умолчанию код каждой колонки, чтобы они не совпадали друг с другом. Это необходимо для экспорта данных из отчёта.
  • Заказы — поля Название и Контрагент;
  • Договоры — поле Название;
  • Счета — поле Сумма с опцией Агрегация > Сумма. С помощью опции агрегации в таблице будет отображаться не указанное в карточке каждого счёта значение, а сумма всех счетов, выставленных по одному договору.
  1. Свяжите источники между собой, чтобы отобразить в отчёте результат объединения данных этих приложений.

Для каждого источника необходимо создать хотя бы одну связь с другим приложением. В нашем примере для трёх источников достаточно добавить две связи следующим образом: Заказы-Договоры, Договоры-Счета.

Выбор способа связи зависит от особенностей контекста пары источников. В нашем примере контекст источников содержит следующие поля, по которым можно выполнить объединение данных:

  • заказ — свойства, ссылающиеся на элементы приложений Договоры и Компании;
  • договор — поле, ссылающееся на приложение Компании;
  • счёт — поле, ссылающееся на элемент приложения Договоры.

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

Связь источников по общему полю

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

При создании заказа и договора выбирается компания-заказчик. Это общее свойство будет являться объединяющим полем для связи источников в отчёте.

  1. Убедитесь, что на формах приложений Заказы и Договоры создано поле Компания с типом Приложение. Включите для него опцию поиска и сортировки в настройках формы каждого источника.
  2. На странице настроек источников отчёта нажмите кнопку Связать источники данных.
  3. Заполните данные в настройках связи:
  • укажите первый и второй источники — приложения Заказы и Договоры;
  • выберите поле для связи — Компания;
  • задайте условие объединения данных — Игнорировать все пустые. В таблицу попадут только те заказы, в которых указан договор и компания-заказчик.

report-use-case-3

Рассмотрим результат объединения данных при выборе других типов связи:

  • Игнорировать пустые слева — из первого приложения-источника отбираются записи с заполненным полем для связи. В примере в таблицу попадут только те заказы, в которых указана компания, а также все договоры;
  • Игнорировать пустые справа — из второго приложения-источника отбираются записи с заполненным полем для связи. В примере в таблицу попадут только те договоры, в которых указана компания, а также все заказы;
  • Полное — в таблицу попадут все записи из приложений Заказы и Договоры.
  1. Сохраните созданную связь.

Связь источников по полям «Идентификатор – Приложение»

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

У приложений нет общего поля для создания связи, но можно соединить их другим способом.

начало внимание

Если на форме источника А есть поле типа Приложение, ссылающееся на источник Б, связь можно настроить по этому полю и системному свойству Идентификатор источника Б.

конец внимание

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

При формировании отчёта соответствия между записями двух источников выявляются. Для элемента приложения А при помощи идентификатора будет найден указанный в его карточке элемент приложения Б. В таблице отчёта отобразятся связанные друг с другом записи.  

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

  1. Убедитесь, что на форме приложения Счета создано поле Договор с типом Приложение и для него включена опция поиска и сортировки. Для системного поля Идентификатор опция включена по умолчанию.
  2. На странице настроек источников отчёта нажмите кнопку Связать источники данных.
  3. Заполните данные в настройках связи:
  • укажите первый и второй источники — приложения Договоры и Счета;
  • выберите поля для связи. Для источника Договоры укажите поле Идентификатор, для приложения Счета — поле Договор;
  • задайте условие объединения данных — Игнорировать все пустые.

report-use-case-4

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

Страница Настройка источников с установленными параметрами будет выглядеть следующим образом:

report-use-case-5

  1. Сохраните настройки на странице. Результат объединения приложений Заказы, Договоры и Счета по двум условиям отобразится в таблице отчёта.

Поиск и сортировка записей в отчёте

На странице отчёта отображаются фильтры для поиска данных. Фильтр автоматически создаётся из свойства приложения-источника, добавленного как колонка таблицы. Для этого у свойства должна быть включена опция поиска и сортировки в настройках формы источника или для колонки задана агрегация данных.

Чтобы найти записи в отчёте, задайте значения параметров и нажмите Поиск, чтобы найти соответствующие записи.

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

report-use-case-6