Рабочие процессы запускаются дважды после обновления поля. Переоценка рабочих процессов отключена для всех обновлений поля. Нет конкретных обновлений записи после срабатывания триггеров обновления.

Журнал 1:

12:11:50.450 (2830002851)|CODE_UNIT_FINISHED|OpportunityTrigger on Opportunity trigger event AfterUpdate for [006c000000EPZrw]
12:11:50.450 (2831870864)|WF_FLOW_ACTION_BEGIN|09Lc00000004LRf
12:11:50.831 (2831959097)|FLOW_CREATE_INTERVIEW_BEGIN|00Dc0000003oW7m|30031000000Uc7F|301c00000009l5z
12:11:50.831 (2833786790)|FLOW_CREATE_INTERVIEW_END|618674d44f50b8609c9b57ec3e83153805fc75b-1d52|Opp- popeye Brand
12:11:50.834 (2834059074)|FLOW_START_INTERVIEWS_BEGIN|1
12:11:50.834 (2834535542)|FLOW_START_INTERVIEW_BEGIN|618674d44f50b8609c9b57ec3e83153805fc75b-1d52|Opp- popeye Brand
12:11:50.834 (2838451409)|FLOW_START_INTERVIEW_END|618674d44f50b8609c9b57ec3e83153805fc75b-1d52|Opp- popeye Brand
12:11:50.834 (2838463553)|FLOW_START_INTERVIEWS_END|1
12:11:50.450 (2840241557)|WF_FLOW_ACTION_END|09Lc00000004LRf
12:11:50.450 (2840314231)|WF_RULE_EVAL_BEGIN|Workflow
12:11:50.450 (2840345882)|WF_CRITERIA_BEGIN|[Opportunity: test2- 006c000000EPZrw]|Opportunity - Closed lost notification|01Qi0000000Dzqw|ON_CREATE_OR_TRIGGERING_UPDATE|1
12:11:50.450 (2840491415)|WF_FORMULA|Formula:ENCODED:[treatNullAsNull]{!ID:$User.Id} !=  {!ID:Owner} &&   ISPICKVAL({!ID:StageName},'Closed/Lost') &&  ( {!ID:$Profile.Name} != 'TW Operations' && {!ID:$Profile.Name} != 'TW System Administrator')|Values:OwnerId=005i0000002Wm4V, $Profile.Name=TW System Administrator, StageName=Closed/Won, $User.Id=005i0000004TZoh
12:11:50.450 (2840497613)|WF_CRITERIA_END|false
12:11:50.450 (2840515607)|WF_CRITERIA_BEGIN|[Opportunity: test2- 006c000000EPZrw]|Opportunity - Set Split % SE fields|01Qi0000000Pov3|ON_ALL_CHANGES|1
12:11:50.450 (2840611535)|WF_FORMULA|Formula:ENCODED:[treatNullAsNull]AND (OR( ISNEW()  ,  ISCHANGED( {!ID:00Ni000000CCIln} )  ,  ISCHANGED( {!ID:00Ni000000CCIls} )  ) , {!ID:$User.00Ni000000D662p} = False)|Values:Sales_Engineer__c=005i0000002XRwK, $User.Bypass_Workflow_Rules__c=0, Sales_Engineer_2__c=005i0000002XRwK
12:11:50.450 (2840616329)|WF_CRITERIA_END|false
12:11:50.450 (2840632635)|WF_CRITERIA_BEGIN|[Opportunity: test2- 006c000000EPZrw]|Opportunity - Closed Order Notification-LAC|01Qi0000000Q04O|ON_CREATE_OR_TRIGGERING_UPDATE|1

А во втором логе после окончания выполнения триггера ничего не происходит. Проблема заключается в том, что если для объекта активен процесс (построитель процессов), то после выполнения этого процесса (даже если критерии в процессе совпадают или нет), рабочие процессы (которые ранее не соответствовали критериям) запускаются снова. Если ни один процесс не активен, выполнение останавливается и фиксирует изменения в записи.

0
cropredy 18 Мар 2016 в 00:56
Какие-либо будущие методы?
 – 
cropredy
12 Мар 2016 в 19:54
Нет. Это происходит при активации процесса в Process builder.
 – 
Vijay Sagar
17 Мар 2016 в 01:10
Виджей - вам может понадобиться опубликовать некоторые подробности, особенно журнал отладки, который показывает, что рабочие процессы выполняются дважды (не вываливайте на нас большой журнал; разделите его на самое необходимое)
 – 
cropredy
17 Мар 2016 в 02:50
Конечно.. Журнал PFA 1 и журнал 2. Журнал 1 показывает, что рабочие процессы снова запускаются после выполнения потока. В журнале 2 поток был деактивирован, а рабочие процессы не были запущены.
 – 
