Разработка СТАРКОВ Групп: Конструктор отчётов в Directum RX

В Directum RX активно развиваются инструменты No-Code: почти с каждым обновлением добавляются новые возможности. Но такой функционал как создание отчетов до сих пор доступен только через low-code. То есть для создания любых отчетов надо привлекать разработчика, либо собирать их вручную через экспорт списков. Эту проблему и должен решить конструктор отчетов.

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

Пример использования конструктора

Построим отчет по просроченным заданиям:

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

Если кратко описать последовательность действий, то получается следующая цепочка:

Конструктор (цепочка)

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

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

Рис. Пример выбора нескольких типов

Рис. Пример вывода свойств абстрактной задачи

В отчет можно выводить не ограниченные цепочки ссылочных свойств.

Например:

Документ Автор Подразделение Руководитель Персона  Фамилия и инициалы

В отчете можно:

  • задавать для столбцов наименования, которые будут отображаться в Excel.
  • менять столбцы местами.

В фильтрации можно сравнивать значения как с константой, так и с другой цепочкой свойств.

Рис. Сравнение с константой

Рис. Сравнение с свойством

Для выбора доступны следующие типы свойств и условий:

Тип свойства Условие проверки Описание
Логическое свойство Да
Нет
Дата Равно
Не равно
Больше
Меньше
Больше или равно
Меньше или равно
Больше, чем дата формирования Сравнивает с датой формирования отчета
Меньше, чем дата формирования
Пусто
Не пусто
Числовые свойства Равно
Не равно
Больше
Меньше
Больше или равно
Меньше или равно
Пусто
Не пусто
Текстовые свойства Равно
Не равно
Содержит Текст должен содержать введенное значение
Пусто
Не пусто
Перечисление Равно
Не равно
Пусто
Не пусто
Свойство ссылка на объект Равно
Не равно
Пусто
Не пусто
Сущность вложена в задачу Указанная в свойстве сущность вложена в выбранную задачу
Задача содержит документ Указанная в свойстве задача/задание содержит в вложениях выбранный документ
Задание содержит документ
Входит в Указанный в свойстве пользователь входит в роль/подразделение/нашу организацию

Условия можно объединять через И/ИЛИ. Объединение работает точно также как и в выражениях для условий в Directum RX.

Рис. Пример объединения нескольких условий

Объединять типы можно по вложению и по свойству.

Условие объединения “В вложениях” означает, что сущность должна быть вложена в задачу или задание.

Рис. Пример объединения задачи с документом по вложению

Условие объединения “Равно” означает то, что свойство первой сущности должно быть равно свойству второй сущности.

Рис. Пример объединения задания с задачей по свойству

Это можно сделать с обложки модуля или через карточку конструктора.

Рис. Запуск на обложке модуля

Рис. Действие в карточке конструктора

В результате будет создан Excel-файл с автоматически построенными фильтрами по столбцам.

Возможности администрирования

У администраторов и роли “Ответственные за настройку отчетов” есть возможность настройки через соответствующий справочник на обложке модуля.

Рис. Открываем настроечный справочник

Рис. Настроечный справочник

Что доступно для настройки:

  • Максимальное количество строчек в отчете. Это число записей, которое будет выводится в сформированных пользователями отчетах. Выгрузка больших объемов данных может снизить производительность, поэтому не рекомендуется ставить значение более 500 000.
  • Для ранее импортированных записей – настройка действий при импорте ранее перенесенных конструкторов. Примеры действий:

Пропускать – пропуск ранее перенесенных конструкторов;

Обновить – полное обновление значения в конструкторе;

Создать новое – создаем новые записи без изменений в ранее импортированных.

  • Создавать отчет в асинхронном режиме – При проставленном чекбоксе отчет формируется в асинхронном режиме. По завершению для инициатора сформируется уведомление с вложенным отчетом. Иначе отчет будет формироваться в реальном времени и при завершении формирования автоматически скачается excel-файл.

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

Дополнительные функции

При настройке конструктора пользователи могут указать периодичность формирования отчета. Для этого в карточке конструктора есть панель “Периодические отчеты”, которую можно свернуть.

Рис. Панель “Периодические отчеты”

Описание полей:

  • Период – варианты значений: День, Неделя, Месяц, Год;
  • Периодичность – число, через которое будет повторятся формирование отчета;

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

  • Начало повторений – дата начала формирования отчета;
  • Окончание повторений – дата, после которой перестанет формироваться отчет;
  • Отправить – кому будет отправлен отчет;
  • Тип задания – варианты значений: Задание, Уведомление.

Фоновый процесс “Создание отчетов по периодам” позволяет формировать периодические отчеты.

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

Рис. Группа Импорт/Экспорт

Рис. Экспорт из карточки

Рис. Экспорт из списка

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

Рис. Поле для выбора json-файла

Состав решения

    Модуль Конструктор отчетов, настраивается в no-code;

    Справочники:

    • Конструктор – основные функции настройки отчета;
    • Настроечный справочник – чтобы настроить формирование отчетов;
    • Тип сущности – системный справочник с основной информацией по типам сущностей.

    Сторонний компонент – нужен для визуальной настройки конструктора.

    Фоновые процессы:

    • Создание отчетов по периодам – создает и отправляет периодические отчеты по расписанию;

    Роли:

    • Ответственные за настройку отчетов – пользователи с полным доступом до возможностей настройки отчетов;
    • Пользователи с доступом к конструктору отчетов – те, кому доступен модуль «Конструктор отчетов» и его функционал.

Итоги и перспективы

Решение компании «СТАРКОВ Групп» полностью достигло поставленных целей:

  1. Решена задача создания no-code инструмента для построения отчетов: консультанты и аналитики могут сами формировать отчеты средней сложности без разработчиков. Это сокращает время получения необходимых данных с дней до часов.
  2. Достигнута цель обеспечения гибкости при работе со сложными структурами данных: действует поддержка неограниченных цепочек ссылочных свойств, объединения нескольких типов сущностей и гибкой системы фильтрации. Это позволяет формировать отчеты, ранее доступные только через low-code.
  3. Решена задача – снизить зависимость от разработки: смещение фокуса с написания SQL-запросов на визуальную настройку позволяет бизнес-пользователям быстро реагировать на изменение потребностей в аналитике без постановки задач разработчикам.

Планы дальнейшего развития:

  1. Расширить форматы вывода – построение интерактивных дашбордов и поддержка форматов Word и PDF.
  2. Учесть права доступа при формировании отчетов для безопасности данных.
  3. Добавить агрегатные функции (суммы, средние, min/max) и визуализировать данные в виде диаграмм в интерфейсе.

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

Благодарим за обращение! Специалист свяжется с Вами в ближайшее время.

Благодарим за заявку! Специалист свяжется с Вами в ближайшее время.