NC接口开发,主要有两个功能,一个是批量导入凭证和全科目对账

1、批量导入凭证

导入凭证有一个科目对照关系,如果没在科目对照里边的,就不会进行导入。

思路:

1)、读取FTP服务器上的文件,写入临时表(bank_vouchertemp)表,写入之前需要校验科目、机构、日期、金额,机构存储的是主键。

2)、写入凭证

按机构进行查询临时凭证表,把对应的分录信息,封装凭证数据,过滤一些垃圾数据,查看是否默认制单、审核、记账,如果都是制单、审核、记账。

在调用NC的接口进行制单、审核、记账。

导入凭证的大体思路就是这些,其他细节如、校验导入的数据,需要根据实际情况而定。

2、全科目对账

全科目对账有一个对账规则,是根据对账规则里边的科目信息进行对账

1)、读取FTP原系统穿过来的文件,称之为余额文件,是全科目每天累加的余额,先把这些数据写入临时表中。

2)、循环遍历对照机构,按机构进行查询原系统余额,在查询NC系统的余额

3)、封装对账数据

4)、对账,保存对账结果,进行下一个机构的对账。

封装对账数据时,根据不同的设计来进行封装,封装对账数据也是比较麻烦的一件事。

我在导入和对账中遇到的问题

1、导入凭证是提示科目不存在

错误原因:

1)没有在科目对账中添加科目对照

2)科目不存在

3)科目存在,但是科目的生效日期在导入日期之后

2、FTP报421错误

错误原因:

FTP服务器关闭不正确,导致长时间的连接状态,FTP服务器强制退出。这个错误主要出现在自动导入凭证和自动对账的时候,在自动对账或导入凭证 的时候,要 先关闭FTP连接,在进行自动对账和自动导入凭证,对账和导入都是比较耗时的操作,如果等导入完凭着和对账完,在关闭FTP连接,就会出现FTP421错误。

3、对账不平衡

错误原因:

1)数据本身的问题

2)数据都没问题,科目或者科目方案可能由问题。

3)查询余额的方式有问题,查询余额必须要SUM有的可能有多条记录,不sum就会不平

4)在封装对账数据时,出现没有取到余额,但是NC里边有余额,这个要根据具体的情况进行DEBUG调试,我遇到的情况是,在封装对账数据是,查询的科目

不对,查询了一大堆垃圾数据,导入封装对账数据NC余额这边为0

以上我是做NC57或63对账的一些分享,希望多多交流!