Регистрация  |  Вход

Изучаем и используем Process Builder

Как известно, наш форум используется в основном разрабами, и разрабы не те люди, которые охотно используют декларативные тулы. А если их не использовать, то и знания о них будут довольно поверхностные. Но жизнь иногда все же заставляет... ОК, скажем не "заставляет", а "дает шанс" изучить их поподробнее.

Итак Process Builder.
кроме всего прочего, из него можно вызывать апекс методы, другие РВ процессы, а также Flow.

столкнулся именно с ситуацией, когда вызывается апекс код. и там сразу ждал сюрприз.

в описании Action есть два поля Apex Class и Action Name, и сходу можно подумать , что там указаны имя класса и его метод. Как бы не так! Apex Class - это атрибут label (который является стрингом, допускающим например пробелы) на апекс класс методе, который должен быть помеченный как @InvocableMethod, чтоб быть доступным для Process Builder. А Action Name - это вообще произвольное название данного Action в пределах самого Process Builder.

Сигнатура принимаемых аргументов в этом @InvocableMethod тоже немного необычная.

на этом я не остановился, и прочитал статью на тему:
https://medium.com/@apeattie/salesforce-process-builder-best-practices-24e674b2b2b1

пересказывать ее не буду, просто отмечу, что там дается несколько интересных вещей:
- немного теории по Business Process Management;
- обратите внимание на первый знак используемый в назаниях процессов у автора на втором или третьем рисунке сверху;
- приводится любопытная задача на репортинг: как долго записи находятся в той или иной стадии. простым репортом это не решить, так как он дает текущую ситуацию, а тут нужна история. Полностью задача там не решена, просто дается подсказка , что использовать;
- приводится небольшой пример использования Einstein функционала;
- еще там есть ссылка на другой блог, где есть немного про DRY - WET принципу, может кто забыл, что эти аббревиатуры значат.

Как известно, наш форум используется в основном разрабами, и разрабы не те люди, которые охотно используют декларативные тулы. А если их не использовать, то и знания о них будут довольно поверхностные. Но жизнь иногда все же заставляет... ОК, скажем не "заставляет", а  "дает шанс" изучить их поподробнее.

Итак Process Builder.
кроме всего прочего, из него можно вызывать апекс методы, другие РВ процессы, а также Flow.

столкнулся именно с ситуацией, когда вызывается апекс код. и там сразу ждал сюрприз.

в описании Action есть два поля Apex Class и Action Name, и сходу можно подумать , что там указаны имя класса и его метод. Как бы не так! Apex Class - это атрибут label (который является стрингом, допускающим например пробелы) на апекс класс методе, который должен быть помеченный как @InvocableMethod, чтоб быть доступным для  Process Builder. А Action Name - это вообще произвольное название данного  Action в пределах самого Process Builder.

Сигнатура принимаемых аргументов в этом  @InvocableMethod тоже немного необычная.

на этом я не остановился, и прочитал статью на тему:
https://medium.com/@apeattie/salesforce-process-builder-best-practices-24e674b2b2b1

пересказывать ее не буду, просто отмечу, что там дается несколько интересных вещей:
- немного теории по Business Process Management;
- обратите внимание на первый знак используемый в назаниях процессов у автора на втором или третьем рисунке сверху;
- приводится любопытная задача на репортинг: как долго записи находятся в той или иной стадии. простым репортом это не решить, так как он дает текущую ситуацию, а тут нужна история. Полностью задача там не решена, просто дается подсказка , что использовать;
- приводится небольшой пример использования Einstein функционала;
- еще там есть ссылка на другой блог, где есть немного про DRY - WET принципу, может кто забыл, что эти аббревиатуры значат.









Один огромный недостаток Process Builder - отсутствие какой либо возможности отладки. Даже ошибку хрен увидишь если не ты владелец, потому что ошибка приходит на email владельцу. Пару раз убивал очень много времени пытаясь найти простейшую проблему. Ну его нафиг эти декларативные средства разработки. Если есть хоть малейшая возможность использовать Apex надо это делать.

Один огромный недостаток Process Builder - отсутствие какой либо возможности отладки. Даже ошибку хрен увидишь если не ты владелец, потому что ошибка приходит на email владельцу. Пару раз убивал очень много времени пытаясь найти простейшую проблему. Ну его нафиг эти декларативные средства разработки. Если есть хоть малейшая возможность использовать Apex надо это делать.

Есть второй недостаток - производительность, вроде тут уже давали эту ссылку https://www.youtube.com/watch?v=w6QnalRWlEE


картинка

Есть второй недостаток - производительность, вроде тут уже давали эту ссылку https://www.youtube.com/watch?v=w6QnalRWlEE


[url=https://drive.google.com/file/d/15qYSUupJ6ANXVCrJnriShT5zD4kK3g3t/view?usp=sharing]картинка[/url]

Dmitry Shnyrev
Один огромный недостаток Process Builder - отсутствие какой либо возможности отладки. Даже ошибку хрен увидишь если не ты владелец, потому что ошибка приходит на email владельцу. Пару раз убивал очень много времени пытаясь найти простейшую проблему. Ну его нафиг эти декларативные средства разработки. Если есть хоть малейшая возможность использовать Apex надо это делать.

Можно и не только владельцу получать мыло с ощибкой, но особо легче процесс отладки это не делает)

[quote="Dmitry Shnyrev"]Один огромный недостаток Process Builder - отсутствие какой либо возможности отладки. Даже ошибку хрен увидишь если не ты владелец, потому что ошибка приходит на email владельцу. Пару раз убивал очень много времени пытаясь найти простейшую проблему. Ну его нафиг эти декларативные средства разработки. Если есть хоть малейшая возможность использовать Apex надо это делать.[/quote]
Можно и не только владельцу получать мыло с ощибкой, но особо легче процесс отладки это не делает)

Eugene Konstantinof
Можно и не только владельцу получать мыло с ощибкой

Ну я уже давно не ковырялся, может что поменялось.
Буду признателен если скинешь инфу как (или скриншот закинешь). На будущее.

[quote="Eugene Konstantinof"]Можно и не только владельцу получать мыло с ощибкой[/quote]
Ну я уже давно не ковырялся, может что поменялось. 
Буду признателен если скинешь инфу как (или скриншот закинешь). На будущее.

Dmitry Shnyrev
Eugene Konstantinof
Можно и не только владельцу получать мыло с ощибкой

Ну я уже давно не ковырялся, может что поменялось.
Буду признателен если скинешь инфу как (или скриншот закинешь). На будущее.

Setup -> Process Automation Settings -> Send Process or Flow Error Email to: Apex Exception Email Recepients

[quote="Dmitry Shnyrev"][quote="Eugene Konstantinof"]Можно и не только владельцу получать мыло с ощибкой[/quote]
Ну я уже давно не ковырялся, может что поменялось. 
Буду признателен если скинешь инфу как (или скриншот закинешь). На будущее.[/quote]

Setup -> Process Automation Settings -> Send Process or Flow Error Email to: Apex Exception Email Recepients