当没有数据发生更改时,Dynamics CRM 2011会在关闭时显示未保存的数据弹出窗口

时间:2015-02-12 12:46:32

标签: dynamics-crm-2011 dynamics-crm crm

在我们的Dynamics CRM 2001网站上,我遇到了一个奇怪的问题。当我打开一条记录然后关闭它而不修改任何内容时,我得到一个弹出窗口,表示我有未保存的更改,即使没有任何更改。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

首先要注意的是,当字段标记为"脏"时,显示弹出窗口,换句话说,当它在表单上显示的值不等于其值时检索。有时这个问题只是表单显示修剪查找字段中的空格的一个简单问题。比如说查找字段命名为"测试" (注意空格)。在表单中显示时,此值有时会被修剪为" Test",这会导致值不同,从而标记为脏。换行也会出现同样的问题。

幸运的是,很容易找出哪些字段被标记为脏。首先,转到表单的定义页面。在那里,打开表单属性页面,您可以在其中找到正在加载的JavaScript库。使用以下内容创建一个新库:

function find_dirty_fields_on_save() { console.log(Xrm.Page.data.entity.getDataXml()); }

然后选择OnSave事件并向我们新添加的find_dirty_fields_on_save()函数添加事件处理程序。

现在保存表单并发布。

最后一步是转到有弹出问题的记录。打开记录页面并打开一个开发人员控制台,以便查看console.log命令的输出。在记录页面上不执行任何操作,然后单击“保存”按钮。此时,将调用我们的自定义函数,该函数将记录(作为XML)将保存的字段。由于只保存脏字段,您现在可以在开发人员控制台中找到它们。