我们已在线迁移到CRM 2015,我们遇到了已完成的电话问题。 当我们在描述字段(即textarea)上打开其中一个点击的形式然后关闭它时,我们会收到一条文本消息,提示“您的更改尚未保存。请保留在页面上您可以保存更改,单击取消。“
我们没有在该字段上运行代码,文本也没有变化。 我假设表格上有一些缩进/新行/支架优化运行,但它困扰我们。
我们已自动保存,我们希望继续保持。我知道我可以通过强制自动保存来解决它,但我们是否必须为发生这种情况的每个领域做到这一点?
答案 0 :(得分:4)
您应该查看哪些字段被视为脏字段。如果使用Internet Explorer在CRM中打开“已完成”电话,然后按F12打开开发人员工具,然后根据您使用的版本单击“调试器”选项卡/部分,则可以执行此操作。在控制台窗口中,添加此行,该行应显示CRM认为哪些字段为“脏”字段 -
alert(Xrm.Page.data.entity.getDataXml());
您还可以使用一小部分JavaScript来抓取此信息并使用window.prompt函数将其复制到剪贴板,如下面的代码所示(并且可以从Browser调试器控制台窗口运行)。
只是为了确认我的方案是否正确,您只是在点击已完成的电话的说明字段时才会看到这一点?
var dirtyFields = frames[0].Xrm.Page.data.entity.getDataXml();
window.prompt("Copy dirty fields to clipboard: Ctrl+C,Enter",dirtyFields);
这样你至少应该能够看到导致字段被认为是脏的原因。
这是使用新的CRM 2015 Spring Release,Update 1还是原始的CRM 2015在线版本?如果单击右上角的“CRM设置”图标,然后选择“关于”以查看版本号,则应该能够看到版本号。
我正在编辑这个(2016年3月22日)以反映您还可以看到这个JavaScript书签的脏字段(从收藏夹栏中的收藏夹运行或在打开后立即在地址栏上输入一行)有问题的Microsoft CRM记录)。我会运行这两个来确定哪些字段是脏的。我从http://blog.sonomapartners.com/2011/10/trying-to-catch-my-form-ridin-dirty-.html得到了这个,并使用Internet Explorer和Microsoft Dynamics CRM 2015部署进行了测试,但它也可以在Microsoft Dynamics CRM 2013,2015和2016中使用。另外提到的一点是,如果查找中使用的CRM字段在值中有多个连续的空格,则可能导致脏字段通知被触发,即“Chad Rexin”与“Chad Rexin”
javascript:var message="The following fields are dirty: \n";window.frames[0].Xrm.Page.data.entity.attributes.forEach(function(attribute,index){if(attribute.getIsDirty()==true){message+="\u2219 "+attribute.getName()+"\n";}});alert(message);