Обход коллекции во Flow (Часть 2)

В предыдущей статье мы создали Flow который обрабатывает всю логику задачи. Но так как Flow сам по себе не может срабатывать на создание редактирование или удаление объектов, то для этих целей мы будем использовать Process builder который будет срабатывать на создание или редактирование объекта и вызывать Flow при определенных критериях.

Process builder будет срабатывать при создании или редактировании объекта «OpportunityLineItem» (Opportunity Product) и только если поле «Product» не пустое или редактировалось.
Как будет выглядеть в конце Process builder:

Создадим Process builder как показано ниже на картинке, заполним поля и сохраним.

Process Name : Update Product Name Field
The process starts when : A record changes

Дальше в блоке «Add Object» выбираем из списка объект «Opportunity Product» и «Start the process» ставим в «when a record is created or edited».

image

В блоке «Add Critetia» добавляем критерии по которым будет срабатывать Process builder:

Criteria Name : FireAction
Criteria of Executing Actions : Conditions are met

Раздел «Set Condition» заполняем как на картинке ниже. Поле «Product2Id» не должно быть пустым и должно быть отредактированным (Is changed).

В блоке «IMMEDIATE ACTION» - «Add Action» добавляем вызов нашего Flow.

Action Type : Flows
Action Name : Call Flow
Flow : Set Product Name Field

Если в поле «Flow» в выпадающем списке нет созданного раньше Flow с именем «Set Product Name Field», то вам нужно выйти из вашей организации (сделать Log Out) и зайти снова чтобы данные обновились и тогда новый Flow появится в выпадающем списке.

В раздела «Set Flow Variable» в поле «Flow Variable» выбираем переменную «SubscriptionId» которая была создана на этапе создания Flow. В эту переменную мы будем передавать Id объекта «Subscription__c ».

Flow Variable : SubscriptionId
Type : Field Reference
Value : [OpportunityLineItem]. Subscription__r.Id

На этом процесс создания Process builder заканчивается, после сохранения нужно не забыть активировать его.