如何在不破坏Web UI的情况下编辑CRM Workflow xaml

时间:2019-02-15 18:18:52

标签: dynamics-crm-2011 sharepoint-workflow

我有一个使用CRM工作流UI创建的工作流。 UI以某种方式允许我使用具有SystemUserRole作为输入实体的自定义活动来创建工作流。您不能将其用作输入实体,因为它是一个多对多关系实体。因此,尽管UI最初允许它,但是尝试打开工作流以稍后对其进行编辑时,会导致一个异常,表明CRM无法“撤回” SystemUserRole实体。

因此,由于无法在UI中打开工作流以解决此问题,因此我导出了工作流,并使用了我导出的另一个工作流中的一些示例xaml来编辑xaml,该工作流引用了正确/预期的输入实体类型“角色”。

但是现在当我将工作流程重新导入CRM时,UI会显示:

Processes designed outside the Microsoft Dynamics CRM web application 
cannot be viewed or edited in the web application.

对此我有几个问题:

  1. crm如何知道工作流程已编辑?我使用CRM生成的xaml来解决此问题,并保持所有其他功能不变。
  2. 在导出的工作流程中的某个地方是否存储了哈希或md5?
  3. 我可以生成新的哈希表来欺骗CRM认为工作流源自Web UI吗?

1 个答案:

答案 0 :(得分:0)

大家好消息! CRM 2011不知道您是否编辑过xaml,没有隐藏的哈希或其他机制可以确保导入的xaml仅由CRM生成。

但是,如果xaml中存在任何不一致之处,则会出现上面的误导性消息。

就我而言,工作流程中的每个变量都有一个唯一的TypeArgument名称。我没有将我从工作示例xaml复制的Name更新为损坏的工作流中已经在使用的TypeArgument名称。

一旦解决此问题,CRM便愉快地导入了工作流程,并且可以对其进行编辑。