前段时间在项目上做一个HTML版的凭证打印,空白行的问题找了不少资料,最后终于在一个同事的帮助下完成了。
比如:一个凭证有4行,此凭证固定行数为8行,如果不做处理,就会出现没有数据的行出现连续空白的情况,最后,定义了
一个常量,可能现在想很简单,但是当时就没有想到这样做。
l_cell_null CONSTANT varchar2(10) := chr(38) || 'nbsp;';
在可能出现空白行的地方,在最后加上如下代码所示的样子:
nvl(substr((Get_Segment_Desc(c2.list_account,
'segment3',
l_sob_id) || ' ' ||
Get_Segment_Desc(c2.segment4,
'segment4',
l_sob_id)),
1,
40),
l_cell_null) || l_cell_null
最后终于解决了此问题,现在项目上对凭证的格式要求很严格,之前用的是PDF版本的,但是空白页有时候不好把握,最终客户提需求开发了这个HTML班的报表。