核算期初记账后修改数据的方法

2018/3/18 20:34:11山东用友

产品版本: 302-用友T3-用友通标准版 适用产品: T3系列
产品模块: 21-核算管理 提交时间: 2012-06-12
问题现象:

本人这两天不幸遇到这样的问题:在用EXCEL导入存货核算期初数据时,不小心把单价多除了个1.17(要换算成不含税单价,由于当时没有一次性做完,第一天已经除了一次1.17,第二天去做的时候又除了一次,才导致这次较难弄的错误),金额是对的,当时导入成功后只对了总金额,发现总金额是正确的,就没有看单价和别的地方。3月底,客户盘库后,发现电脑账和实盘账余额不对,反回来找时,发现存货核算期初导入的单价不正确。对于这个问题,由于客户数据量大,不可能让客户重新输。我想来想去,只能从数据库来做了。

原因分析:

核算期初数据导入错误,在没有查明情况下记账,并且录入了好几期数据。

解决方案:

经过一天的折腾,终于找到了解决方法,现把解决过程拿出来和大家分享,希望大家以后不要再出现和我一样的错误。
客户用的仓库核算方法为:先进先出法。
遇到这种问题,期初要修改的数据库表有:RdRecords(收发记录子表),IA_Subsidiary(存货核算存货明
细帐),IA_ValuationAss(存货核算计价辅助数据表)开始没有发现这张表,最后才找到,开始就是没有找到这张表,才浪费了好多时间。
1、修改RdRecords表的期初数:RdRecords(收发记录子表)记录各种出入库单、存货记帐、存货暂估(子
)和存货核算和库存管理的期初数据。这张表的期初数据的判断要靠他的主表RdRecord来完成,在主表RdRecord中用select * from RdRecord where ddate='2010-12-31 00:00:00.000' order by id找出期初的最大ID,再在子表RdRecords中用最大ID卡期初的所有数据,如:select * from RdRecords where id<=1000,如果是整列单价错误(要数量和金额是正确的),可直接执行:update RdRecords set iunitcost=iprice/iquantity where id<=1000,如是只是极个别地方错误,我可以直接修改这个错误。
2、修改IA_Subsidiary表的期初数:IA_Subsidiary(存货核算存货明细帐)是存货核算系统对出入库单据
记账后回写的数据表,存货核算期初记账后也要回写这个数据表。在这个表中,期初数据的查询:select * from IA_Subsidiary where dvoudate='2010-12-31 00:00:00.000',日期为上一年度日期,这个表和RdRecords一样,期初数据只有入库数,没有发出数,相对来说比较简单,下来就是修改,根据自己的需要,修改自己要改的数据,可根据cwhcode(仓库),cinvcode(存货编号)来精确定位。
3、修改IA_ValuationAss:IA_ValuationAss表是仓库核算方法为先进先出法、后进先出法时回写的核算管
理系统的表,这张表在核算系统期初记账时,也要回写。所以,如果仓库的核算方法用的是先进先出法,要修改期初数据,一定要修改这张表。这张表的期初不好卡,如果系统用的是先进先出法,已经有其他月份的单据记账,最好是把所有月份的单据全部取消记账,取消后,这张表余下的数据就只是存货核算期记账的数据了,要修改就相对简单一些。另外,如果用的是先进先出法,你不取消别的月份的单据记账,你改了期初数据,计算的出库单的金额就会不对,除非你只改一两个,你可以把涉及的这一两个错误的数据库全部修改
到此,为犯下的这个错误的解决方法就写完了,在此还要感谢畅捷通支持总部工程师的快速支持。

  • 设为首页
  • 济南用友|
  • 用友畅捷通软件山东济南销售服务中心|
  • 联系我们|
  • 鲁ICP备2021016587号-3
  • Copyright © 2021 山东一友信息科技有限公司