用友U8业务链在应用中出现的问题及探究,本文主要内容关键词为:用友论文,业务论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
一、采购管理
问题之一:在用友U8.50(8.21)中,采购系统的暂估入库余额一览表与存货核算系统的暂估材料余额表的本期结余出现不相等。
情况分析:(1)采购有未结算采购入库单,采购统计为暂估;存货未对其记账(即押单处理),存货不会统计成暂估。(2)存货已暂估记账的采购入库单,发票到并与采购入库单结算,采购减少暂估数量;但存货未进行暂估处理,存货系统仍以暂估来统计。(3)U8.21分次结算的采购入库单存货不能进行暂估处理,只有全部结算完毕才能暂估处理。这样采购将分次结算部分统计在结算金额中,而存货却统计在暂估中。(4)U8.50本月业务中,如果先暂估记账,后部分结算,也不能进行暂估处理,同样会造成两表的结存不一致。
解决办法:(1)本月采购入库单、本月存货全部记账;(2)月末结算前,一定要进行暂估处理业务(8.50的结算成本处理);(3)由于8.21的存货不支持部分结算暂估处理业务,所以这种情况目前不能解决;(4)8.50中,本月的采购入库单暂估记账,最好在月底进行,保证先部分结算,再对采购入库单记账的业务,可避免因先暂估记由后部分结算造成的两表不一致。
问题之二:8.50SP版本,采购管理中输入到货单,然后在库存管理中根据到货单生成采购入库单,发现有一部分到货单中有数量、单价、金额,但是在生成采购入库单时,只有数量,没有单价和金额。
情况分析:采购到货单子表(PU_ArrivalVouchs),有部分到货单表体存货对应的记录中的本币单价等为0,而采购入库单取的是到货单上的本币单价,所以由到货单生成入库单时带出的单价是0而不是没有带出单价。
解决方法:由于此数据没有外币设置,所以可以用sql语句直接修改。update pu_ArrivalVouchs set iCost=iOri-Cost,iMoney=iOriMoney,iTaxPrice=iOriTaxPrice,iSum=iOriSum where isnull(iCost,0)=0 or isnull(iMoney,0)=0 or isnull(iTaxPrice,0)=0 or isnull(iSum,0)=0,如果有外币设置的话,需要换算,则可以找出表体存货本币单价为0的到货单,修改,重新输入单价保存即可。
问题之三:在8.21版本中,暂估入库余额表上月期末余额与本月期初余额相差几分钱。如:2006年9月期末余额3 961 651.70元,10月期初余额3 961 651.85元。
情况分析:暂估入库余额表中的本期入库金额取自于rdrecords.iaprice,而下月期初余额,则是由((iquantityisquantity+pursettlevouch.isvquantity(上月结算数量))*facost得来的。由于rdrecords.iaprice为浮点型数值,使用两者会产生差额。
解决方法:出现这种情况可使用以下语句作调整:update rdrecords set iaprice=round(iquantity*facost,2)from rdrecord a join rdrecords b on a.id=b.id where abs(abs(iaprice)-abs(round(iquantity*facost,2)))>0.001。
开发针对此问题,作了补丁脚本,可调整正确。
问题之四:在8.21版本中,发货单或发票不能保存、不能审核。
情况分析:(1)Accsess版本一般是最大单号表出现问题。(2)SQL版本则是目前最大单号异常,如出现0099999999或者000000009z(带字符),由于8.21单据号增加时,是先查询已存在的最大单号,再加1,得出目前单据号,如果遇到上述异常单据号,系统将无法处理。(3)SQL版,dispatchlist/s,salebillvouch/s、rdrecord/s的表结构出现问题。(4)关于单据定义、单据项目定义的表vouchers、invoiceitem_sal等出现问题。
解决办法:(1)修改maxvouch,或者启用远程应用。(2)将异常单号修改正确,或者启用远程应用。(3)参照999表结构,修改相应属性,或者修复表。(4)从999账套中导入vouchers、invoiceitem_sal等表的默认数值。
二、销售管理
问题之一:在8.50SP版本,销售明细账中查询范围:截至2006-04-30,但查询出的数据包括5、6月份的销售发票,没有销售数据,只有成本。
情况分析:销售明细账的查询条件中,开票日期表示销售开票日期,结算日期表示销售成本日期。此用户查询时,只录入了开票截止日期,没有录入结算日期查询范围,系统会将开票截止日期的销售发票与全部销售成本查询出来。
解决办法:输入结算日期查询范围。
问题之二:8.21版本中,销售年度结转后,发货统计表、发货结算收款勾对表等本月期初与上年期末对不上。
情况分析:(1)程序问题,造成统计出错。(2)上年结转至今年的退货单上,期初标志错误。(3)去年有超发货单开票业务,账表统计未开票数量(金额)为负(未开票数量=用发货数量-开票数量)。而年结时,如果开票数量≥发货数量,且已生成出库单,就不会结转到今年,今年的相关账表统计时,就不会统计出负数的未开票数量。(4)程序原因,使得一些应结转至今年的退货单未结转过来。
解决办法:(1)遇到此类问题,先将与销售有关的账表补丁执行一遍,补丁中已解决了大部分因程序原因造成的统计错误。(2)update dispatchlist set bfirst=1 where ddate<=′2006-12-31′and bteturnflag=1 and bfirst=0。(3)与用户解释清楚软件的统计规则。也可使用相关补丁,补丁将去年超发货单开票业务的未开票数量(金额)统计为零,这样能够与今年对上。(4)开发针对这种错误的相关调整工具,但不是全部情况都适用,需要具体情况具体对待。如果开发工具不适用,可以打上结转补丁后,重新结转,然后对比两个数据库,将少结转的退货单通过SQL语句写入今年数据库。
问题之三:在U8.21版本,存货核算填制销售出库调整单,收发存汇总表金额已被调整,但此单据未回写到销售统计分析表中去。
情况分析:销售统计表的成本金额取自于存货,销售出库单的成本与销售出库调整单的成本应反映到销售统计表的成本中。但8.21账表查询时,要求销售出库调整单必须填写部门、客户,否则销售系统不能反映此笔调整金额(8.50无此问题)。
解决办法:销售调整单填写部门、客户即可。
三、库存管理
问题之一:存货中调拨单记账错误而出入库单记账正确。
情况分析:存货中对调拨单生成的其他出入库单单独记账,数据正确。
解决办法:(1)跟踪发现调拨单同其生成的出入单子表关联项数据错误。(2)取消单据记账,然后做如下更新:update[RdRecords]set[iTrIds]=[TransVouchs].[AutoID]FROM([RdRecords]join[RdRecord]on[RdRecord].[id]=[RdRecords].[id])join([TransVouch]join[TransVouchs]on[TransVouch].[ctvcode]=[TransVouchs].[ctvcode])on[TransVouch].[ctvcode]=[RdRecord].[cbuscode]and[RdRecords].[cinvcode]=[TransVouchs].[cinvcode]where[cvouchtype]between′08′and′09′and[TransVouchs].[AutoID]◇[iTrIds]and[iQuantity]=[iTVQuantity]。(3)重新对调拨单记账,数据正确。
问题之二:在8.21、8.50版本中,先进先出计价法,调拨单生成的其他出库单成本不按先进先出规则核算成本(库存选项,选择调拨单自动取单价引起的问题)。
情况分析:经查看数据,其他出库单记账前就已有出库单价及金额,此类其他出库单均由调拨单生成。库存选项中选择了调拨单自动取单价。选择此选项,调拨单保存时会从存货核算取结存成本,同时其他出入库单也带入相同成本,记账时按已有的出库成本来核算。
解决办法:取消选项,重新生成调拨单。如果要求出库成本按计价方式核算,不要选择这一选项。
问题之三:在8.21版本,现存量与库存收发存汇总表不符,大部分存货现存量不正确。
解决办法:(1)使用整理现存量工具;(2)整理现存量后,依然不对,可到ufsystem数据库的ua_account_sub中查看该账套库存启用的记录是否正确,如没有启用日期,则手工添加即可(参照999账套);如有启用日期,计算rdrecord/s>=启用日期的记录,如果没有计算rdrecord/s>=业务日期;(3)不属于以上两种情况,应重点查看st_totalaccount的期初,因为整理现存量时是根据st_totoalaccount的期初与rdrecord/s的收入发出计算的,rdrecord/s属于原始单据的记录,一般不会有错,所以现存量错误应重点检查st_totalaccount的期初数量。
问题之五:在8.21版本,库存里销售出库单表头项目发货单号,不是相应销售发货单的发货单号,给客户带来很多不方便。
情况分析:销售出库单上的发货单号实际是dispatchlist.id号,不是发货单据号。销售出库单上的业务号,实际上是与销售出库单对应的发货单或发票的单据号,但是在销售出库单列表不能被设置,需要运行一下脚本,然后把业务号选出来就是发货单号或发票号。
解决办法:update invoiceitem_set canmodify=1 where cardnum=′0303′and cardsection=′t′and fieldname in(′cbuscode′)。
四、存货核算
问题之一:在用友U8.50(8.21)中,计划价法计算出的差异率异常偏大,或者全月平均、移动平均核算出的成本单价异常偏大。
情况分析:在以上3种计价方式下,由于零出库或暂估成本与结算成本不一致,会造成出库单价(或差异率)极大或极小甚至出现负单价(或差异率)等情况。
解决办法:(1)如果目前的结存数量为正,单价异常大,直接用调整单来调整金额;(2)如果目前的结存数量为负,单价异常,需要做入库单将数量与金额调整为正,再进行出入库;(3)对于以上3种计价方式,经常有零成本出库业务,一定要将选项中的“最高最低控制”选上,并设置好最大最小单价。这样当记账成本超出范围时,系统会提示,并按选项取数;(4)存货选项中的“账面为负结存时入库单记账自动生成出库调整单”也要选上,此选项可根据负结存数量、入库单成本自动生成调整单,减少单价异常偏大发生的概率。
问题之二:在U8.21版本,存货记账提示“存货记账失败”。
情况分析:这种错误一般在升级到U8的账套中出现。错误原因是由于存货总账ia_summary有重复记录。即ia_summary中同一月份、同一仓库、同一存货只有两条记录。Access版本有重复记录一样可以进行记账并进行期末处理。U8SQL版不能处理重复记录,要求记录必须唯一。
解决办法:(1)如果能确认重复记录的值是完全相同的,则删除多余记录,只保留一条即可。有语句可供参考:delete from ia_summary where autoid not in(select min(autoid)from ia_summary where imonth=5 group by cwhcode,cinvcode,imonth having count(imonth)>1)and imonth=5;(2)如果重复记录各不相同,需要通过与ia_subsidiary、rdrecord/s或st_totalaccount联查,来确认重复记录中正确记录,将错误记录删除即可;(3)如有可能,恢复记账,重新记账。
问题之三:在U8.21版本,采用全月平均法在期末处理后。明细账的出库成本正确,但对应单据成本错误。
情况分析:程序问题造成的错误,只在回写出库单金额时出现错误,存货明细账是正确的。
解决办法:(1)使用补丁,避免以后再发生错误。(2)对已经存货的错误,可根据存货明细账修改单据金额,有SQL语句可供借鉴:
update rdrecords set iprice=b.iaoutprice from rdrecords a inner join ia_subsidiary b on a.autoid=b.id where b.cvoutype in(09,11,32)and b.iaoutprice◇a.iprice and a.iquantity=b.iaoutquantity and b.ioutcost=a.iunitcost
问题之四:在U8.21版本,存货期末处理失败,错误提示有:“存货期末处理失败”;“运行实时错误,-2147418113(8000FFFF),连接失败”;“运行时错误-2147,仅当使用列的列表,并且identity_insert为on时才能在表‘tempdb.iaperdeal_xy’”。
情况分析:(1)存货总账中同一月份、同一仓库、同一存货的记录重复,按照维护案例一的处理方法,删除多余记录即可。(2)磁盘空间不足。(3)如提示“运行实时错误,-2147418113(8000FFFF),连接失败”,一般情况下是数据表中有异常字符,主要查看ia_subsidiary、ia_summary。还可使用以下办法来清除异常字符:在数据库中将ia_subsidiary表置为“设计”状态,将cdefine1字段的原数据类型bit改为char,长度默认为10位后点“保存”,会出现保存的提示框,点“是”。然后再将brdflag字段的数据类型char改为其原数据类型bit,长度默认为1位再点“保存”,仍会出现保存的提示框,点“是”,接着会出现验证警告,仍点击“是”即可。然后再进入存货系统进行期末处理即可。
解决办法:如果错误提示:“运行时错误-2147,仅当使用列的列表,并且identity_insert为on时才能在表tempdb..iaperdeal_xy”,则表示数据表中的字段属性值有问题。用SQLServer跟踪器跟踪发现,系统在执行insert into tempdb..[IAPerDeal_XIEYAN]Select rdrecords.autoid FROM…时出错,经查看rdrecords表,发现rdrecords.autoid应不是种子标识,但被打上了种子标识。将种子标识去掉即可期末处理成功。
问题之四:在用友U8.50(8.21)中,存货与总账对账不平。
情况分析:存货与总账对账,是按存货明细账中的存货科目ia_subsidiary.cinvhead汇总与总账中的存货科目汇总进行对比;对不上的原因通常有:(1)存货期初未录入存货科目;(2)总账使用存货科目生成凭证;(3)单据记账与生成凭证不在同一月份处理;(4)生成凭证时,在凭证界面改科目。由于存货明细账的存货科目是在生成凭证之前,根据存货科目设置表取入。因此在凭证界面修改科目,不会再改写存货明细账的存货科目,此张凭证保存即传入总账,两者必然会对不上。(5)在凭证准备界面更改金额。
解决办法:(1)期初未录入存货科目的,可使用SQL语句,根据期初存货明细账的存货与存货科目设置表(ia_opphead)关联查询,更新写入。(2)总账使用存货科目生成凭证,可使用SQL语句,判断总账gl_accvouch中凭证来源不是存货但却使用了存货科目的记录,并改正。(3)单据记账与生成凭证不在同一月份处理。(4)生成凭证时修改存货科目,这种问题并不能完全用SQL语句来解决,把相关凭证和单据查询出来之后,具体到每张单据改什么科目要具体对待。(5)根据存货明细的cpzid、cinvhead、总账coutno_id、code,关联汇总比较。
标签:出库单论文; 入库单论文; 存货核算论文; 总账科目论文; 存货成本论文; 发出存货计价论文; 销售分析论文; 成本分析论文; 记账软件论文; 总账论文;