Dynamics CRM 2011表单中的window.print()问题

时间:2012-06-19 13:06:41

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

我们一直在实施Dynamics CRM 2011解决方案,其中一个要求是打印出包含子网格和图表的定制样式表单。简短的说法是单击“打印”链接(调用window.print()方法)会引发一系列JavaScript错误。但是,这些都是非致命的,点击每个都可以打印表格。

  

行:73
  查尔:24234
  错误:属性'isNull'的值为null或未定义,而不是Function对象   网址:https :: //aks7.crm4.dynamics.com/_static/_forms/controls/img.lu.htc?ver = -115872263

     

(注意上面的双冒号是有意的!)

我们早期的一个想法是问题归结为不支持的自定义,因此作为测试我创建了一个具有基本表单的新实体。在功能区上,我添加了一个调用window.print()方法的打印按钮。结果完全一样。我也在CRM Online上复制了这个问题。

结果是使用window.print()不受支持,或者我们发现了一个错误或两者兼而有之。有解决方案吗?

2 个答案:

答案 0 :(得分:0)

我怀疑它不受支持,因为本机打印功能会在发送到打印之前呈现不同的页面(建议这是其.htc文件的某些功能的解决方法)。

你能不采取同样的方法吗? “打印预览”的存根URL位于.../_forms/print/print.aspx?allsubgridspages=true&formid=<form-guid>&id=%7b<record-guid>%7d&objectType=<object-type-code>。您可以将其包装为HTML Web资源,并从HTML保留框架中调用CRM打印按钮功能。

答案 1 :(得分:0)

您必须自动执行打印预览,而不是使用window.print。

我使用它,但它不受支持:

parent.document.getElementById('Mscrm.Jewel-Default').children[0].click();
parent.document.getElementById('Mscrm.Jewel.PrintPreview-Menu16').click();

http://blog.customereffective.com/blog/2011/08/printing-in-crm-2011.html