Skip to main content

Правила отчетов

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

Базовый сценарий: создание, обновление и экспорт отчета​

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

1. Создание отчета каждые сутки

  • Триггер: источник Периодическая задача, периодичность Бесконечно, Дата начала правила — любая дата с нужным временем создания, например 00:00:00.
  • Условие: проверка Время, Совершать действие каждые — 1 День.
  • Действие: тип Создать.
    • Сдвиг относительно даты срабатывания правила — 0.
    • Продолжительность отчета по умолчанию — 1 День.

Каждые сутки в 00:00 ТехноДок формирует и сохраняет отчет за начавшиеся сутки.

Правило «Создать»: триггер, условие и действие

Правило «Создать»: триггер, условие и действие

2. Обновление данных в течение суток

  • Триггер: источник Периодическая задача.
  • Условие: проверка Время, периодичность Повторять в течении периода, Продолжительность — 1 День, Совершать действие каждые — 1 Час.
  • Действие: тип Обновить — выберите, какие данные сохранять при пересчете.

Правило копируется в каждый созданный отчет и пересчитывает его каждый час до конца периода. Так в отчет попадают значения, которые источники отдают с задержкой.

Правило «Обновить»: периодичность «Повторять в течении периода» и настройки пересчета

Правило «Обновить»: периодичность «Повторять в течении периода» и настройки пересчета

3. Экспорт в файл после окончания периода

  • Триггер: источник Периодическая задача.
  • Условие: проверка Время, периодичность Однократно, Совершить действие через — 1 День.
  • Действие: тип Сохранить в файл.
    • Тип файла и Путь до директории — куда и в каком формате сохранять.

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

Правило «Сохранить в файл»: периодичность «Однокра�тно» и параметры экспорта

Правило «Сохранить в файл»: периодичность «Однократно» и параметры экспорта

Примечание

Периодичность Однократно у правил 2 и 3 срабатывает один раз в каждом отчете, а не один раз для всего шаблона, как у Создать и Удалить. У каждой копии правила свое время начала, поэтому действие повторяется при каждом новом отчете. Подробнее — Как работает правило.

Как работает правило​

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

Правила уровня шаблона. Действия Создать и Удалить хранятся только в шаблоне и не копируются в отчеты. Им доступен единственный триггер — Периодическая задача.

Такое правило действует сразу на все отчеты шаблона. Создать формирует новый отчет по расписанию. Удалить за один проход убирает из базы все отчеты шаблона с датой создания старше заданного времени хранения — созданные правилом, вручную кнопкой Сформировать или переформированием.

Правила уровня отчета. Остальные действия — Обновить, Отправить по почте, Сохранить в файл, Заблокировать, Напечатать — копируются в отчет при его создании или сохранении. Дальше копия живет отдельно от шаблона: у нее свое время начала, равное дате начала этого отчета, и свое состояние срабатывания. У шаблона с десятками отчетов это десятки независимых копий; состояние каждой видно на вкладке Правила отчета в окне Информация отчета (см. Если правило не сработало).

Такому правилу доступен любой триггер, и от триггера зависит поведение:

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

Правила работают только с отчетами, сохраненными в базе ТехноДок. Отчет, сформированный с включенной опцией Предпросмотр, не сохраняется, и правила его не касаются — см. Отчеты → Создание отчета. Отчеты по правилу Создать сохраняются всегда.

Триггеры​

Поля каждого триггера — в Шаблоны отчетов → Условие.

  • Периодическая задача → Время — действие по расписанию: создание отчета, регулярная рассылка, пересчет.
  • Периодическая задача → Параметр — действие по значению параметра шаблона. Письмо уходит, только когда параметр вышел за порог, а не при каждом формировании отчета.
  • Событие отчета → Своего отчета — реакция на изменение текущего отчета: Создан, Сохранен, Обновлен, Изменен вручную, Подписан, Подписан полностью. Так письмо уходит сразу после сохранения, без ожидания расписания.
  • Событие отчета → Другого отчета — реакция на изменение отчета по другому шаблону. Так сводный отчет пересчитывается сразу после обновления исходного — см. Пересчет зависимого отчета по событию другого отчета.

Действия​

Настройки каждого действия — в Шаблоны отчетов → Действие.

