2016-07-22 7 views
0

Привет и спасибо заранее. У меня больше проблем, которые я ожидаю от попыток добавить правило проверки правильности для контактов. Проблема в том, что я испытываю ползучесть рабочего процесса. Я полагаюсь на построитель процессов и потоки, чтобы синхронизировать определенные объекты. Позвольте мне привести вам пример, скажем, у меня есть контакт с двумя флагами: рассылка и доставка. Давайте также скажем, что у меня есть другой объект, называемый контактной ролью, который также имеет флаги для выставления счетов и доставки. У меня есть рабочие процессы, которые хранят эти флаги в sych, поэтому, если рассылка проверена/снята с отметки на одной записи, она будет запускать поток для обновления связанной записи (контакт с контактной ролью и наоборот). Теперь введите роль проверки. Я добавил роль проверки, которая будет срабатывать, когда статус контакта «неактивен», и один из этих флажков отмечен. Проблема, с которой я, похоже, сталкиваюсь, заключается в том, что если я должен снять оба из них при контакте и установить статус в неактивном состоянии, правило проверки приведет к ошибке рабочего процесса, потому что обновления флажков и обновление связанных записей не выполняются сразу ; есть два отдельных потока. Итак, первое, что нужно сделать, это отметить, что флажок рассылки не установлен, и соответствующая запись не отмечена. Затем я получаю ошибку рабочего процесса из-за того, что я предполагаю, что сохранение записи с флажком рассылки по-прежнему проверяется в записи. Мое предположение состояло бы в том, что правило проверки не будет срабатывать до тех пор, пока не завершится выполнение всех рабочих процессов. Разве это не так? Я также сомневаюсь, может ли быть причиной рекурсии в рабочих процессах. Очевидно, что если все рабочие процессы заканчиваются до начала проверки, это должно пройти, так как оба флажка не должны быть отмечены в конечном состоянии. Любые идеи, советы, лучшие практики очень ценятся!Проблема с правилом работы и правилом проверки (проверка срабатывания) - проблема рекурсии?

+0

Правила валидации обработаны задолго до того, как будут обработаны правила рабочего процесса. Задокументирован порядок обработки: это [статья знаний] (https://help.salesforce.com/apex/HTViewSolution?id=000005694&language=en_US) и [Руководство разработчика Apex] (https: //developer.salesforce. ком/документы/atlas.en-us.apexcode.meta/apexcode/apex_triggers_order_of_execution.htm) – nochum

ответ

0

Правила валидации обработаны задолго до того, как будут обработаны правила рабочего процесса. Порядок документирования порядка документирован, это Knowledge Article и Apex Developer Guide