错误截图:

云星空其他应付单生成凭证报截断二进制字符串错误_凭证


解决方法:

1、是查看详情报错的服务能否查出异常信息,经过仔细的查看没发现有价值的东西;

2、查看凭证模板有没有问题,因为报错之前好长时间没有动过模板,所以也排除了;

3、那就从数据库下头找下原因吧,通过数据库追踪神器profiler追踪,从报错的地方开始分析,如下图

云星空其他应付单生成凭证报截断二进制字符串错误_其他应付单_02

找到这个再往上查,关于凭证表关键词的语句,找到里一段看看是否是这个表的问题

云星空其他应付单生成凭证报截断二进制字符串错误_其他应付单_03

从记录里发现​FbussinessorgidList​这个字段有点可疑,怎么存这么多的字符串进去?顺手看看​T_GL_NETCONTROL​这个表的这个字段的数据类型的长度,是​nvarchar(2000)​,但是存入的数据长度是2010,插入失败了,改下这个字段的长度到​3000​,重新生成凭证可以正常生成了。

 此表此字段的作用本人瞎猜:存放的是要​生成凭证后续插件需要调用的逗号隔开的组织字符串​,此表信息生成凭证后会自动清空。