【问题标题】:Dirty form with no dirty fields on CRM 2015 online在线 CRM 2015 上没有脏字段的脏表单
【发布时间】:2015-09-23 08:52:11
【问题描述】:

我们已在线迁移到 CRM 2015,但我们遇到了已完成电话呼叫的问题。 当我们打开其中一个点击的表单时,例如在描述字段(即文本区域)上然后关闭它,我们会收到一条短信提示,上面写着“您的更改尚未保存。要留在页面上,所以您可以保存更改,请单击取消。”

我们没有在该字段上运行代码,文本也没有改变。 我假设在表单上运行了一些缩进/新行/马车优化,但这让我们很困扰。

我们已开启自动保存功能,我们希望继续开启。我知道我可以通过强制自动保存来解决这个问题,但是我们是否必须为发生这种情况的每个字段都这样做?

【问题讨论】:

  • 您没有明确说 - 在表单的加载或“检索”插件上是否有任何代码运行?这仅适用于已完成的电话吗?或任何电话?如果打开的电话正在做同样的事情,您可以通过打开表单并点击保存来轻松找出罪魁祸首 - 然后查看审核历史记录。

标签: crm microsoft-dynamics dynamics-crm-2015


【解决方案1】:

您应该查看哪些字段被视为脏字段。如果使用 Internet Explorer 在 CRM 中打开已完成的电话,然后按 F12 打开开发人员工具,然后根据您使用的版本单击“调试器”选项卡/部分,则可以执行此操作。在控制台窗口中,添加这一行,它应该显示 CRM 认为哪些字段是“脏”字段 - alert(Xrm.Page.data.entity.getDataXml());

您还可以使用一小段 JavaScript 来获取此信息并使用 window.prompt 函数将其复制到剪贴板,如下面的代码所示(可以从浏览器调试器控制台窗口运行)。

只是为了确认我的情况是正确的,您只有在单击已完成电话的描述字段时才会看到这个?

var dirtyFields = frames[0].Xrm.Page.data.entity.getDataXml();
window.prompt("Copy dirty fields to clipboard: Ctrl+C,Enter",dirtyFields);

这样,您至少应该能够看到导致字段被视为脏的原因。

这与新的 CRM 2015 春季版本更新 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);

【讨论】:

  • 我也有类似的情况。我尝试了列出的 javascript 并得到“”作为响应。我故意弄脏了一个字段,并且该字段显示在标签之间。我强行保存,它仍然告诉我在导航时需要保存。想法?
猜你喜欢
  • 1970-01-01
  • 2015-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-14
  • 2023-03-15
相关资源
最近更新 更多