阅读:4092
回复:5
|
求发起流程的接口代码
版本.net 10.3
需要调用发起流程的接口、数据从表单直接带过去、新手 麻烦有点备注那种 多谢 |
|
1楼#
发布于:2018-11-19 08:48
参考 \Portal\WebServices\BPMService.asmx 中的 startWorkflow 方法。
|
|
2楼#
发布于:2018-11-20 09:24
|
|
|
3楼#
发布于:2018-11-20 09:25
|
|
4楼#
发布于:2018-11-20 10:32
|
|
|
5楼#
发布于:2018-11-21 10:35
金木研:大神 抄下来抱着个错误回到原帖那些webservices特有的东西就不要抄过来了,c#你还需要多了解一点,发个我的代码给你参考下。 var workflowTemplate = ActionContext.Engine.WorkflowManager.GetDefaultWorkflow(TRANSFERWORK_FLOWCODE); var schema = ActionContext.Engine.BizObjectManager.GetPublishedSchema(workflowTemplate.BizObjectSchemaCode); var bo = new DataModel.BizObject( ActionContext.Engine.Organization, ActionContext.Engine.MetadataRepository, ActionContext.Engine.BizObjectManager, schema, Organization.User.SystemUserID, Organization.Company.DefaultCompanyId); //创建流程数据 bo.SetValue("TrFromLoc", loc); //插入明细数据 var childSchema = bo.Schema.GetProperty("TransferItemDetail").ChildSchema; var childbo = new DataModel.BizObject( ActionContext.Engine.Organization, ActionContext.Engine.MetadataRepository, ActionContext.Engine.BizObjectManager, childSchema, Organization.User.SystemUserID, Organization.Company.DefaultCompanyId); childbo.SetValue("TrdItemUom", um); childbo.SetValue("TrdQty", stockqty); childbo.SetValue("TrdEffDate", DateTime.Now); bo.SetValue("TransferItemDetail", new[] { childbo }); bo.Create(); // 创建流程实例 string InstanceId = ActionContext.Engine.InstanceManager.CreateInstanceByDefault( bo.ObjectID, TRANSFERWORK_FLOWCODE, null, ActionContext.User.UserID); // 启动流程 ActionContext.Engine.InstanceManager.SendMessage(new Messages.StartInstanceMessage(InstanceId, true)); |
|