Я использую построитель процессов для вызова автоматически запускаемого потока всякий раз, когда происходит изменение в поле «Статус». Этот построитель процессов и поток хорошо работают для 2 или 3 записей. Но когда я попытался создать 10 или 15 записей для проверки потока, он не работает должным образом. Как я проверил, процесс правильно вызывает автоматически запускаемый поток, но поток не работает.
введите здесь описание изображения

Не могли бы вы указать, что я сделал неправильно?

0
Pargavi Selvaraj 23 Дек 2021 в 14:09
, добро пожаловать в SFSE! Пожалуйста, найдите время, чтобы посетить справочный центр, прокрутите тур и прочтите Как задавать вопросы. Что вы отладили и что именно имеется в виду, когда вы говорите «это не работает» — что вы ожидаете, а что не происходит. Вы можете отредактировать свой вопрос, чтобы предоставить более подробную информацию.
 – 
Kris Goncalves
23 Дек 2021 в 16:13
Вы выполняете элемент Get Records в цикле, что может привести к нарушению ограничений
 – 
cropredy
23 Дек 2021 в 22:08
Я попытался удалить поток и использовать вызываемую вершину, чтобы избежать SOQL в цикле, но все равно не работает.
 – 
Pargavi Selvaraj
27 Дек 2021 в 15:38
Что говорит вам журнал отладки?
 – 
cropredy
27 Дек 2021 в 18:33
Привет @cropredy, я добавил один элемент паузы в начале потока. Потому что, когда я проверял журнал отладки, изменения не фиксируются в БД для нескольких записей. После добавления этой паузы изменения фиксируются в БД и условия работают нормально. Спасибо за ответ.
 – 
Pargavi Selvaraj
28 Дек 2021 в 15:47

1 ответ

После стольких журналов отладки и анализа я нашел решение, которое мне подходит. В моем сценарии при проверке изменений 1 или 2 записей все работает. Но когда я проверил более 10 записей, поток не работает должным образом. При проверке журнала отладки последние изменения не фиксируются в БД. Для этого я просто добавил элемент паузы в начале потока, чтобы зафиксировать все изменения в БД. Для события возобновления я дал 2 секунды и не добавил никаких условий для паузы.

enter image description here

enter image description here

enter image description here

0
Pargavi Selvaraj 28 Дек 2021 в 15:53
1
Использование элемента Pause запускает новую транзакцию и сбрасывает лимиты. Хотя это решение может обойти вашу текущую проблему; у вас может быть какой-то скрытый, неэффективный триггер или автоматизация.
 – 
cropredy
29 Дек 2021 в 22:55
@cropredy, как мне найти такие вещи в моем коде? Есть ли у меня какое-либо другое решение для фиксации изменений в конце потока? Потому что в моем сценарии один поток вызывает другой, как мудрый, выполняющий какую-то работу. Если в 5-м потоке произошла какая-то ошибка, выполняется откат всех 4-х потоков. Я не хочу, чтобы это произошло. Есть ли какое-нибудь решение для этого?
 – 
Pargavi Selvaraj
30 Дек 2021 в 15:26
Вы задаете здесь более широкий вопрос и должны задать его как отдельный вопрос на этом сайте.
 – 
cropredy
30 Дек 2021 в 18:24