Задача: нужно, чтобы если обращение в статусе Information needed, и в поле “Беседа” ответил Автор (НЕ получатель услуги!), то статус обращения автоматически меняется на Assigned.
Какой скрипт тут нужен?
К сожалению, виджет ленты активности не предусматривает простейшей отправки события SimpleEventBus в методе sendComment
, что огромное упущение, но если Вам очень надо, то можно пойти на хитрость.
Необходимо создать клиентский скрипт
с типом onLoad
для целевой таблицы, в нём реализовать XMLHttpRequest интерсептор, который будет перехватывать запросы /v1/activity-feed/create-thread
, когда перехватчик срабатывает, совершать проверку id
текущего пользователя с id
автора услуги с мощью SimpleOne API, а также проверять, что в payload type_id
соответствует id
типа активности Беседа
, если успешно, то обновлять статус целевой записи.
Для того, чтобы не убить память пользователя, реализовывать интерсептор необходимо через Web Component
, где в connectedCallback
запускать его, а в disconnectedCallback
уничтожать.
Ссылки:
https://gilfink.medium.com/quick-tip-creating-an-xmlhttprequest-interceptor-1da23cf90b76
Создаем Бизнес-правило с условиями приведенными на скриншоте. В действиях ставим установку Статуса на нужный параметр.
В портальном интерфейсе срабатывает при отправке сообщения. В агентском - при сохранении документа.
Спасибо большое - сработало !
Только вместо поля Комментарии нужно поле Беседа;)
Дополнила это правило еще одним условием:
Оно позволит избежать ситуации, когда агент создал обращение, является его исполнителем и хочет что-то уточнить у получателя услуги, но система будет автоматически менять статус на “Назначено”. Если добавить условие “Автор не равен Исполнителю”, то этой ситуации можно избежать.
В начальном задании последнего условия не было.