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. Периодические задачи работают без ошибок? На вкладке «Сервер» в блоке «Периодические задачи» проверьте статус заданий «Создание отчётов» и «Обработка правил отчётов», а для «Отправить по почте» — ещё и «Отправка почты». Задание с ошибкой отмечено предупреждающей иконкой.