wf:sync_async_run_workflow
Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версійПопередня ревізіяНаступна ревізія | Попередня ревізія | ||
| wf:sync_async_run_workflow [2019/09/18 11:33] – wiki_admin | wf:sync_async_run_workflow [2022/05/23 15:26] (поточний) – зовнішнє редагування 127.0.0.1 | ||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| + | ====== Синхронный и асинхронный вызов WorkFlow ====== | ||
| + | |||
| + | Для вызова WF в синхронном или асинхронном режиме необходимо использовать стандартные для [[bs: | ||
| + | |||
| + | |||
| + | ===== Синхронное ===== | ||
| + | <code javascript> | ||
| + | try { | ||
| + | svcServerRequest = TheApplication().GetService(" | ||
| + | psWorkflowChildIn = TheApplication().NewPropertySet(); | ||
| + | psWorkflowIn = TheApplication().NewPropertySet(); | ||
| + | psWorkflowOut = TheApplication().NewPropertySet(); | ||
| + | |||
| + | psWorkflowChildIn.SetProperty(" | ||
| + | psWorkflowChildIn.SetProperty(" | ||
| + | | ||
| + | psWorkflowIn.SetProperty(" | ||
| + | psWorkflowIn.AddChild(psWorkflowChildIn); | ||
| + | |||
| + | svcServerRequest.InvokeMethod(" | ||
| + | } catch(e) { | ||
| + | TheApplication().RaiseErrorText(e.toString()); | ||
| + | } finally { | ||
| + | svcServerRequest = null; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Асинхронное ===== | ||
| + | |||
| + | При асинхронном вызове происходит создание задачи на сервере, | ||
| + | <note important> | ||
| + | </ | ||
| + | <code javascript> | ||
| + | var svcServerRequest; | ||
| + | var psWorkflowChildIn; | ||
| + | var psWorkflowIn; | ||
| + | var psWorkflowOut; | ||
| + | |||
| + | try{ | ||
| + | svcServerRequest = TheApplication().GetService(" | ||
| + | psWorkflowChildIn = TheApplication().NewPropertySet(); | ||
| + | psWorkflowIn = TheApplication().NewPropertySet(); | ||
| + | psWorkflowOut = TheApplication().NewPropertySet(); | ||
| + | | ||
| + | psWorkflowChildIn.SetProperty(" | ||
| + | psWorkflowChildIn.SetProperty(" | ||
| + | |||
| + | psWorkflowIn.SetProperty(" | ||
| + | psWorkflowIn.AddChild(psWorkflowChildIn); | ||
| + | |||
| + | svcServerRequest.InvokeMethod(" | ||
| + | } catch(e) { | ||
| + | TheApplication().RaiseErrorText(e.toString()); | ||
| + | } finally { | ||
| + | svcServerRequest = null; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Вызов как Business service ===== | ||
| + | |||
| + | <code javascript> | ||
| + | var svcWorkflow; | ||
| + | var psWFInputs; | ||
| + | var psWFOutputs; | ||
| + | |||
| + | try { | ||
| + | svcWorkflow = TheApplication().GetService(" | ||
| + | psWFInputs = TheApplication().NewPropertySet(); | ||
| + | psWFOutputs = TheApplication().NewPropertySet(); | ||
| + | | ||
| + | psWFInputs.SetProperty(" | ||
| + | | ||
| + | svcWorkflow.InvokeMethod(" | ||
| + | } catch(e) { | ||
| + | TheApplication().RaiseErrorText(e.toString()); | ||
| + | } finally | ||
| + | svcWorkflow = null; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | --- // | ||
| + | {{tag> | ||
