Dynamics crm 2011 CRM 2011-对“客户关系管理”的审计;“两个选择”;创建操作上的字段

Dynamics crm 2011 CRM 2011-对“客户关系管理”的审计;“两个选择”;创建操作上的字段,dynamics-crm-2011,Dynamics Crm 2011,我在CRM 2011中启用了审核选项时,遇到了两个选项字段的问题 由于CRM两个选项字段在默认情况下具有默认值No/Yes,因此在启用审核时,始终在entity Create(实体创建)上为这些字段创建相关审核记录 这些包含默认布尔值(false/true)的字段审核实际上对用户没有用处,因为此初始未更改的值应被视为Null。因此,在这种情况下,不应创建审计并向用户显示,特别是当存在大量布尔字段和对实体进行非常频繁的创建操作时 我可以将两个选项字段twoOptionsField的默认值设置为nu

我在CRM 2011中启用了审核选项时,遇到了两个选项字段的问题

由于CRM两个选项字段在默认情况下具有默认值No/Yes
,因此在启用审核时,始终在entity Create(实体创建)上为这些字段创建相关审核记录

这些包含默认布尔值(false/true)的字段审核实际上对用户没有用处,因为此初始未更改的值应被视为Null。因此,在这种情况下,不应创建审计并向用户显示,特别是当存在大量布尔字段和对实体进行非常频繁的创建操作时

我可以将两个选项字段twoOptionsField的默认值设置为null,而不是falsetrue,方法是在表单加载时执行以下操作:

var twoOptionsField=Xrm.Page.getAttribute(“twoOptionsField”);
twoOptionsField.setValue(null);//将该值设置为null
twoOptionsField.setSubmitMode(“始终”);//存储空值
但这将自动添加字段audit,并在Create上使用空值


是否有任何有效的方法可以避免在实体创建时启用审核的初始“null”/“默认值”两个选项字段的审核记录?

我不知道任何设置。您可以采用的一种策略是在实体的预创建\更新中检查该字段的值,如果该字段为null,则为该字段启用审核。审核可以应用于组织\实体和属性。我不尝试这只是一个想法:D

我不知道任何设置。您可以采用的一种策略是在实体的预创建\更新中检查该字段的值,如果该字段为null,则为该字段启用审核。审核可以应用于组织\实体和属性。我不尝试这只是一个想法:D

使用响应创建消息的插件更改设置是否有效?(不太确定,但这是个主意。)谢谢你的建议。我将检查是否有任何东西可以与响应创建消息的插件(预操作)一起工作,并将更新您。使用响应创建消息的插件更改设置是否有效?(不太确定,但这是个主意。)谢谢你的建议。我将检查是否有任何东西可以与插件一起创建消息(预操作),并将更新您。谢谢。我会检查插件的建议很快。但是我认为禁用代码中的审计功能将不是一个好的解决方案:考虑用户1创建具有null布尔字段的实体的新记录,审计日志将在代码中被禁用(可能是临时的),并且字段将不被审计;这没关系。同时,用户2使用修改的布尔字段创建实体的新记录。此处的审核应为用户2创建。但是在这种情况下,审计日志只是被禁用了,所以审计记录不会被插入,这是错误的。好吧,我不认为在这种情况下。但是如果你在事件前禁用了审计,在事件后禁用了活动审计,我认为它应该运行良好,会有毫秒的差异,但如果我有更好的解决方案,这是一个风险。谢谢。我会检查插件的建议很快。但是我认为禁用代码中的审计功能将不是一个好的解决方案:考虑用户1创建具有null布尔字段的实体的新记录,审计日志将在代码中被禁用(可能是临时的),并且字段将不被审计;这没关系。同时,用户2使用修改的布尔字段创建实体的新记录。此处的审核应为用户2创建。但是在这种情况下,审计日志只是被禁用了,所以审计记录不会被插入,这是错误的。好吧,我不认为在这种情况下。但如果你在事件前禁用了审计,在事件后禁用了活动审计,我认为它应该运行良好,会有毫秒的差异,但如果我有更好的解决方案,这是一个风险。