1/7用友股份-LE支持服务业务本部产品方案--《为何成本计算完毕却无法在凭证生成中查询到单据》建立日期:2013-10-01修改日期:xxxx-xx-xx文档属性:客户文控编号:LE-DY-CP-2013-08592/7文档控制创建记录适用范围审阅人日期审阅签字所属部门发布范围内部员工伙伴客户发布人姓名所属部门发布时间日期作者所属部门邮件地址版本2013-10-01徐建军产品支持部V1。0版本领域模块备注3/7目录为何成本计算完毕却无法在凭证生成中查询到单据............................................4一、问题描述:........................................................................................................4二、问题分析:........................................................................................................54/7为何成本计算完毕却无法在凭证生成中查询到单据一、问题描述:一张销售成本结转单已经生成了凭证,但是在凭证生成处未生成凭证和已经生成凭证处均无法查询到这张单据?1、在存货核算的出入库流水账中查询到一张销售成本结转单I50808280163已经生成了凭证,如下图所示:凭证号:13352、在数据库中验证一下是否真的生成了凭证selectcsumrtvouchid,cvoucherid,brtvouchflagfromia_bill_bwherecbillid=(selectcbillidfromia_billwherevbillcode='I50808280163'andpk_corp='1014')查询结果如下:select*fromgl_voucherwherepk_voucher=(selectcvoucheridfromia_bill_bwherecbillid=(selectcbillidfromia_billwherevbillcode='I50808280163'andpk_corp='1014'))查询结果如下:凭证号:1335说明确实生成了会计凭证(和出入库流水账中的凭证号都能匹配)。系统中既然已经生成了凭证,但是查询不到,说明查询的条件有问题。5/73、查询会计平台单据与凭证关系对照表(dap_finindex)select*fromdap_finindexwhereprocmsg=(selectcsumrtvouchidfromia_bill_bwherecbillid=(selectcbillidfromia_billwherevbillcode='I50808280163'andpk_corp='1014'))根据根据存货核算中的单据id查询凭证的id,然后按照凭证的id在会计平台查询对应的业务单据号。查询结果发现表中记录的vbillcode竟然不是I50808280163,而是I50808280009!二、问题分析:这是什么原因呢?原来这张业务单据I50808280163做过合并生成实时凭证,然后在凭证生成的时候这张实时凭证又和其他几张实时凭证合并生成了一张会计凭证,在单据与凭证关系对照表dap_finindex中的vbillcode字段上会放置每个实时凭证对应业务单据的的单据号,如果一张业务单据生成一张实时凭证的话,那么表dap_finindex中vbillcode字段上记录的就是这张业务单据的单据号,但是,如果多张业务单据合并生成一张实时凭证的话,在dap_finindex表中的vbillcode字段上不可能将这张实时凭证的所有业务单据号都写进来,因此系统只取了合并生成实时凭证时的第一行业务单据号,这也就就说明了为什么我们用I50808280163这张业务单据号在凭证生成处根本无法查询出任何信息了。下面我们再用单据号I50808280009在凭证生成处查询,可以看到下面的截图:6/7选中这条记录,点击“单据”就会联查到当时合并生成这张实时凭证的业务单据,很明显单据I50808280009是在第一行的。而且我们要查询的单据号I50808280163也可以查询到。7/75、因此,对于这个问题其实不是什么产品或者数据问题,而是我们对于产品在这一块处理的方法不知道而已。