Начните с азов: веб-хуком (webhook) называется возможность уведомления сторонних сервисов. В Битриксе эту технологию (как и многие другие) используют в двух контекстах: веб-хук (система уведомлений, иначе - исходящий хук) и упрощенные REST операции (входящий веб-хук).
Цитата |
---|
Stanislav Lupinskiy написал: Вызванный из бизнес-процесса вебхук выполняется и меняет значение поля в сделке, но следующая операция БП этого не видит. |
Механизм работы вебхуков предполагает наличие задержки между отправляемой стороной и принимаемой, т.е. запрос может быть отправлен в 00 часов 00 минут 00 секунд, а быть обработан в 00:00:02, то есть спустя две секунды после отправки.
Механизм обработки веб-хуков предполагает что первоначально они добавляются в очередь и специальный воркер достает каждую секунду по 2 запроса и обрабатывает их.
Механизм бизнес-процессов, предполагает что действия выполняются немедленно одно за другим (параллельный процес немного другая история и сейчас его учитывать не стоит), то есть в то милисекунду, когда функция отправила запрос и получила результат что он принят системой для дальнейшей обработки, он перейдет к следующему шагу (а это могут быть миллисекунды). Улавливаете разницу?
Цитата |
---|
Stanislav Lupinskiy написал: Но в вызове вебука нет опции, типа дождаться конца выполнения. |
Правильно, потому что это механизм уведомлений, а не изменений.
Его нельзя заставить ждать или принять и обработать его ответ.
Если из системы А вы запускаете веб-хук на изменение сущности системы А по которой запущен бизнес-процесс, то вы не тем инструментом пользуетесь, для вашего действия есть блок Изменение документа.
А то что вы пытаетесь сделать это почистить машину вашей зубной щеткой (а зубы ершиком для унитаза). Конечно и то и другое возможно, но делать так не следует.