dynamics-crm-2011 - 如何在不破坏 Web UI 的情况下编辑 CRM 工作流 xaml
问题描述
我有一个使用 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.
我对此有几个问题:
- crm 如何知道工作流程已被编辑?我使用 CRM 生成的 xaml 来解决问题,而其他一切都保持不变。
- 我在导出的工作流程中的某处存储了哈希或 md5?
- 我能否生成一个新的哈希值来欺骗 CRM,让其认为工作流源自 Web UI?
解决方案
大家好消息!CRM 2011 不知道您是否编辑了 xaml,没有隐藏的哈希或其他机制确保导入的 xaml 仅由 CRM 生成。
但是,如果 xaml 中存在任何不一致,则会出现上述误导性消息。
在我的例子中,工作流中的每个变量都有一个唯一的 TypeArgument 名称。我没有将我从工作示例 xaml 复制的名称更新为已在损坏的工作流中使用的 TypeArgument 名称。
一旦我解决了这个问题,CRM 就会愉快地导入工作流,我可以对其进行编辑。
推荐阅读
- node.js - 环回 OAuth2 认证
- jmeter - JVM 应该已经退出但没有
- python - 如何在 Python SDK 中运行 docker 命令
- debugging - Pycharm - 仅在调试时缺少模块
- java - 在 Java 中使用 MIDI 设备编写程序
- c# - 使用 .NET 导入 Pkcs#8 加密私钥
- ssis - 更改源文件不更新数据库表 SSIS
- html - CSS Clip - 允许背景显示
- anaconda - conda 从本地存档文件构建源
- azure-cosmosdb - 从 gremlin 控制台连接到 cosmos db graph api:“异常=键必须是标量”