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

Запись роботом

Робот пишет в отчёт шагами категории „Оркестратор“. Каждая запись сама запоминает задание, его номер, процесс и версию, робота и элемент очереди, который задание обрабатывало, — по ним в панели видно, откуда взялась строка.

Шаги #

Шаг Что делает Результат
orch.reportAdd Одна запись: объект „ключ поля: значение“, режим insert или upsert Id записи
orch.reportAddMany Список записей до 5 000 за раз; всё или ничего — при ошибке в любой строке не пишется ни одна Добавлено, обновлено, id записей
orch.reportUpdate Меняет поля записи, найденной по id или по ключу записи Изменена (да/нет), запись
orch.reportFind Ищет записи: равно, не меньше, не больше, сортировка, до 1 000 записей Записи, найдено

Свойство „Отчёт“ — ключ отчёта из панели (латиница, например payments), а не название. Ключ указан на странице отчёта.

Пример: платежи из выписки #

Процесс „Загрузка выписок“ читает выписку банка в Excel и пишет каждую строку в отчёт „Платежи“ (ключ payments, поля number, amount, paid_on, status, ключ записи — number):

  1. excel.readRange читает таблицу выписки с заголовками в переменную rows.
  2. orch.reportAddMany: „Отчёт“ — payments, „Записи“ — rows.map(r => ({ number: r['Номер'], amount: r['Сумма'], paid_on: r['Дата'], status: 'Новый' })), „Режим“ — upsert.
  3. Позже процесс-сверщик отмечает оплату: orch.reportUpdate с „Ключ записи“ { number: 'П-0001' } и „Новые значения“ { status: 'Оплачен' }.

В режиме upsert повторный запуск того же процесса по той же выписке не создаёт дублей: строки с тем же номером обновляются. Готовый образец — samples/orchestrator/08_report_writer в репозитории (отчёт report.json и процесс main.flow.json).

Ошибки #

Код Что значит Повторяется ли
ReportValidation Значение не подходит к полю (не число, нет в списке, пустое обязательное) — текст называет поле и строку Нет: это бизнес-ошибка, исправьте данные
ReportNotFound Нет отчёта с таким ключом в области процесса Нет
AccessDenied Отчёт другой рабочей области Нет
ReportsUnavailable База отчётов недоступна Да: системная ошибка, сработают автоповторы задания

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

Отладка из студии #

Запуск из студии с шагами отчётов пишет настоящие записи в отчёт оркестратора, к которому подключена студия (как и шаги очередей). Для отладки используйте тестовый оркестратор или отдельную тестовую область, а лишние записи удалите на вкладке «Записи».