这就是我目前申请退回组织中所有操作的方式:
var qe = new QueryExpression("workflow");
qe.ColumnSet = new ColumnSet(true);
qe.Criteria.AddCondition("category", ConditionOperator.Equal, 3); // Action
qe.Criteria.AddCondition("parentworkflowid", ConditionOperator.Null);
唯一的问题是,当我查看返回的唯一名称时,它返回的是进程名称,即My Custom Action
而不是实际的唯一名称,即new_MyCustomAction
。
这是一个错误,还是我做错了什么?
答案 0 :(得分:1)
主张:
使用此fetchxml检索已激活的操作名称+带有前缀的完整唯一名称。
<fetch>
<entity name="workflow" >
<attribute name="name" />
<filter type="and" >
<condition attribute="category" operator="eq" value="3" />
<condition attribute="statuscode" operator="eq" value="2" />
<condition attribute="type" operator="eq" value="2" />
</filter>
<link-entity name="sdkmessage" from="sdkmessageid" to="sdkmessageid" link-type="inner" alias="sdkMsg" >
<attribute name="name" />
</link-entity>
</entity>
</fetch>
&#13;
答案 1 :(得分:0)
流程与发布商无关,因此他们不具有带字段前缀的唯一名称。
然而,Actions会显示一个前缀,而CRM会在内部将其存储在某处,证明如果操作是在解决方案之外或内部创建的,则前缀不同。
但是当你获得某个操作的uniquename
属性时(标准工作流不包含此属性,它们只包含name
)它没有前缀和CRM将它(剥离)与ID结合使用,使其在解决方案中独一无二:
<Workflows>
<Workflow WorkflowId="{ed949164-510c-409a-8b85-8a6917fd57d6}" Name="Update Name">
<XamlFileName>/Workflows/UpdateName-ED949164-510C-409A-8B85-8A6917FD57D6.xaml</XamlFileName>
<Category>3</Category>
<UniqueName>UpdateName</UniqueName>
这是一个错误吗?这是一个功能?它们俩都是? Ai posteri l&#39; ardua sentenza
答案 2 :(得分:0)
有关带前缀的自定义操作唯一名称的信息位于sdkmessagerequest实体中,该实体可以链接到sdkmessage实体,而工作流实体具有sdkmessageid。 自定义操作的唯一名称来自于它们被视为自定义sdk消息的事实。 希望这有帮助!