解决方案: |
您好: 采购、和存货暂估余额不平是因为您的数据中存在下面的错误。有2000多条结算月份和结算处理月份不一致的记录。这些记录。反映到软件中就会造成采购和存货暂估余额表不平,具体来说。若某单据在1月份暂估记帐,1月份发票到,采购中做了结算。则反映到采购中为结算状态。而存货中1月份暂估记帐。若未做结算成本处理,该单据反映到存货中未暂估状态。若当月做结算成本处理,则系统会自动回写已经暂估记帐的入库单,状态自动变成结算状态。(状态请参考IA_SUBSIDIARY中bflag字段,1=暂估;0,2=结算)。下面的语句可以查询出来数据中结算月份和结算处理月份不一致的记录。 /*对比单据的结算月份和形成回冲单的记帐月份(就是做结算处理的月份)不一致的记录*/ select b.id,b.bflag,b.cvoutype,b.dvoudate 单据日期,b.dkeepdate 记帐日期,b.cinvcode as 存货,b.cwhcode as 仓库,SUBSTRING(convert(char,c.dsvdate), 1, 2) as 结算月份,SUBSTRING(convert(char,b.dkeepdate),1, 2)as 记账月份 from (pursettlevouch c join pursettlevouchs a on c.psvid=a.psvid )join ia_subsidiary b on a.irdsid=b.id where 1=1 --and b.cinvcode='10010273' and convert(int,SUBSTRING(convert(char,c.dsvdate), 1, 2))-convert(int,SUBSTRING(convert(char,b.dkeepdate),1, 2))<>0 and b.dvoudate>='2005-1-1' and cvoutype<>01 order by dsvdate ,dkeepdate /*可以按收发记录子表ID查询*/ select * from pursettlevouchs a join pursettlevouch b on b.psvid=a.psvid where irdsid='80931' select bflag,cvoutype,* from ia_subsidiary where id='80931' 这些月份不一致的记录就是造成不一致的原因。另外还有另外一个原因,就是仍有单据未做结算成本处理,这样也会造成两边对帐不平。对于这些错误。建议不做处理,让客户在当前月份将结算处理做完,然后对余额。 |