Обучение Урок 10 из 12
Отчёт роботом
- Цель
- Настроить пользовательский отчёт без программиста и заполнять его из процесса — добавлять, обновлять по ключу и искать записи
- Время
- 25 минут
Файлы примеров
- 08_report_writer.flow.json — 6,5 КБ
- report.json — 752 Б
Что понадобится #
- Оркестратор с роботом и студия, подключённая к оркестратору, — как в уроке Публикация и запуск в оркестраторе. Создавать отчёты могут разработчики и владелец области.
- Файлы примеров:
08_report_writer.flow.json— процесс, который пишет платежи в отчёт;report.json— описание полей отчёта (по нему удобно сверяться; его же можно отправить в API оркестратора).
Отчёт — это таблица в базе отчётов оркестратора: роботы и операторы записывают в неё строки, а люди смотрят, фильтруют, выгружают в Excel и строят по ней SQL-запросы и графики.
Шаг 1. Создайте отчёт #
- В панели откройте «Отчёты» и нажмите «Создать отчёт».
- «Рабочая область» — область процесса, «Ключ» —
payments(по ключу отчёт находят действия робота; после создания он не меняется), «Название» —Платежи. - В «Поля» нажмите «Добавить поле» четыре раза и заполните:
| «Ключ поля» | «Подпись» | «Тип» | Проверки |
|---|---|---|---|
number |
Номер | «Текст» | «Обязательное», «Искать по полю», «Длина до, символов» — 20 |
amount |
Сумма | «Число с дробью» | «Обязательное», «Не меньше» — 0, «Цифр всего» — 14, «Знаков после запятой» — 2 |
paid_on |
Дата | «Дата» | — |
status |
Статус | «Список значений» | «Значения списка»: Новый, Оплачен, Ошибка — по одному в строке |
- В «Ключ записи» отметьте
number: запись с тем же номером робот в режимеupsertобновит, а не продублирует. - Нажмите «Создать отчёт».

Шаг 2. Процесс, который пишет в отчёт #
Откройте 08_report_writer.flow.json в студии. Аргументы: report — ключ отчёта (payments), count — сколько
платежей (100), strict — строгий режим.
- „Подготовить платежи“ собирает массив объектов с ключами полей:
number,amount,paid_on,status. orch.reportAddMany„Записать все платежи“ пишет весь массив одним вызовом в режимеupsert.- Второй
orch.reportAddManyзаписывает первые пять платежей ещё раз со статусомОплачен: записи с теми же номерами обновляются, дублей нет. orch.reportFind„Найти оплаченные“ ищет записи по условию({ status: 'Оплачен' }).orch.reportUpdateменяет статус последнего платежа наОшибкапо ключу записи.orch.reportAddпробует записать сумму'12,5 сом'— текст в числовом поле. Это бизнес-ошибкаReportValidation: по умолчанию она перехватывается блокомcontrol.tryCatchи пишется в журнал.
Опубликуйте процесс (в своей папке) и запустите его из панели.
Шаг 3. Записи отчёта #
Откройте «Отчёты» → Платежи. На вкладке «Записи» — сто платежей; колонки «Задание» и «Робот» показывают, кто
записал строку.

- Поиск и «Фильтры по полям» — например, статус
Оплаченили сумма от 150. - «Выгрузить XLSX» выгружает текущую выборку с фильтрами.
- Щелчок по строке открывает запись: значения, «Задание» и «Процесс и версия». Оператор может её изменить — изменение попадёт в аудит.
- «Добавить запись» и «Загрузить из Excel» — записи руками и из файла.

Что должно получиться #
- В отчёте
Платежи— 100 записейП-0001…П-0100; пять первых —Оплачен, последняя —Ошибка, остальные —Новый. - В журнале задания: строка о том, что в отчёт
paymentsдобавлено записей: 100,Повторно записано по ключу (обновлено, без дублей): 5,Оплачено: 5, первый — П-0001и предупреждениеБизнес-ошибка ReportValidation: …. - В «Результат» задания —
платежис числами добавленных, обновлённых и оплаченных. - Запустите процесс ещё раз: записей останется 100 — режим
upsertобновил их по номеру. - Запустите с
strict=true: задание завершится бизнес-ошибкойReportValidation, а записи до этого шага сохранятся.
Если не получилось #
| Что видно | Что сделать |
|---|---|
| Ошибка „Отчёт с ключом … не найден в области …“ | Ключ в аргументе report должен совпадать с «Ключ» отчёта (payments), а отчёт — быть в области процесса. |
ReportValidation на первой записи |
Ключи полей в процессе и в отчёте отличаются или нарушена проверка (сумма меньше 0, статус не из списка). Текст ошибки называет поле. |
| Записи дублируются | У отчёта не задан «Ключ записи» или режим шага — insert. |
| „База отчётов недоступна“ | База отчётов не настроена или остановлена — обратитесь к администратору; остальная работа оркестратора продолжается. |
Дальше — урок SQL-отчёт: запрос и график по этим платежам. Подробнее — в документации: Отчёты.