应付对帐单查询出错用友软件股份有限公司姓名刘维奇2010年12月19日客户问题:应付管理—帐表—应付对帐单中,按供应商过滤,当过滤条件选择为“是否包含已经结清”为“是”或“否”时,过滤结果的最终余额不一致?测试环境:操作系统Windows2000数据库版本sqlserver2000sp4用友版本890sp1点开应付对帐单的过滤界面,对账方式为明细,包含已结清为否,结果如下测试过程一:对账方式为明细点开应付对帐单的过滤界面,对账方式为明细,包含已结清为是,结果如下对账方式为明细,无论是否包含已结清,过滤结果都是一致的点开应付对帐单的过滤界面,对账方式为付款,包含已结清为否,余额:30623.10测试过程二:对账方式为付款点开应付对帐单的过滤界面,对账方式为付款,包含已结清为否,余额:30423.10测试过程测试过程过滤条件除是否结清外,其余条件均一致,为何会有差别?比较两个对帐单,发现当包含是否结清为“是”时。对帐单中有一行金额记录为其他应付单,本期付款中有金额200。且最后还有一行为0的记录(虽然其不影响余额)。测试过程疑问???查看该单据的日期为2009年,期初的单据为何显示在1-3月份呢?而且其他应付单应该是体现在本期应付中,为何体现在本期付款列中?为何会有余额为0的记录。测试过程该应付单000000003为期初应付单,与付款单0000000023有核销记录,核销日期为3月份。查看应收核销明细表:过滤条件中的月份,点下拉框选择时只有1-12月,现在手工录入0或为空进行过滤测试过程过滤条件是否结清选择为否测试过程过滤条件是否结清选择为是过滤后余额一致本期应付200三月份该供应商只有一笔核销业务,现在按0-2月份过滤,是否结清选择为是测试过程在期间内尚未核销,因此其他应付单的本期付款为空,付款单的本期付款为200现在按3-3月份过滤测试过程该月发生了核销,因此其他应付单本期付款有核销金额,而付款单本期付款为被核销的金额过滤条件中分析方式为付款,包含已经结清为“是”。本次测试业务为:其他应付单为期初单据,2月份做付款单,3月份该两张单据做核销。1过滤期间为1-3月查询(大多数客户会如此,因为过滤界面无法用鼠标选择0)时,则期初的单据不会在本期应付中体现,从而影响最终的余额。但核销日期为3月份,因在本期付款中有200,使该记录显示在1月份。而对于付款单,因2月份有发生,3月份被核销,因此该付款单对应的本期付款为200-200=0。2当过滤期间为0-2月的时候,单据尚未核销,其他应付单的本期付款为空,付款单的本期付款为200。3过滤期间为0-3月时,单据已经核销,其他应付单会有本期应付200,本期付款200。付款单的本期付款为200-200=0测试结果当对帐单的过滤条件中的分析条件按“付款方式”查询,包含已结清选择“是”的时候:该报表显示如下结果:本期应付列的数据=其他应付单(或发票)的立账日属于该查询期间的单据的金额。付款单不体现在本列。本期付款列对于付款单记录=(属于该期间内的付款单的金额)-(该期间内该单据核销金额的绝对值)。其他应付单则显示本期核销的金额。单据余额=本期应付-本期付款。余额=上一行的余额+本期应付-本期付款。总结:谢谢