Axapta HTML打印生成空的零宽度列

Axapta HTML打印生成空的零宽度列,axapta,dynamics-ax-2009,html-generation,Axapta,Dynamics Ax 2009,Html Generation,我试图找出是什么原因导致我们的AX 2009环境中的某些(MorpX)报告使用额外的空白零宽度列打印 这些列的出现似乎是随着时间的推移而出现的,并且似乎与报表本身的任何更改无关。我已经能够将问题追溯到HTML格式的报告,其中生成的HTML如下所示: <tr> <td colspan="1" style="text-indent: 0px; font-family: Arial; font-weight: 400; font-size: 9pt; color: #000000;

我试图找出是什么原因导致我们的AX 2009环境中的某些(MorpX)报告使用额外的空白零宽度列打印

这些列的出现似乎是随着时间的推移而出现的,并且似乎与报表本身的任何更改无关。我已经能够将问题追溯到HTML格式的报告,其中生成的HTML如下所示:

<tr>
<td colspan="1" style="text-indent: 0px; font-family: Arial; font-weight: 400; font-size: 9pt; color: #000000; text-align: right" nowrap>SO-0043355</td>
<td WIDTH="0.0%"></td>
<td colspan="1" style="text-indent: 0px; font-family: Arial; font-weight: 400; font-size: 9pt; color: #000000; text-align: left" nowrap>00041891</td>
</tr>

SO-0043355
00041891
在上面的示例中,有一个这样的列。通常,我们使用扩展名
.xls
保存这些文件,然后当Excel打开文件时,它会自动将报告格式化为基于单元格的布局。这些额外的
td
标记未设置为零或隐藏宽度,而是默认的Excel单元格宽度。这些额外的列会导致用户在处理数据之前花费大量的时间来清理它们

另外看看原始HTML,我发现某些单元格具有不同的colspan值。在一种情况下,重复相同的信息,一个单元格的colspan为2,而另一个单元格的colspan为1

我尝试使用最简单的数据源和最基本的设计重新创建报告,但问题仍然存在

我似乎找不到任何模式来说明哪些报告会有这个专栏,哪些不会。一份报告有一天会打印得很完美(没有额外的列),下一天会有这些额外的列。一旦他们做了专栏,我们似乎无法摆脱他们。此时附近不会发生代码更改。在某些情况下,我们在看到这种情况发生之前数月内没有对报告进行任何更改

我不知道在哪里可以找到生成这个HTML的代码,我认为这可以回答我所看到的许多差异。我试图搜索它,但它似乎深入到核心内核中,我们无法查看或修改它


有没有线索可以解释为什么会发生这种情况,以及我们如何解决它?

经过一些有趣的测试,似乎这个问题与我们大约4-5个月前安装的KB2934938有关。使用测试虚拟机,我应用了我们的每个AX更新(SP1、SP1汇总6、KB2934938),而没有更改任何其他内容,并且在每次升级完成后运行报告。在应用KB2934938修补程序之前,我们不会看到空列。

在不同的计算机上使用完全相同的报告场景安装了不同版本的IE。IE不应进入等式-报告是MorpX,而不是SSR。不管怎样,一旦一个报表有了额外的列,它就会为所有用户和计算机显示这些列,而不管配置如何。我猜测(没有深入研究报表),AX可能正在使用某种HTML控件生成不同IE版本的输出,类似于此问题:。排除可能性的快速测试。啊,我明白了。不幸的是,我们只有IE10(偶尔有一台Windows8机器运行IE11)。我们没有任何IE9或以下的机器(测试或其他)。但在IE10和IE11机器上,结果是相同的。我会试着在这期间安装一台IE9机器。还有一个问题。您说报告在某一天可以正常工作,而不是在第二天(我假设是在同一台机器/设置上)。这指向正在更改的数据,例如一列将显示null/''数据,该数据可能最终显示为空白TD。有没有这样的基本报告?当您有一个包含空行的报告时,能否在具有相同输入的多台计算机上以相同问题重新运行报告10x?我只是确认它可以在具有相同数据的机器之间重复。