我试图找出是什么导致我们的 AX 2009 环境中的某些(MorphX)报告使用额外的空白零宽度列打印。
这些列的出现似乎随着时间的推移而出现,并且似乎与报告本身的任何变化无关。我已经能够将问题追溯到 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>
在上面的示例中,有一个这样的列。通常,我们使用.xls
扩展名保存这些文件,然后当 Excel 打开文件时,它会自动将报告格式化为基于单元格的布局。这些额外的td
标签没有设置为零或隐藏的宽度,而是默认的 Excel 单元格宽度。这些额外的列导致用户在能够处理数据之前花费大量时间来清理它们。
另外查看原始 HTML,我发现某些单元格具有不同的 colspan 值。在一种情况下,重复相同的信息,一个单元格的 colspan 为 2,而另一个单元格的 colspan 为 1。
我尝试使用最简单的数据源和最基本的设计重新创建报告,但问题仍然存在。
我似乎找不到任何模式来说明哪些报告将包含此列,哪些不会。一份报告将在某一天完美打印(没有额外的列),下一天将有这些额外的列。一旦他们做了专栏,我们似乎无法摆脱它们。这段时间附近没有发生代码更改。在某些情况下,我们在看到这种情况发生之前的几个月内都没有对报告进行任何更改。
我不知道在哪里可以找到生成此 HTML 的代码,我认为这可以回答我所看到的许多差异。我试图搜索它,但它似乎在核心内核的深处,我们无权查看或修改。
是否有任何线索可以解释为什么会发生这种情况,以及我们如何能够解决它?