继续书接上回,本次项目中遇到了林林总总的问题,这个是比较有代表性的一个。具体情况是什么呢?
先描述一下整体情况。假定A科目下挂“甲”、“乙”两个核算项目,BOS单据上也有对应的“甲”、“乙”两个核算项目的字段。当我给这个BOS单据做凭证模板时,指定A科目,然后在核算项目里指定对应单据字段。然后进行生成凭证的测试,结果发现凭证界面里,A科目下的两个核算项目值为空白,也就是没有从单据上携带过来。
进一步测试,发现若科目下挂1个核算项目即可正常带出。例如新建B科目,下挂“甲”或“乙”,均可自动带出。在QQ群里和金蝶微博里问了许久,无人回答。又问了以前的同事,介绍了一位BOS高手,正好以前在某个项目上共过事,高手接到电话,欣然答应帮助给看看。按上述情况模拟一下,结果是一切正常!
于是我新建了一个帐套,试了试确实正常。就开始对比两个帐套的凭证模板表,主要关注凭证模板的核算项目表,看不出任何问题。将正常帐套的该表引入到问题帐套,还是不能带出核算项目。第一种方法失败。
接着在问题帐套里新建一张BOS单据,做两个系统内置的核算项目字段,凭证可以正常带出,OK。继续增加一个自定义的核算项目字段,还是OK。继续再增加一个自定义核算项目字段,依然OK。这时突然发现,这些核算项目字段是通过BOS平台的核算项目字段库直接画到单据上的,而原来无法携带的字段是通过常规字段库的基础资料指定核算项目的,两者在实际应用中没有任何区别,但就是在生成凭证时有区别!删除掉BOS单据上的基础资料字段,用核算项目库的字段重新画上。再次测试,一切OK。
因为这个问题,整整影响了两天的进度。回头反思,实际上在解决这个问题时,犯了简单问题复杂化的错误,总想着是后台数据结构出了问题。但是话说回来,谁能想到在实际使用中效果完全一样的字段,在凭证处理时会不一样呢?
PS:昨天又遇到一个很低级的错误。在做无线POS设备与金蝶K/3后台数据互相通讯测试时,发现POS机直接访问服务器就能互联互通,但通过路由器再访问服务器时,总是不通。服务器端运行的检测程序收不到POS机传回的任何信息,自然POS机也收到不到服务器传去的任何信息。一下子折腾的夜里3点,又临时写了个客户端通讯检测程序,发现程序提示:由于目标计算机的积极拒绝,数据无法传输。这应该是服务器防火墙阻断了通讯,果不其然,在服务器上配置了防火墙规则后,一切OK。
因为直连到服务器就可以互通,所以一开始根本没有往防火墙方面去想。
更多技术问题请咨询:湖北微信科技有限公司 027-84233202