首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Dynamic365中的工作流实例ID中获取工作流ID?

如何从Dynamic365中的工作流实例ID中获取工作流ID?
EN

Stack Overflow用户
提问于 2018-04-02 09:30:40
回答 2查看 2.3K关注 0票数 2

这与Dynamics 365中Microsoft工作流中的CodeActivities有关。我需要在代码活动中获取与工作流相关的注释。为此,我需要代码活动中该工作流的工作流Id。但是在代码活动上下文中只有工作流实例Id,而没有工作流Id。如何从工作流实例Id中获取工作流Id?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-02 14:34:13

不幸的是你不能直接得到这个。

解决方法是设置一个输入参数&将工作流名称甚至工作流Id作为设计器中的配置项发送。阅读代码活动中的这个输入参数&检索与它相关的注释。

这样,即使有多个工作流调用/执行相同的代码活动,也能很好地工作。

票数 1
EN

Stack Overflow用户

发布于 2018-04-02 21:14:55

您可以使用以下代码获得使用C#的工作流id:

代码语言:javascript
复制
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;

在那之后,你可以用它来取笔记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49608709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档