Документация 0.4 Отчёты

Рассылки, проверки данных и отчёт → очередь

Сохранённые запросы и отчёты работают и без человека: приходят руководителю по расписанию, проверяют данные после каждого задания и превращают результат запроса в работу для роботов. Разделы — вкладки «Рассылки», «Проверки данных» и «В очередь» раздела «Отчёты».

Расписание у всех трёх одинаковое: «Запускать по расписанию» → «Как часто» («По рабочим дням», «Каждый день», «По дням недели», «Раз в месяц», «Каждый час» или «Своё (cron)»), «Время», «Часовой пояс», «Производственный календарь» и «В нерабочий день». Если сервер был выключен, пропущенный запуск выполняется один раз при следующей проверке.

Рассылки #

Пример: каждый рабочий день в 08:00 главный бухгалтер получает в Excel платежи за вчера.

  1. «Отчёты» → «Рассылки» → «Создать рассылку», «Название» — „Платежи за день“.
  2. «Источник»: «Сохранённый запрос» (например, „Неуспешные платежи за вчера“) и «Значения параметров» — from = yesterday, to = today; или «Отчёт с фильтром» — отчёт „Платежи“ и «Фильтр записей» в виде адреса страницы отчёта: createdFrom=yesterday&createdTo=today&f.status=Ошибка.
  3. «Формат»: «Excel (XLSX)» или «CSV».
  4. «Получатели»: «Пользователи области» (на их e-mail и, если отмечено, в привязанный Telegram), «Другие адреса e-mail», «Чаты Telegram (chat_id)», вебхук. «Текст сообщения» добавится к письму.
  5. Расписание: «По рабочим дням», 08:00, календарь „Производственный календарь КР 2026“.
  6. «Сохранить», затем «Отправить сейчас» — проверить, что письмо дошло.
Рассылки отчётов: „Платежи за день“ — что, когда, кому, последняя и следующая отправка
Рассылки отчётов: „Платежи за день“ — что, когда, кому, последняя и следующая отправка

Каналы — те же, что у оповещений: письмо с вложением, документ в Telegram, вебхук с JSON и файлом в base64. Файл больше 20 МБ не вкладывается — в сообщении ссылка на рассылку в панели.

«История» показывает каждую отправку: доставлено, доставлено не всем или не доставлено — по каждому адресу. Если хоть один получатель не получил файл, появляется оповещение „Рассылка отчёта не удалась“; следующая успешная рассылка закрывает его. «Скачать файл» в истории собирает файл заново из текущих данных.

Проверки качества данных #

Правило — сохранённый запрос, который не должен возвращать строк: „платёж без суммы“, „дубликаты номера за день“, „сумма за день отличается от выписки“. Нашлись строки — оповещение „Проверка качества данных“ с числом строк и первыми 20 строками.

  1. Сохраните запрос, например „Платёж без суммы“:
    SELECT number, _job_number AS job, _robot AS robot, _created_at
    FROM r_payments
    WHERE amount IS NULL OR amount = 0
    
  2. «Отчёты» → «Проверки данных» → «Создать правило»: «Название», «Сохранённый запрос», «Уровень оповещения» («информация», «предупреждение» или «критично»).
  3. Когда проверять: «После каждого задания процессов» — например, „Загрузка выписок“ (перед проверкой копия данных обновляется), и/или «Запускать по расписанию».
  4. «Сохранить»; «Проверить сейчас» — проверка без ожидания.
Проверки данных: правило „Платёж без суммы“, уровень и итог последней проверки
Проверки данных: правило „Платёж без суммы“, уровень и итог последней проверки

История проверок — время, «чисто», «есть строки» или «ошибка запроса», число строк, длительность, задание, после которого проверяли. Когда правило снова чистое, оповещение закрывается само; ошибка запроса записывается в историю и оповещение не трогает.

Отчёт → очередь #

Строки результата запроса становятся элементами очереди. Например, каждое утро повторно обработать все неуспешные платежи за вчера.

  1. «Отчёты» → «В очередь» → «Новая загрузка».
  2. «Сохранённый запрос» и «Значения параметров», «Очередь» — например, „Платежи“.
  3. «Колонка ссылки» — ссылка элемента (номер платежа). Строка со ссылкой, которая уже есть в очереди или повторяется в результате, пропускается как дубликат — всегда, чтобы повторная загрузка ничего не добавляла дважды.
  4. «Поля payload» — по строке поле = колонка (Номер = number, Сумма = amount); пусто — все колонки под своими именами.
  5. «Приоритет» и «Срок» — одинаковые, из колонки или «как у очереди»; срок можно задать «через N часов».
  6. «Предпросмотр» показывает, сколько строк будет добавлено, сколько дубликатов, и первые элементы.
  7. «Загрузить в очередь» — один раз; «Сохранить загрузку по расписанию» — например, по рабочим дням в 07:30.
Новая загрузка строк запроса „Платежи без суммы“: колонка ссылки, предпросмотр — сколько будет добавлено и первые элементы
Новая загрузка строк запроса „Платежи без суммы“: колонка ссылки, предпросмотр — сколько будет добавлено и первые элементы

За раз загружается до 10 000 строк. У элемента в очереди источник — „отчёт“ с именем запроса и временем загрузки. Нужны права на SQL-запросы и на элементы очередей области (разработчик или владелец).