Документация 0.4 Справочник действий
Изменить запись отчёта
orch.reportUpdate · Оркестратор
Меняет поля записи отчёта, найденной по id или по ключу записи (например, статус платежа). Нет такой записи — не ошибка: «Изменена» = нет
Меняет поля записи отчёта — например, ставит платежу статус „Оплачен“ после проверки. Запись ищется по id или по ключу записи отчёта. Если записи нет, это не ошибка: выход Изменена = нет.
Действие работает в задании оркестратора и при запуске из студии, подключённой к оркестратору: тогда оно обращается к „области для отладки“, выбранной в «Оркестратор» → «Подключение…», и работает с настоящими данными этой области.
Свойства #
| Свойство | Имя в файле | Значение | Обязательное | По умолчанию | Описание |
|---|---|---|---|---|---|
| Отчёт | report |
текст | да | — | Ключ отчёта в оркестраторе (латиница), например payments — указан на странице отчёта в панели |
| Id записи | recordId |
текст | нет | — | Id из «Добавить запись в отчёт» или «Найти записи отчёта»; пусто — запись ищется по ключу записи |
| Ключ записи | key |
выражение | нет | — | Если id не задан: объект со значениями всех полей ключа записи отчёта, например { number: 'П-0001' } |
| Новые значения | values |
выражение | да | — | Объект с полями, которые нужно изменить, например { status: 'Оплачен' } |
Результат #
Значение выхода сохраняется в переменную, выбранную для него в свойствах шага (раздел выходов).
| Выход | Имя в файле |
|---|---|
| Изменена | updated |
| Запись | record |
Как работает #
- Отчёт (
report) — ключ отчёта латиницей (payments), его показывает страница отчёта в панели («Отчёты»). Отчёт ищется в рабочей области задания. - Id записи (
recordId) — изorch.reportAddилиorch.reportFind; пусто — запись ищется по ключу. - Ключ записи (
key) — если id не задан: объект со значениями всех полей ключа записи отчёта, например{ number: 'П-0001' }. - Новые значения (
values) — объект с полями, которые нужно изменить:{ status: 'Оплачен' }. Остальные поля не меняются. - Выходы: Изменена — да/нет, Запись — запись после изменения (как у
orch.reportFind).
Ошибки #
| Код | Причина и что делать |
|---|---|
InvalidArgument |
Не указан ни id, ни ключ записи; id — не идентификатор записи; новые значения — не объект |
ReportNotFound |
Нет отчёта с таким ключом в области — проверьте ключ на странице отчёта |
ReportValidation |
Значения не подходят к полям отчёта: нет такого поля, не число в числовом поле, неверная дата, не заполнено обязательное поле. Это бизнес-ошибка — задание с ней не повторяется автоматически. Текст называет поле и значение |
ReportsUnavailable |
База отчётов недоступна — системная ошибка, задание можно повторить |
OrchestratorUnavailable |
Процесс запущен без оркестратора (студия не подключена) или нет связи с сервером после 4 попыток (паузы 1, 2 и 4 с). Проверьте подключение студии или что агент робота на связи |
AccessDenied |
Не хватает прав в рабочей области или задание уже завершено |
Пример #
{
"type": "orch.reportUpdate",
"props": { "report": "payments", "key": "{ number: item.reference }", "values": "{ status: 'Оплачен' }" },
"out": { "updated": "changed" }
}