Dynamics crm 2011 使字段在导入时成为必填字段

Dynamics crm 2011 使字段在导入时成为必填字段,dynamics-crm-2011,dynamics-crm,dynamics-crm-online,dynamics-crm-2016,Dynamics Crm 2011,Dynamics Crm,Dynamics Crm Online,Dynamics Crm 2016,我的实体X中有一个必填字段,但在导入数据时,即使我没有给该必填字段赋值,我也可以创建记录,这是不好的。 即使在导入时,如何使该字段成为必填字段 提前感谢,在进行导入时,字段的要求级别(例如业务要求)不会强制执行(主要通过UI强制执行) 在执行导入之前,您必须确保在源数据中设置了必填字段。大多数必填字段仅在用户界面上强制执行。在某些系统实体上有一些例外情况,例如contact-lastname、account-name、incident-name等等 您希望在平台级别强制执行必填字段,例如在用户界

我的实体X中有一个必填字段,但在导入数据时,即使我没有给该必填字段赋值,我也可以创建记录,这是不好的。 即使在导入时,如何使该字段成为必填字段


提前感谢,

在进行导入时,字段的要求级别(例如业务要求)不会强制执行(主要通过UI强制执行)


在执行导入之前,您必须确保在源数据中设置了必填字段。

大多数必填字段仅在用户界面上强制执行。在某些系统实体上有一些例外情况,例如contact-lastname、account-name、incident-name等等

您希望在平台级别强制执行必填字段,例如在用户界面之后,然后再将其输入数据库

最简单的方法如下:

  • 在创建或更改字段后,向实体添加同步工作流
  • 向工作流添加条件,如果字段不包含数据,则运行以下步骤:
    • 停止工作流;已取消,带有您选择的消息

  • 当字段未填充且记录不会创建或更新时,这将导致导入失败。如果您要在CRM中对此进行测试,这将导致向用户显示一个错误对话框。

    您可以创建运行在create上的操作前插件,如果实体不包含此字段,则抛出一个错误。(编辑:我没有尝试过,所以我不能100%确定它是否有效)


    您可以创建运行在create上的操作后插件,如果实体不包含此字段,则删除目标实体。

    范围为“实体”的业务规则是实施此场景的最简单的无代码解决方案

    例如,批量数据导入、工作流、插件、API/SDK调用将绕过CRM表单,因此也将绕过您可能配置的任何JavaScript或表单业务规则验证。这些类型的服务器端验证通常需要插件或同步工作流

    幸运的是,业务规则现在有一个新的作用域“实体”,它应用于服务器级别而不是表单级别。这意味着这些业务规则,就像插件和同步工作流一样,即使您在交易中没有使用CRM表单,也会执行,因为它们发生在平台(服务器端)而不是表单(浏览器/客户端)


    链接以了解更多信息:

    您应该在创建记录之前设置要执行的工作流或插件。这样就可以阻止记录的创建。如果检查之后完成,它只会显示一个错误,并且仍然会创建record@StefanWilliam-沃拉尔;我相信这些更改将作为失败的CRM事务的一部分回滚,因此如果创建了该记录,则应将其删除。我的单行解决方案是直接的,没有代码解决方案,这在其他3个答案中没有提及。链接只是为了在有人(非crm;下层选民)颠簸并想再次搜索以了解什么是业务规则时获得额外的知识(google lucky direct Link):)