Документация 0.4 Справочник действий
Найти записи отчёта
orch.reportFind · Оркестратор
Ищет записи отчёта оркестратора по значениям полей (равно, от и до). У каждой записи — id, задание, робот и values со значениями полей
Ищет записи отчёта оркестратора по значениям полей: все неоплаченные платежи, заявки клиента, записи за период. Так процесс использует результаты других процессов — например, проверяет, не обработан ли документ раньше.
Действие работает в задании оркестратора и при запуске из студии, подключённой к оркестратору: тогда оно обращается к „области для отладки“, выбранной в «Оркестратор» → «Подключение…», и работает с настоящими данными этой области.
Свойства #
| Свойство | Имя в файле | Значение | Обязательное | По умолчанию | Описание |
|---|---|---|---|---|---|
| Отчёт | report |
текст | да | — | Ключ отчёта в оркестраторе (латиница), например payments — указан на странице отчёта в панели |
| Равно | where |
выражение | нет | — | Объект «ключ поля: значение» — все условия должны выполняться, например { status: 'Новый' } |
| Не меньше | from |
выражение | нет | — | Нижние границы чисел и дат, например { amount: 1000, paid_on: '01.11.2026' } |
| Не больше | to |
выражение | нет | — | Верхние границы чисел и дат, например { paid_on: '30.11.2026' } |
| Сортировка | sort |
текст | нет | — | Ключ поля и направление, например amount:desc; пусто — по времени записи, новые первыми |
| Не больше записей | limit |
число | нет | 100 | От 1 до 1000 |
Результат #
Значение выхода сохраняется в переменную, выбранную для него в свойствах шага (раздел выходов).
| Выход | Имя в файле |
|---|---|
| Записи | records |
| Найдено | count |
Как работает #
- Отчёт (
report) — ключ отчёта латиницей (payments), его показывает страница отчёта в панели («Отчёты»). Отчёт ищется в рабочей области задания. - Равно (
where) — объект „ключ поля: значение“, все условия должны выполняться:{ status: 'Новый' }. - Не меньше (
from) и Не больше (to) — границы чисел и дат:{ amount: 1000, paid_on: '01.11.2026' }. - Сортировка (
sort) — ключ поля и направление:amount:desc,number:asc; пусто — новые записи первыми. - Не больше записей (
limit, по умолчанию 100) — от 1 до 1000. - Выход Записи — список объектов:
id,createdAt,updatedAt,jobId,jobNumber,process,robotиvaluesсо значениями полей (paid[0].values.number). Выход Найдено — их число.
Ошибки #
| Код | Причина и что делать |
|---|---|
InvalidArgument |
Условие — не объект; лимит вне 1–1000; неверная сортировка |
ReportNotFound |
Нет отчёта с таким ключом в области — проверьте ключ на странице отчёта |
ReportValidation |
Значения не подходят к полям отчёта: нет такого поля, не число в числовом поле, неверная дата, не заполнено обязательное поле. Это бизнес-ошибка — задание с ней не повторяется автоматически. Текст называет поле и значение |
ReportsUnavailable |
База отчётов недоступна — системная ошибка, задание можно повторить |
OrchestratorUnavailable |
Процесс запущен без оркестратора (студия не подключена) или нет связи с сервером после 4 попыток (паузы 1, 2 и 4 с). Проверьте подключение студии или что агент робота на связи |
AccessDenied |
Не хватает прав в рабочей области или задание уже завершено |
Пример #
{
"type": "orch.reportFind",
"props": { "report": "payments", "where": "{ status: 'Оплачен' }", "sort": "number:asc", "limit": 1000 },
"out": { "records": "paid", "count": "paidCount" }
}