Plugins CRM 2015在线,业务流程,插件错误
伙计们。 我在自定义实体中有一个自定义BPF。另一个实体触发了一个插件来更新这个具有BPF的自定义实体。我现在遇到的问题是,如果自定义实体(带有BPF)BPF阶段不是第一阶段,插件将失败,并出现以下错误: 遍历的路径应以新的活动阶段结束 如果自定义实体(带有BPF)BPF阶段处于第一阶段,那么插件运行良好。该插件只是更新自定义实体的一些字段(使用BPF) 你们能给我一些建议吗?我真的不明白那个错误,我试着用谷歌搜索它,但我能找到的信息很少。Plugins CRM 2015在线,业务流程,插件错误,plugins,dynamics-crm-2015,business-process,Plugins,Dynamics Crm 2015,Business Process,伙计们。 我在自定义实体中有一个自定义BPF。另一个实体触发了一个插件来更新这个具有BPF的自定义实体。我现在遇到的问题是,如果自定义实体(带有BPF)BPF阶段不是第一阶段,插件将失败,并出现以下错误: 遍历的路径应以新的活动阶段结束 如果自定义实体(带有BPF)BPF阶段处于第一阶段,那么插件运行良好。该插件只是更新自定义实体的一些字段(使用BPF) 你们能给我一些建议吗?我真的不明白那个错误,我试着用谷歌搜索它,但我能找到的信息很少。 谢谢。如果您收到travesed path error
谢谢。如果您收到travesed path error,则在名为
travesedpath
因此,此字段包含从第一个活动阶段到当前活动阶段的阶段id
例如,如果您的实体有一个流程,它有6个阶段和当前活动阶段
第三阶段。
所以travesedpath
包含从第一阶段到第三阶段的3个Guid
如c1a07479-aa88-4b50-9675-61d840083530、efff5adb-48f2-47c7-8d0b-5f3807702f9b、a2717242-a072-4cd0-ac57-3A4 EADDBCA7
此TraveSetPath字段是文本字段
在插件中,您将首先从当前实体获取遍历路径
或预映像,然后使用此传送路径添加新guid。
例如,stringtraversedPath=currentEntity.Attribute[“traversedPath”];
然后
travesedPath+=newStageid`
然后更新您的实体这里的问题是BPF需要一个在使用它进行分支时创建的所有GUID的列表。这意味着您需要执行以下操作:
string straversed = entity["traversedpath"].ToString();
string stageid = entity.Attributes["stageid"].ToString();
entity.Attributes["traversedpath"] = straversed + "," + stageid;
try
{
service.Update(entity);
}
当前阶段是遍历路径中的最后一个guid,因此可以将stageid添加到遍历路径中
这应该管用!如果有,请告诉我 似乎你从第一阶段就开始尝试使用字段,因此,一旦字段“固定”在其中,你就无法返回。我们需要关于BPF和插件的更多信息,但我猜您需要使这些字段在BPF中不是必须的。@Analyst,我不想处理/相关BPF中的字段,只处理一些常规字段,如日期、文本字段。插件只更新这些字段,而不是BPF中的字段。它们是相关的,例如,如果表单中有一个字段显示名称,它也可以在BPF中显示描述或全名,因为您可以更改BPF上的显示名称,但对于CRM来说,它仍然是相同的字段,区别在于它属于特定阶段(在您的案例中是前一个),并帮助用户了解输入数据的顺序,因此,在BPF处于活动状态或受其限制的字段中,返回(更新)可能不可用。