Salesforce: записи блокируются зависящими от времени рабочими процессами - PullRequest
0 голосов
/ 22 ноября 2011

В настоящее время мы используем Salesforce для нашего процесса продаж, который включает попытки заставить людей зарегистрироваться в нашей «системе управления учетными записями», представить данные, документы и получить проверку от администратора.Это целая система PHP вне SF, давайте назовем ее «Cherry».

То, что мы делаем сейчас, это: Cherry отслеживает учетные записи, но все, что происходит, отправляется в SalesForce, поэтому нашу продавцов есть список потенциальных клиентов для контакта.Когда что-то меняется в Cherry, все обновляется в SalesForce, включая преобразование SF Lead в учетную запись, когда клиент проверяется нашими администраторами в Cherry.(После этого мы все еще обновляем данные SF, но это не так важно, так как это уже клиент)

Чтобы отправить информацию из Cherry в SF, я просто использую API-библиотеку "SforceEnterpriseClient.php"и вызов методов Create / Update / Delete, предоставляемых этой библиотекой.Я не знаю, есть ли другой способ быть честным, но наши нужды очень просты.Просто создавая потенциальных клиентов, обновляя их поля и преобразовывая их в учетную запись.

Моя проблема в том, что наши продавцы хотят использовать рабочие процессы, зависящие от времени, для автоматической отправки потенциальных клиентов по электронной почте каждые несколько дней, смены их статуса на один.другому и т. д. Однако, как только один из этих рабочих процессов «захватывает» потенциальную возможность, запись блокируется (до времени выполнения действия, которое обычно составляет много дней), и все, что я пытаюсь сделать с ним черезAPI (обновить его или, в частности, "convertlead") завершается с ошибкой RECORD_IN_USE_BY_WORKFLOW.

Теперь это похоже на довольно распространенный сценарий (как использование API для обновления записей, так и использование зависимого от времени рабочего процесса).На самом деле нашим продавцам почти кажется, что весь смысл использования SalesForce заключается в рабочих процессах, поэтому я весьма удивлен чему-то базовому, так как это не удается ...

Итак, основной вопрос ...- Есть ли очевидный способ обойти эту проблему?(Использование какого-либо другого API? Делаете что-то другое с рабочими процессами?)
- Если нет, есть ли способ «отсоединить» Lead от его рабочего процесса?(или как-то разблокировать эту запись)
- Если нет, есть ли обходные пути, которые подразумевают больше программирования на стороне SalesForce?

Огромное спасибо за вашу помощь Даниэль

1 Ответ

5 голосов
/ 22 ноября 2011

Вы определенно не можете конвертировать потенциальную возможность с ожидающими действиями рабочего процесса. Тем не менее, вы должны быть в состоянии обновить лидерство. В частности, вам придется обновить потенциальную возможность таким образом, чтобы она была исключена из правила рабочего процесса. Чтобы достичь этого, вы можете подумать о добавлении скрытого поля флажка «Исключить из рабочего процесса», которое вы сделаете частью критерия рабочего процесса. В этом случае вы должны сделать запрос на обновление, чтобы установить для этого поля значение true.

Как только Лидер будет дисквалифицирован из правила рабочего процесса, действие рабочего процесса будет удалено из очереди. Тогда вы можете конвертировать свинец.

...