Vijay Sagar
17 Мар 2016 в 21:24
Хорошо, я не могу опубликовать весь журнал. Я просто упрощу журнал сведений журнала 1: До и после триггеров -> Обновления WF -> До и после триггеров -> Поток процесса будет запущен (но не будет выполнять никаких обновлений) -> Снова WF, которые не соответствуют критериям до этого, снова запустится с последние данные, сохраненные в журнале записей 2: До и после триггеров -> Обновления WF -> До и после триггеров -> Процесс выделен жирным шрифтом Нет потока, так как он деактивирован -> Выполнение завершается здесь.
 – 
Vijay Sagar
17 Мар 2016 в 21:30

1 ответ

Журнал 1:

12: 11: 50,450 (2830002851) | CODE_UNIT_FINISHED | OpportunityTrigger на возможность запуска события AfterUpdate для [006c000000EPZrw] 12: 11: 50,450 (2831870864) | WF_FLOW_ACTION_BEGIN | 09Lc00000004LRf 12: 11: 50,831 (2831959097) | FLOW_CREATE_INTERVIEW_BEGIN | 00Dc0000003oW7m | 30031000000Uc7F | 301c00000009l5z 12 : 11: 50,831 (2833786790) | FLOW_CREATE_INTERVIEW_END | 618674d44f50b8609c9b57ec3e83153805fc75b-1d52 | Opp- Попай Марка 12: 11: 50,834 (2834059074) | FLOW_START_INTERVIEWS_BEGIN | 1 12: 11: 50,834 (2834535542) | FLOW_START_INTERVIEW_BEGIN | 618674d44f50b8609c9b57ec3e83153805fc75b-1d52 | Opp- Попай Марка 12 : 11: 50,834 (2838451409) | FLOW_START_INTERVIEW_END | 618674d44f50b8609c9b57ec3e83153805fc75b-1d52 | Opp- Попай Марка 12: 11: 50,834 (2838463553) | FLOW_START_INTERVIEWS_END | 1 12: 11: 50,450 (2840241557) | WF_FLOW_ACTION_END | 09Lc00000004LRf 12: 11: 50,450 (2840314231) |WF_RULE_EVAL_BEGIN|Рабочий процесс 12:11:50.450 (2840345882)|WF_CRITERIA_BEGIN|[Возможность: test2- 006c000000EPZrw]|Возможность — закрытое уведомление о потере|01Qi0000000Dzqw|O N_CREATE_OR_TRIGGERING_UPDATE|1 12:11:50.450 (2840491415)|WF_FORMULA|Формула:ENCODED:[treatNullAsNull]{!ID:$User.Id} != {!ID:Владелец} && ISPICKVAL({!ID:StageName},'Closed /Lost') && ( {!ID:$Profile.Name} != 'Операции TW' && {!ID:$Profile.Name} != 'Системный администратор TW')|Значения: OwnerId=005i0000002Wm4V, $Profile.Name =TW System Administrator, StageName=Closed/Won, $User.Id=005i0000004TZoh 12:11:50.450 (2840497613)|WF_CRITERIA_END|false 12:11:50.450 (2840515607)|WF_CRITERIA_BEGIN|[Возможность: test2-006c00613)|WF_CRITERIA_END|false 12:11:50.450 (2840515607)| Set Split % SE fields|01Qi0000000Pov3|ON_ALL_CHANGES|1 12:11:50.450 (2840611535)|WF_FORMULA|Формула:ENCODED:[treatNullAsNull]И (ИЛИ(ISNEW(),ISCHANGED({!ID:00Ni000000CCIln}),ISCHANGED({!ID:00Ni000000CCIln}),ISCH ! ID: 00ni000000CCils})), {! ID: $ User0000000000D662P} = false) | Значения: sales_engineer__c = 005i0000002xrwk, $ user.bypass_workflow_rules__c__c = 0, sales_engineer_2__c = 005i0000002xrwk 12: 11: 50.450 (2840616329) | wf_criteria_end | false 12 :11:50.450 (2840632635)|WF_CRITERIA_B EGIN|[Возможность: test2- 006c000000EPZrw]|Возможность - Уведомление о закрытом заказе-LAC|01Qi0000000Q04O|ON_CREATE_OR_TRIGGERING_UPDATE|1

0
Vijay Sagar 17 Мар 2016 в 23:40
: А во втором логе после завершения выполнения триггера ничего не происходит. Проблема заключается в том, что если для объекта активен процесс (построитель процессов), то после выполнения этого процесса (даже если критерии в процессе совпадают или нет), рабочие процессы (которые ранее не соответствовали критериям) запускаются снова. Если ни один процесс не активен, выполнение останавливается и фиксирует изменения в записи.
 – 
Vijay Sagar
17 Мар 2016 в 23:41