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

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

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

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

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

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

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

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

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

Рис. Действие на обложке модуля

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

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

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

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

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

Рис. Сворачиваемая панель “Периодические отчеты”
Описание полей:
Например: в качестве периода установим Неделя, а в поле периодичность укажем 2. В таком случае отчет будет сформирован через 2 недели, с даты начала повторений, либо с даты последней генерации.
Формируются периодические отчеты при помощи фонового процесса “Создание отчетов по периодам”.
Для переноса конструкторов с одного стенда на другой используется группа Импорт/Экспорт на обложке модуля. Также экспортировать можно как конкретную запись в карточке конструктора, так и сразу множество записей в списке. В результате экспорта будет создан json файл с описанием всех значений конструктора.

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

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

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

Рис. Диалог для выбора json файла
Разработанное компанией "СТАРКОВ Групп" решение полностью достигло поставленных целей:
1. Задача создания no-code инструмента для построения отчетов решена: консультанты и аналитики получили возможность самостоятельно формировать отчеты средней сложности без привлечения разработчиков, что сокращает время получения необходимых данных с дней до часов.
2. Цель обеспечения гибкости при работе со сложными структурами данных достигнута: реализована поддержка неограниченных цепочек ссылочных свойств, объединения нескольких типов сущностей и гибкой системы фильтрации, что позволяет строить отчеты, ранее доступные только через low-code разработку.
3. Задача снижения зависимости от разработки решена: перенос фокуса с написания SQL-запросов на визуальную настройку позволяет бизнес-пользователям оперативно реагировать на меняющиеся потребности в аналитике без постановки задач в очередь разработки.
Планы по дальнейшему развитию:
1. Расширение форматов вывода - поддержка форматов Word и PDF, а также построение интерактивных дашбордов.
2. Учет прав доступа при формировании отчетов для обеспечения безопасности данных.
3. Добавление агрегатных функций (суммы, средние, min/max) и визуализация данных в виде диаграмм непосредственно в интерфейсе.
Текущая архитектура решения позволяет тиражировать его на любые отрасли, а заложенные механизмы импорта/экспорта настроек обеспечивают удобное тиражирование между контурами и на новые проекты.
Авторизуйтесь, чтобы написать комментарий
Обсудите реализацию с экспертом Directum