Документация 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" }
}