本文介绍了在打印企业凭证时,如何将科目代码、名称与核算维度代码、名称显示在同一格子中,并指出了现有方案的缺陷:无核算维度时仍打印分隔符。随后提供了两种解决方案:一是用空格代替分隔符,二是利用系统动态字段并自定义分隔符设置,以实现更美观、准确的打印效果。
一、业务场景
每一个企业都需要打印凭证,而且打印凭证的时候,就会想把科目代码、科目名称和核算维度代码、核算维度名称都打印在一个格子里面,如下:
那怎么样才能实现以上效果呢?可以使用以下官方知识!
如何设置凭证打印科目与核算维度在一个格子显示(有动图演示)
https://vip.kingdee.com/questions/148219/answers/174945?productLineId=1&isKnowledge=2
以下是本人设置的代码:GetValue("FACCOUNTID.FNumber")-GetValue("FAcctFullName") ,GetValue("FDetailID")
但是以上方案有一个致命的缺点,就是当科目没有核算维度的时候,系统依然会打印出科目和核算维度的分割符号,(如上图,逗号“,”就是核算维度“FY002"和科目名称"管理费用”之间的分割符号!)
缺陷体现如下:1001 库存现金科目没有挂核算维度,所以依然会显示出逗号,这样就不美观了,也不正确!
二、解决方案
要想解决以上问题,使没有挂核算维度的科目分录打印时也不会带出分隔符号,有两个方法。
第一个方法,很简单直接粗暴,就是不要用符号来隔开科目和核算维度,而是用空格来隔开,这样就看不出了,如下:
第二个方法,可以利用系统自带的核算维度动态字段FDetailIDNotePrintFormat,
具体代码如下:GetValue("FACCOUNTID.FNumber")-GetValue("FAcctFullName")GetValue("FDetailIDNotePrintFormat")
注意:GetValue("FDetailIDNotePrintFormat")前面并不需要空格!!!
重点是下面这个设置:(此处是设置的是分号“;”用来分隔多个核算维度,然后斜杠“/”是分隔科目和核算维度)
设置好之后,效果如下:
可见,财务费用_手续费后面没有中文分号“/”做分割了!
推荐阅读