Интеграция с бизнес процессами по ProcessEngineService, как отправить сигнал в процесс?
Доброго времени суток.
Тестирую возможности вашего инструмента, пытаюсь настроить интеграцию фронта через прокси с Creatio.
Научился создавать новый бизнес процесс и передавать данные, но не могу понять как им можно управлять через интеграцию.
Есть вот такой процесс заказа:
Мне нужно, чтобы после создания заказа, с ним можно было оперировать, например, завершить его.
Пытался отправлять сигнал похожим на создание процесса способом:
Но вместо schemaUId мне нужно передавать uid процесса, запущенного ранее.
По документации, не могу найти под каким параметром можно передать uid процесса, а не uid схемы процеса.
Конечно есть альтернативный вариант, сделать ожидание сигнала от другого процесса и при необходимости взаимодействия с процессом заказа, вызывать сторонний процесс, который просто вызовет событие в процессе заказа. Но мне такой вариант не нравится.
Подскажите, существует ли возможность активировать сигнал в определенном запущенном процессе с передачей данных?
Нравится
>Если функционал по вызову События или отправки Сигнала с передачей данных в БП через ProcessEngineService.svc отсутствует, то этот ответ меня тоже устроит.
К сожалению с таким на практике не встречался, подсказать не могу.
Вариант решения делать на каждой действие простой процесс (подпроцесс).
Например процесс добавления товара в заказ, у него будут входящие параметры: id заказа, id товара, булевый параметр. Запускаем этот процесс через ProcessEngineService.
На мой взгляд для текущей задачи больше подойдет odata https://academy.terrasoft.ru/docs/7-17/developer/integrations_and_api/d…
Для обобщения, меня в данном случае интересует выработка бест практайс и определение возможностей сервиса, а не решение конкретной задачи.
Интеграцию с odata я уже реализовал на прокси и умею через нее добавлять товары в заказ. Но хотелось бы больше контроля над бизнес процессом, от этого и вопрос.
Например мне нужно при изменении заказа уведомить склад о реформировании заказа. В таком случае я вижу 3 варианта:
1. OData. На прокси при добавлении заказа отсылать email (плохо, мало контроля и не очевидно в рамках БП).
2. OData + BPMN. В самом БП создать некую подписку на добавление товара в данный заказ и сделать отправку email (уже лучше, но например не при каждом изменении заказа мне нужно отправлять email, в таком случае появятся кастыли вроде сохранения промежуточных булевых переменных в данных, для определения вида изменения заказа).
3. BPMN. Чистая реализация на вызове отдельного события в процессе с передачей данных. Это позволит добавлять любой товар по простому сигналу и получить контроль над процессом, передавать дополнительно булевые переменные для модификации поведения БП в рантайме.
3-ий вариант для меня сейчас самый приоритетный.
Если функционал по вызову События или отправки Сигнала с передачей данных в БП через ProcessEngineService.svc отсутствует, то этот ответ меня тоже устроит.
>Если функционал по вызову События или отправки Сигнала с передачей данных в БП через ProcessEngineService.svc отсутствует, то этот ответ меня тоже устроит.
К сожалению с таким на практике не встречался, подсказать не могу.
Вариант решения делать на каждой действие простой процесс (подпроцесс).
Например процесс добавления товара в заказ, у него будут входящие параметры: id заказа, id товара, булевый параметр. Запускаем этот процесс через ProcessEngineService.