|
楼主 |
发表于 2007-1-8 10:37:31
|
显示全部楼层
结转上年数据 - 序
? 在结转上年数据前,建议大家在上年数据中,通过一 些常用的脚本和工具,最大程度确保上年数据的正确 性和完备性。 – 先进先出记价方式的,请酌情使用( 85X 系列中) 851 系统 管理补丁中的 “ 调 ia_valuationass.sql ” 的脚本修正辅助记价表 的错误; – 个别记价法的记价方式,请使用 85X 各版本系统管理中的 “ 个 别记价法年结脚本 .sql ” ; – 使用 “ 重算存货总账 ” 工具,修复、重算存货明细账和总账;
结转上年数据 I
? 年度结转的时候提示 “ 不能登陆到服务器:口令不正确 ” – 【分析】 这个问题和 asuser 密码不正确有关 。由于 85X 系列 曾经出过补丁解决操作员账号密码的加密问题,而 asuser 是 系统内置的用户(注:用于结转、查询某些账表、系统生成 单据),故其密码会被修改,导致该问题产生。 – 【解决】(转下页)
结转上年数据 I
? 年度结转的时候提示 “ 不能登陆到服务器:口令不正确 ” – (接上页) 【解决】如果是 U851A 及以前的版本可以用下面语句修改: update ufsystem..ua_user set cpassword='asuser' where cuser_id='asuser' 如果是 852 的版本 ,由于 使用密码加密的方法,可以用下面语 句: update ufsystem..ua_user set cpassword=‘DCKNCAAB@HLIKELF ' where cuser_id=‘asuser' 或在系统管理中,将某个操作员密码设为 “ asuser ” , 然后在企 业管理器中,将该字段内容复制粘贴在 asuser 的密码中
结转上年数据 II
? 结转过程中出现提示 “ 数据发生意外错误 ” – 【分析】该错误提示非常简单,但越简单的提示,问题越难 以定位。以近段时间处理的问题看,多数情况 是 Rdrecords 表中 bGSP 字段出现异常。如果存货非 GSP 管理,该字段应 为 NULL ,错误情况下为 0 。 – 【解决】 可用如下语句修正: update rdrecords set bgsp=null where bgsp=0
结转上年数据 III
? 860SP 版本的年度结转时遇到这样的报错信息:对象 名 MaterialAppealVouch 无效 – 【分析】正如在前面提到的,对于对象名无效的问题,是因 为数据库结构不完整。本例中是 因为缺少表 MaterialAppealVouch ,而该表是通过补丁程序发放的。因 此,打全补丁是至关重要的。 – 【 解决 】 对两个年度的帐套除使用 hotfix 文件外还要使用库 存管理模块补丁包中的补丁
? 结转时提示:系统产品被非法删除不能结转上年数 据! – 【分析】该现象多发生于: 2005 年 不建立年度账, 继续 做 2006 年业务 单据; 或 建立年度账后, 先不结转, 2006 年做 新业务,随后 再 结转财务数据。 这种情况有 可能出现基础档 案上下年对不上的情况,需要做相应的删除或增加 。 – 【解决】
? 结转时提示:系统产品被非法删除不能结转上年数 据! – 【解决】查看各基础档案信息是否存在上下年不 同步现象。可参照如下脚本(列示部分内容,其他类同): -- 查看客户档案上下年是否同步 SELECT cCusCode FROM UFDATA_100_2005..customer WHERE cCusCode NOT IN (SELECT cCusCode FROM customer) Go -- 查看存货档案上下年是否同步 SELECT cInvCode FROM UFDATA_100_2005..inventory WHERE cInvCode NOT IN (SELECT cInvCode FROM inventory) Go
结转上年数据 IV
? 在 12 月期末处理时,提示 “ 尚 有暂估报销单据未进行结 算成本处理 ” ,而在结算成本处理时,或者选出单据却 不能进行暂估处理, 或者 就根本没有单据被过滤出 来 ? – 【分析】这个问题在年结时比较普遍。实际上,并非年结的 问题,是 12 月末的业务处理问题,但如果该步骤不能顺利进 行,则无法继续年结。那么造成该现象的原因是什么呢?
? 在 12 月期末处理时,提示 “ 尚 有暂估报销单据未进行结 算成本处理 ” ,而在结算成本处理时,或者选出单据却 不能进行暂估处理, 或者 就根本没有单据被过滤出 来 ? – 【原因】造成该现象的原因多为采购结算单子表 bAccount 字 段有误:已经结算过的入库单,并且做过结算成本处理后,在采购结算表中, baccount 字段应为 1 ,但数据中存在部分记录该字段为 0 ,调整的方法是 通过联查 Ia_subsidiary 表的 bflag 字段的状态,进行修改。如果该字段为 0 ,则可能是暂估成本处理后,做过恢复记账再记账操作, 此时该入库单不再被认为是暂估。如果该字段为 1 和 2 ,并且成对出现(红蓝回冲单),则表示该单据已经 暂估处理过。总之,这两种情况需要修改 pursettlevouchs 表的 bAccount 字段。
? 在 12 月期末处理时,提示 “ 尚 有暂估报销单据未进行结算成本处 理 ” ,而在结算成本处理时,或者选出单据却不能进行暂估处 理, 或者 就根本没有单据被过滤出来 ? – 【解决】查询结果及更新语句 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)
结转上年数据 V
? 结转过程中至存货核算时,提示结转失败,无更详细 描述 – 【分析】这种情况比较复杂,可能出现的问题基本都在数据 本身逻辑性的错误,因此不易判断。这里给出两个可能的错 误情况,供参考。 – 【原因 1 】存货明细账中的数据记录不正确,如存在 Inventory 表中没有的存货在 Ia_Subsidiary 、 Ia_Summary 、 CurrentStoct 等相关表中有记录。需要清除该记录 – 【解决 1 】使用脚本清除记录(列示部分,其余类同);或 将档案补充完整。 delete from ia_subsidiary where cinvcode not in (select cinvcode from inventory)
? 结转过程中至存货核算时,提示结转失败,无更详细描述 – 【原因 2 】对于使用先进先出记价方式的数据,有可能计价辅助数据表中 数据有误,比如造成某些记录出库金额和入库金额同时为 NULL – 【解决 2 】 -- 更新入库金额 update ia_valuationass Set iIprice = iIquantity * Isnull(iinCost,ioutcost) from ia_valuationass left join ia_subsidiary on ia_valuationass.inid = ia_subsidiary.id and ia_valuationass.cinvcode = ia_subsidiary.cinvcode Where iIprice is null -- 更新出库金额 update ia_valuationass Set iOPrice = iOquantity * Isnull(iinCost,ioutcost) from ia_valuationass left join ia_subsidiary on ia_valuationass.Outid = ia_subsidiary.id and ia_valuationass.cinvcode = ia_subsidiary.cinvcode Where iOPrice is null |
|