Изменить элемент смарт-процесса

Действие "Изменить элемент смарт-процесса" позволяет изменить уже существующий элемент смарт-процесса, который предварительно записан в переменную с типом "Элемент смарт-процесса".

Действие содержит следующие параметры:

Взять элемент из переменной - переменная с типом "Элемент смарт-процесса" в которую на момент выполнения действия уже должен быть записан нужный вам элемент.

Смарт-процесс - смарт-процесс, к которому относится выбранная переменная. Это поле не доступно для редактирования, оно лишь визуально показывает к каким смарт-процессом связана переменная. 

Заполнение полей элемента - набор полей элемента смарт-процесса, которые нужно изменить, где:
  • Поле элемента - поле элемента смарт-процесса, которое нужно изменить.
  • Заполнить из - источник, откуда берутся данные для заполнения поля. Это может быть переменная, которая должна быть предварительно заполнена. Если переменная окажется пустая, а поле будет обязательным для заполнения - элемент не создастся.

В зависимости от типа поля элемента, ему будет доступен определённый набор переменных.
  • Привязка к элементам CRM - переменные с типом "Связь с сущностью CRM", также для таких полей можно указать взять CRM из чата, а не из переменной. 
  • Привязка к элементам инф. блоков - переменные с типом "Привязка к элементу списка".
  • Список - переменные с типом "Привязка к значению свойства типа Список". Для поля "Направление" и полей, привязанных к справочникам (например, стадия или источник), можно указать конкретное значение из справочника.
  • Привязка к сотруднику - переменные с типом "Привязка к пользователю".
  • Ссылка - переменные с типом "Строка".
  • Даты - переменные с типом "Дата".
  • Строка или числовое поле - доступен любой тип переменных. При несоответствии типа поля и переменной из переменных с типами "Связь с сущностью CRM", "Привязка к элементу списка",  "Привязка к значению свойства типа Список", "Привязка к пользователю" запишется идентификатор (ID).



Итого, для изменения элемента вам нужно выполнить следующее:
  • Создать переменную с типом "Элемент смарт-процесса".
  • При необходимости создать набор переменных в которых будет храниться нужная вам информация, которую вы потом запишете в элемент смарт-процесса.
  • В переменную с типом "Элемент смарт-процесса" записать нужный вам элемент с помощью действия "Создать элемент смарт-процесса" или "Найти элемент смарт-процесса".
  • Записать нужные вам данные в остальные переменные (если они есть) с помощью действий или типов ответа "Ждать произвольного ответа пользователя" и "Ожидать ответ из предустановленного списка".
  • В действии "Изменить элемент смарт-процесса" сопоставить поля и ранее созданные переменные.


Пример.

Предположим, что у нас есть смарт-процесс "Заказы". Каждый элемент - это отдельный заказ, где стадии элемента означают статус заказа. Наша цель - изменить статус заказа после передачи товара клиенту.

У нас есть переменная "Заказ" с типом "Элемент смарт-процесса" и смарт-процессом "Заказы".

В нашем сценарии при диалоге с клиентом эта переменная уже должна быть заполнена.




Создадим узел, где в действии "Отправить текст" попросим клиента подтвердить статус заказа.



В типе ответа "Задать варианты ответов вручную" предоставим варианты ответа.

В нашем случае их три:
  • Товар получен - стадия "Успешно"
  • Товар не пришёл - стадия "Клиент не получил заказ"
  • Товар пришёл с браком - стадия "Брак"




Теперь для каждого ответа создадим узел и в эти злы добавим одно действие "Изменить элемент смарт-процесса":
Взять элемент из переменной - выбираем нашу переменную "Заказ", где уже хранится ранее сохранённый в неё элемент смарт-процесса.
Заполнение полей элемента - добавляем поле и в колонке "Поле элемента" выбираем "Стадия", а в колонке "Заполнить из" выбираем конкретную стадию. Стадия должна соответствовать выбранному варианту ответа в предыдущем узле.




В итоге мы должны получить следующую структуру узлов:





Итак, сначала чат-бот предлагает клиенту выбрать варианты ответа.



После того как клиент выберет вариант ответа - чат-бот перейдёт в соответствующий этому ответу узел и изменит стадию элемента смарт-процесса (заказа).