问题现象: | 采用案例处理脚本找不到问题所在,请分析下: 【问题现象】在12月期末处理时,提示“尚有暂估报销单据未进行结算成本处理”,而在结算成本处理时,或者选出单据却不能进行暂估处理,或者就根本没有单据被过滤出来? 【分析】这个问题在年结时比较普遍。实际上,并非年结的问题,是12月末的业务处理问题,但如果该步骤不能顺利进行,则无法继续年结。 那么造成该现象的原因是什么呢? 问题数据见FTP:成本相关属性的设置和成本方案验证; 【原因】造成该现象的原因多为采购结算单子表bAccount字段有误: 已经结算过的入库单,并且做过结算成本处理后,在采购结算表中,baccount字段应为1,但数据中存在部分记录该字段为0,调整的方法是通过联查Ia_subsidiary表的bflag字段的状态,进行修改。 如果该字段为0,则可能是暂估成本处理后,做过恢复记账再记账操作,此时该入库单不再被认为是暂估。 如果该字段为1和2,并且成对出现(红蓝回冲单),则表示该单据已经暂估处理过。 总之,这两种情况需要修改pursettlevouchs表的bAccount字段。 【解决】查询结果及更新语句 1)查看bflag状态的语句如下: select bflag,* from ia_subsidiary a join (select rdrecords.* from rdrecord join rdrecords on rdrecord.id=rdrecords.id where rdrecords.autoid in (select pursettlevouchs.irdsid from ((rdrecord inner join rdrecords on rdrecord.id=rdrecords.id) left join pursettlevouchs on rdrecords.autoid=pursettlevouchs.irdsid) where (not rdrecord.caccounter is null) and pursettlevouchs.bAccount=0 and isnull(rdrecords.iquantity,0)=isnull(rdrecords.isquantity,0)) ) b on a.id = b.autoid 2)更新pursettlevouchs表的bAccount字段的语句如下: update pursettlevouchs set bAccount=1 from ((rdrecord inner join rdrecords on rdrecord.id=rdrecords.id) left join pursettlevouchs on rdrecords.autoid=pursettlevouchs.irdsid) where (not rdrecord.caccounter is null) and pursettlevouchs.bAccount=0 and isnull(rdrecords.iquantity,0)=isnull(rdrecords.isquantity,0) 做以前先对2006年度帐进行备份。 |
问题原因: | |
解决方案: | 12月结账报错,基本就这两个原因。如果还是不能解决可能是有特殊的数据,请先用查询分析器跟踪报错语句,还是不行请上传数据后再提交。 |
相关补丁: | |
版本: | U8 V10.0 |
模块: | 存货管理 |
产品: | 供应链 |
问题名称: | 成本提示“尚有暂估报销单据未进行结算成本处理” |
最后更新: | 2011-12-26 23:32:22 |