如果用户添加不同的托管解决方案,如何管理 CRM 表单字段和功能区按钮?

How to manage CRM Form field and Ribbon button if user add different Managed Solution?

我是CRM的初学者。我几乎没有基本的困惑。我想在做大事之前清除它。我有 2 个案例让我感到困惑。

Case 1: I have a Managed Solution with 2 version. MyAccount 1.0.0.0 and MyAccount 1.0.1.0. In version 1.0.0.0 I have field in CRM Account form. In version 1.0.1.0, I have added a field Address FAX and removed a field Website. So, when user add version 1.0.1.0, it will overwrite the design. Can I change this behavior if I want to keep older design?

Case 2: I have 2 different Managed Solutions. MyAccount 1.0.0.0 and ManageBankAccount 1.0.0.0. In first Managed Solution I have field in CRM Account form. In second Managed Solution, I have added a field Address FAX and removed a field Website. So, what will be the result if A- User add first Managed Solution and then second Managed Solution? B- User add second Managed Solution and then first Managed Solution?

有人可以为案例 1、案例 2-A、案例 2-B 推荐我吗?

(此处,插件表示托管解决方案。)

注意:这些是我根据MSDN以下内容的理解:

Merging Form Customizations

When a solution is packaged as a managed solution the form definitions stored in FormXML are compared to the original FormXML and only the differences are included in the managed solution. When the managed solution is installed in a new organization, the form customization differences are then merged with the FormXML for the existing form to create a new form definition. This new form definition is what the user sees and what a system customizer can modify. When the managed solution is uninstalled, only those form elements found in the managed solution are removed.

When you add new elements to a form that is to be merged, we recommend that you include your new elements within new container elements (tabs or sections). Additions to any container will be appended to the end of the container. For example, fields added to a section will be positioned at the end of the section. It is expected that a customizer installing a solution will then modify the form to re-arrange elements after it is installed.

另请阅读Conflict resolution

Top Wins

For all other solution components any conflict is calculated in favor of the customization that is applied last. For managed solutions this usually means that the last solution installed is applied.

现在回答您的问题:

Case 1: I have a Managed Solution with 2 version. MyAccount 1.0.0.0 and MyAccount 1.0.1.0. In version 1.0.0.0 I have field in CRM Account form. In version 1.0.1.0, I have added a field Address FAX and removed a field Website. So, when user add version 1.0.1.0, it will overwrite the design. Can I change this behavior if I want to keep older design?

不,您不能这样更改此覆盖行为。这是托管解决方案组件导入的默认 CRM 产品行为。

假设您已经导入 1.0.0.0(带有“网站”字段/没有“传真”字段的表单),那么不要导入 1.0.1.0 (带“传真”字段/不带“网站”字段的表单),或删除托管解决方案 1.0.1.0,这会将表单布局恢复为 1.0.0.0解决方案.

删除托管解决方案将回滚到任何组件(表单)的先前版本。这样你就可以保留旧的设计。

Case 2: I have 2 different Managed Solutions. MyAccount 1.0.0.0 and ManageBankAccount 1.0.0.0. In first Managed Solution I have field in CRM Account form. In second Managed Solution, I have added a field Address FAX and removed a field Website. So, what will be the result if A- User add first Managed Solution and then second Managed Solution? B- User add second Managed Solution and then first Managed Solution?

案例 2-A:
首先安装 MyAccount(带有“网站”字段/没有“传真”字段的表格),然后安装 ManageBankAccount(带有“传真”字段/没有“网站”字段的表格)。

最终结果将是基于 ManageBankAccount 的表单呈现(带有“传真”字段/没有“网站”字段的表单)

案例 2-B:
首先安装 ManageBankAccount(带“传真”字段/不带“网站”字段的表格),然后安装 MyAccount(带“网站”字段的表格/不带“传真”字段的表格)。

最终结果将是基于 MyAccount 的表单呈现(带有“网站”字段/没有“传真”字段的表单)