Создать​

Формирует и сохраняет новый отчет — так раздел Просмотр наполняется без участия пользователя. Работает только по расписанию (Периодическая задача, условие Время) и только на уровне шаблона.

Предупреждение

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

Пример настройки — Отчет за предыдущие сутки в 7:00 текущих суток.

Обновить​

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

  • источник отдает значения с задержкой;
  • отчет обновляется, пока не закончился его период — условие Время с небольшим интервалом;
  • к созданным отчетам нужно применить новую версию шаблона — настройка На основе последней версии шаблона;
  • отчет берет данные из другого отчета и пересчитывается вместе с ним.

Пересчет зависимого отчета по событию другого отчета​

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

Настройте в шаблоне зависимого отчета:

  1. В блоке Триггер выберите источник Событие отчета.
  2. В блоке Условие выберите событие Другого отчета и задайте:
    • Отчет — шаблон-источник. Текущий шаблон в списке недоступен: для собственных событий есть Своего отчета.
    • Тип изменения отчета — событие отчета-источника: Создан, Сохранен, Обновлен, Изменен вручную, Подписан или Подписан полностью.
    • Дата начала отсчета — точность сравнения дат начала зависимого отчета и отчета-источника: Дата формирования отчета, День отчета, Месяц отчета или Год отчета.
    • Сдвиг от начала отсчета — разница между датами начала. Для отчетов за одни и те же сутки — 0.
    • Продолжительность отчета по умолчанию — ожидаемая длительность отчета-источника. Поле есть только у отчетов за период. Если фактическая длительность отличается, правило не сработает.
  3. В блоке Действие выберите тип Обновить и настройте параметры пересчета.
  4. Сохраните шаблон.

После события в отчете-источнике ТехноДок ищет отчет зависимого шаблона с подходящей датой начала — с учетом сдвига и выбранной точности — и пересчитывает его.

Предупреждение

Правило пересчитывает существующий отчет, но не создает его. Если подходящего отчета еще нет, пересчет не выполнится: сформируйте отчет отдельным правилом Создать или вручную.

Отправить по почте​

Отправляет сохраненный отчет вложением. Нужен настроенный почтовый клиент — см. Системные настройки → Почтовый клиент.

Отправка сразу после создания отчета​

Письмо уходит без ожидания расписания:

  1. Откройте шаблон отчета и перейдите на вкладку Правила.
  2. Убедитесь, что в шаблоне есть включенное правило Создать с периодичностью, отличной от Однократно.
  3. Добавьте новое правило кнопкой Добавить.
  4. В блоке Триггер выберите источник Событие отчета.
  5. В блоке Условие выберите событие Своего отчета и тип изменения Сохранен.
  6. В блоке Действие выберите тип Отправить по почте и заполните адресатов, тему и остальные настройки.
  7. Сохраните шаблон.

Письмо уйдет при следующем сохранении отчета — автоматическом или ручном.

Отправка по расписанию отдельно от момента создания​

Письмо уходит через заданное время после формирования отчета — например, чтобы данные успели проверить:

  1. В блоке Триггер выберите источник Периодическая задача.
  2. В блоке Условие выберите проверку Время и задайте интервал в поле Совершать действие каждые.
  3. В блоке Действие выберите тип Отправить по почте и заполните настройки.
Примечание

Интервал отсчитывается от даты начала каждого отчета. Чем он меньше по сравнению с длительностью отчета, тем раньше уйдет первое письмо.

Разовая отправка без правил​

Нажмите Отправить во вспомогательном меню на форме формирования отчета — см. Отчеты → Экспорт без создания. Отчет формируется, сразу уходит по почте и не сохраняется в базе.

Если письмо не пришло — см. Если правило не сработало.

Сохранить в файл​

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

Заблокировать​

Закрывает ячейки отчета от ручной правки, пока его не разблокируют вручную. Так отчет фиксируют как окончательный после времени на проверку — например, через сутки после создания, чтобы исключить изменения задним числом.

Напечатать​

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

Удалить​

Ограничивает рост базы данных: без этого правила отчеты по расписанию накапливаются бессрочно. Действует на весь шаблон сразу — см. Как работает правило.

Примечание

