Формирование отчетов по расписанию

Следующий проект

Вступление

В организациях есть отчеты, которые подразумевают периодическое формирование, хранение и предоставление по запросу.
Рассмотрим несколько ситуаций:
1. Руководитель подразделения ежедневно формирует отчет на текущий рабочий день по отсутствию сотрудников отдела для распределения работ и нагрузки.
2. Помощник каждый день предоставляет информацию руководителю организации по отсутствию заместителей по направлениям деятельности на рабочем месте (отпуск, командировка, больничный).
3. Делопроизводители еженедельно по понедельникам формируют отчет по поручениям, срок исполнения которых истекает на текущей рабочей неделе.
4. Делопроизводители в начале каждого месяца 2-го числа формируют отчет по исполнительской дисциплине за предыдущий месяц.

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

Задачи и цели

Задача состоит в реализации механизма генерации отчетов, который должен отвечать следующим требованиям:
1. Возможность заполнять и хранить параметры для отчета, которые пользователь обычно вводит через диалог;
2. Хранение параметров с типом данных DateTime (дата) как в статичном, так и в относительном виде;
3. Возможность задавать расписание для выполнения отчета;
4. Возможность выбора получателей, заинтересованных в получении отчета;
5. Доставка готового отчета согласно расписанию в качестве вложения в уведомлении.

Описание и возможности решения

Как точка входа, реализован модуль "Расписание отчетов"

Внешний вид модуля.

 

Предварительная настройка (администрирование)

Для использования отчета в работе необходима предварительная настройка его параметров. Она осуществляется путем создания записи в веб-клиенте администратором:

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


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


 

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

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

 

Настройка расписания (для пользователя)

При создании нового расписания открывается диалог выбора доступных отчетов. Список доступных отчетов редактируется в соответствующем справочнике пункта "Связанная информация" (было описано выше).


Диалог выбора отчета перед настройкой.


Внешний вид карточки настроек расписания.

Задать периодичность для формирования отчета можно в поле "Период". Указание периодичности осуществляется в относительно свободной форме. Если все элементы выражения успешно распознаются (по записям в справочнике с относительными датами), в этом случае результат вычислений выводится в информационном окне:

Заполнение периодичности через контрол формы.


Альтернативным способом ввода является диалог, доступный через действие "Задать периодичность", в котором выражение собирается путем выбора доступных записей справочника:


Заполнение периодичности через действие с диалогом.

При заполнении параметров отчета есть возможность указывать относительные выражения вместо статичных дат:

Пример заполненной коллекции параметров.


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


Пример заполнения параметра с типом "Дата" через действие с диалогом.


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

Заполнение параметра с типом сущности "Подразделение" через действие с диалогом.

На вкладке "Журнал" отображена история выполнения с возможностью открытия сформированных отчетов (есть ограничение на просмотр до 100 записей):

Внешний вид вкладки "Журнал".

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

 

Настройка относительных дат

Для реализации механизма хранения дат в относительных выражениях, был добавлен справочник "Относительные даты". Он изначально содержит список основных выражений:

Записи справочника "Относительные даты".

При необходимости, можно создать свою запись, которая будет использоваться в выражениях:



Пример пользовательских записей справочника "Относительная дата".

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

Результаты

Решение находится в процессе шлифовки функционала и на текущий момент позволяет:
1. Отправлять отчеты списку пользователей по расписанию с заданным интервалом;
2. Создавать относительные даты с использованием "конструктора" из выражений;
3. Добавлять сотрудников в новые роли для управления доступом к решению;
4. Редактировать список отчетов, доступных для запуска по расписанию.

Для оценки эффективности на текущий момент нет статистических данных, однако ожидается:
1. Некоторая оптимизация временных затрат на запуск и ожидание генерации отчета;
2. Возможность автоматической систематизации и хранения отчетов по периодам, облегчение поиска без необходимости повторной генерации.

Ограничения

1. Решение пока не достаточно гибко работает с отчетами, у которых в качестве источника данных среди параметров есть перечисления или коллекции;
2. Для использования отчета в решении необходима предварительная настройка его параметров (локализация). Она осуществляется путем создания записи в веб-клиенте администратором или с помощью инициализации.

Перспективы развития

1. Доработка пользовательского интерфейса, добавление инструкций;
2. Расширение вариантов доставки отчетов (электронная почта, сетевая папка);
3. Добавление выражений в относительные даты для вычислений с учетом рабочего времени и календаря;
4. Использование относительных дат в других решениях, где требуется гибкое указание времени начала/завершения операции (как пример, периодические поручения).

Команда проекта

Автор идеи и разработчик Жуков Роман Сергеевич

3
65
Авторизуйтесь, чтобы оценить материал.
Пока комментариев нет.
Авторизуйтесь, чтобы написать комментарий

У вас похожая задача?

Обсудите реализацию с экспертом Directum

Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле

Благодарим за интерес! Мы свяжемся с вами.

Directum Awards 2024
Какой проект лучше?
Авторизуйтесь, чтобы оценить материал.
Авторизуйтесь, чтобы оценить материал.
Directum Awards 2024
Спасибо за активность!
Ваш голос принят