这与Dynamics 365中Microsoft工作流中的CodeActivities有关。我需要在代码活动中获取与工作流相关的注释。为此,我需要代码活动中该工作流的工作流Id。但是在代码活动上下文中只有工作流实例Id,而没有工作流Id。如何从工作流实例Id中获取工作流Id?
发布于 2018-04-02 14:34:13
不幸的是你不能直接得到这个。
解决方法是设置一个输入参数&将工作流名称甚至工作流Id作为设计器中的配置项发送。阅读代码活动中的这个输入参数&检索与它相关的注释。
这样,即使有多个工作流调用/执行相同的代码活动,也能很好地工作。
发布于 2018-04-02 21:14:55
您可以使用以下代码获得使用C#的工作流id:
IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>();
IOrganizationServiceFactory serviceFactory = executionContext.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
//Retrieve processid of current workflow instance
Entity asyncOperation = service.Retrieve("asyncoperation",
context.OperationId, new Microsoft.Xrm.Sdk.Query.ColumnSet("workflowactivationid"));
var workflowid = asyncOperation.GetAttributeValue<EntityReference>("workflowactivationid").Id;在那之后,你可以用它来取笔记。
https://stackoverflow.com/questions/49608709
复制相似问题