Отбор идет по дате создания отчета, а не по датам его периода, и не меняется при переформировании. Отчет за прошлый месяц, созданный сегодня, начнет храниться от сегодняшней даты.

Пример: отчет за предыдущие сутки в 7:00 текущих суток​

Задача: каждый день в 7:00 формировать отчет за предыдущие календарные сутки — с 0:00 до 0:00 — и сразу отправлять по почте. Понадобятся два правила.

Правило Создать

  1. В блоке Триггер выберите источник Периодическая задача, периодичность Бесконечно и укажите в поле Дата начала правила любую дату с временем 07:00:00.
  2. В блоке Условие выберите проверку Время и задайте в поле Совершать действие каждые значение 1 День.
  3. В блоке Действие выберите тип Создать и задайте:
    • Сдвиг относительно даты срабатывания правила — -31 Час.
    • Продолжительность отчета по умолчанию — 1 День.

Правило срабатывает в 7:00. Сдвиг на 31 час назад — сутки и семь часов — переносит начало отчета на 0:00 предыдущих суток, а продолжительность в сутки закрывает интервал в 0:00 текущих. Отчет охватывает ровно предыдущие календарные сутки.

Примечание

Поле сдвига принимает одно число и одну единицу измерения, ввести «1 сутки 7 часов» нельзя. Если сдвиг не кратен суткам, переведите его в часы, как в этом примере.

Правило «Создать»: дата начала правила в 07:00:00 и сдвиг -31 Час

Правило «Создать»: дата начала правила в 07:00:00 и сдвиг -31 Час

Правило Отправить по почте настраивается как в разделе Отправка сразу после создания отчета: триггер Событие отчета, событие Своего отчета, тип изменения Сохранен. Оно сработает сразу после того, как правило Создать сохранит отчет, то есть тоже в 7:00.

Правило «Отправить по почте»: триггер «Событие отчета», событие «Своего отчета», тип изменения «Сохранен»

Правило «Отправить по почте»: триггер «Событие отчета», событие «Своего отчета», тип изменения «Сохранен»

Если правило не сработало​

Проверяйте по порядку: если отчета нет или в нем нет нужного правила, до действия дело не дойдет.

  1. Отчет создан и сохранен? Откройте вкладку Просмотр. Если отчета нет, проверьте правило Создать: оно должно быть включено, а периодичность — не Однократно.
  2. Нужное правило есть в отчете и в каком оно статусе? Откройте отчет и нажмите Информация в панели инструментов — кнопка доступна только для сохраненных отчетов. На вкладке Правила отчета найдите правило по полю Тип действия и проверьте:
    • Время следующего срабатывания — если оно в будущем, действие еще не должно было выполниться. Сверьте дату с ожиданиями, особенно для триггера Время (см. Как работает правило).
    • Статус последнего срабатывания — значение Не выполнено означает, что правило сработало, а действие завершилось ошибкой. Для Отправить по почте переходите к пункту 3, для остальных действий — к пункту 4.
  3. Письмо дошло до очереди отправки? Откройте Журнал писем и найдите письмо по получателю или теме. Статус Ожидание показывает счетчик выполненных попыток, статус Не отправлено — что попытки закончились.
    Предупреждение

    Письмо в статусе Не отправлено система повторно не отправляет — ни автоматически, ни после исправления настроек почты. Отправьте отчет вручную (см. Разовая отправка без правил) или дождитесь следующего срабатывания правила.

    Проверьте настройки SMTP в Системные настройки → Почтовый клиент кнопкой Проверить соединение. Обратите внимание на связку порта и опции Использовать SSL: порт 587 обычно работает без SSL с последующим включением шифрования (STARTTLS), поэтому включенная опция Использовать SSL на этом порту приведет к ошибке соединения.
  4. Есть ошибка выполнения действия? Для Обновить, Сохранить в файл, Заблокировать, Напечатать и Удалить подробности ищите в Журнале событий по тегу Error за нужный период.
  5. Периодические задачи работают без ошибок? На странице Диагностика → Сервер в блоке Периодические задачи проверьте статус заданий Создание отчетов и Обработка правил отчетов, а для Отправить по почте — еще и Отправка почты. Задание с ошибкой отмечено предупреждающей иконкой.