You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

D365插件:如何高效获取活动业务流程流的UniqueName?

优化业务流程流UniqueName获取方式

你可以通过扩展RetrieveProcessInstancesRequest的ColumnSet参数,在单次组织服务调用中同时获取流程实例及其关联workflow的uniquename,无需发起第二次Retrieve请求,具体实现如下:

修改后的代码示例

RetrieveProcessInstancesRequest processRequest = new RetrieveProcessInstancesRequest()
{
    EntityId = targetRef.Id,
    EntityLogicalName = targetRef.LogicalName,
    // 指定要获取的字段,包含关联workflow的uniquename
    ColumnSet = new ColumnSet("processid", "processid.uniquename")
};

RetrieveProcessInstancesResponse processResponse = (RetrieveProcessInstancesResponse)service.Execute(processRequest);
Entity activeProcess = processResponse.Processes[0];

// 直接从关联的processid引用中提取uniquename
string uniqueName = activeProcess.GetAttributeValue<EntityReference>("processid").GetAttributeValue<string>("uniquename");

原理说明

默认情况下,RetrieveProcessInstancesRequest仅返回流程实例的核心字段。通过在ColumnSet中使用关联属性路径processid.uniquename,组织服务会自动关联查询对应的workflow实体,并返回指定的uniquename属性,从而将两次服务调用合并为一次,提升执行效率。

内容的提问来源于stack exchange,提问作者Zach Mast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 23:02:40