Для вызова WF в синхронном или асинхронном режиме необходимо использовать стандартные для Siebel Business Service
try { svcServerRequest = TheApplication().GetService("Synchronous Server Requests"); psWorkflowChildIn = TheApplication().NewPropertySet(); psWorkflowIn = TheApplication().NewPropertySet(); psWorkflowOut = TheApplication().NewPropertySet(); psWorkflowChildIn.SetProperty("ProcessName", "My Workflow Process"); psWorkflowChildIn.SetProperty("inputParamName", "1-QWERTY"); psWorkflowIn.SetProperty("Component", "WfProcMgr"); psWorkflowIn.AddChild(psWorkflowChildIn); svcServerRequest.InvokeMethod("SubmitRequest", psWorkflowIn, psWorkflowOut); } catch(e) { TheApplication().RaiseErrorText(e.toString()); } finally { svcServerRequest = null; }
При асинхронном вызове происходит создание задачи на сервере, далее задача будет выполнена в порядке очереди.
var svcServerRequest; var psWorkflowChildIn; var psWorkflowIn; var psWorkflowOut; try{ svcServerRequest = TheApplication().GetService("Asynchronous Server Requests"); psWorkflowChildIn = TheApplication().NewPropertySet(); psWorkflowIn = TheApplication().NewPropertySet(); psWorkflowOut = TheApplication().NewPropertySet(); psWorkflowChildIn.SetProperty("ProcessName", "My Workflow Process"); psWorkflowChildIn.SetProperty("inputParamName", "1-QWERTY"); psWorkflowIn.SetProperty("Component", "WfProcMgr"); psWorkflowIn.AddChild(psWorkflowChildIn); svcServerRequest.InvokeMethod("SubmitRequest", psWorkflowIn, psWorkflowOut); } catch(e) { TheApplication().RaiseErrorText(e.toString()); } finally { svcServerRequest = null; }
var svcWorkflow; var psWFInputs; var psWFOutputs; try { svcWorkflow = TheApplication().GetService("Workflow Process Manager"); psWFInputs = TheApplication().NewPropertySet(); psWFOutputs = TheApplication().NewPropertySet(); psWFInputs.SetProperty("ProcessName", "My Workflow Process"); svcWorkflow.InvokeMethod("RunProcess", psWFInputs, psWFOutputs); } catch(e) { TheApplication().RaiseErrorText(e.toString()); } finally { svcWorkflow = null; }
— wiki_admin 2019/09/18 09:35 eScript