电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

用友ERP-U8知识----872库存收发存汇总表新增功能.ppt

用友ERP-U8知识----872库存收发存汇总表新增功能.ppt_第1页
1/29
用友ERP-U8知识----872库存收发存汇总表新增功能.ppt_第2页
2/29
用友ERP-U8知识----872库存收发存汇总表新增功能.ppt_第3页
3/29
872库存管理收发存汇总表新增功能161号工程师2009年5月5日之前版本:原来版本在库存管理的收发存汇总表查询时,选择计算金额依据,可选项为:参考成本、最新成本、计划价(售价)872版本新增可以选择:结存成本问题现象:在使用和学习的过程中发现一个问题,演示帐套中选择按结存成本取价,可以取到,但是自己新建的帐套选择按照结存成本取价,就取不到任何的成本?分析过程:查看存货明细账与存货总账,显示都有结存难道是全月平均的计价方式,取上月结存?检查仓库档案,是移动平均!!跟踪一下看看。注:帐套信息:自建帐套的会计期间是从08年1月开始以自然月为期间,帐套启用日期是08年11月。问题原因:找到根源了。语句:selectisnull(max(iperiod),0)fromgl_mendwherebflag_ia=1andiperiod<=12解释:从gl_mend表中的bflag_ia(存货结账标志)的记录,并且Iperiod(会计期间)小于12(会计期间最大值为12)的最大值,简单的说就是查出存货核算最大已结账会计期间是第几个会计期间。由于存货核算启用日期为08年11月,会计期间是从08年1月开始以自然月为期间,所以08年11月属于UA_Period(会计期间表)中iId(会计期间)=11的时间范围内,在存货期初记账时系统将gl_mend表中iPeriod<11的bFlag_IA值改为1,打上结账标志,所以现在取出的值为10。接下来,系统将查询出的存货核算最大已结账会计期间的值,在存货总账对应此会计期间的记录中进行查询,取到金额,语句如下:ifnotobject_id('tempdb..#ia')isnulldroptable#iaselectisnull(cwhcode,'')ascwhcode,cinvcode,cfree1,cfree2,cfree3,cfree4,cfree5,cfree6,cfree7,cfree8,cfree9,cfree10,casewhencount(*)=1andnot(max(iunitprice)isnull)thenmax(iunitprice)Elsecasewhensum(inum)<>0thensum(imoney)/sum(inum)Elsecasewhensum(iinum)<>0thensum(iimoney)/sum(iinum)else0endEndEndasiunitpriceinto#iaFromia_summarywhereiMonth=10groupbyisnull(cwhcode,''),cinvcode,cfree1,cfree2,cfree3,cfree4,cfree5,cfree6,cfree7,cfree8,cfree9,cfree10updateaseta.期初结存金额=期初结存数量*b.iunitprice,a.总计_入库金额=总计_入库数量*b.iunitprice,a.总计_出库金额=总计_出库数量*b.iunitprice,a.期末结存金额=期末结存数量*b.iunitpricefromtempdb..TMPUF_540188_heron33140180_HOUJYainnerjoin#iabona.存货编码=b.cinvcodeand(a.仓库编码=b.cwhcodeorb.cwhcode='')and(a.cfree1=b.cfree1orisnull(b.cfree1,'')='')and(a.cfree2=b.cfree2orisnull(b.cfree2,'')='')and(a.cfree3=b.cfree3orisnull(b.cfree3,'')='')and(a.cfree4=b.cfree4orisnull(b.cfree4,'')='')and(a.cfree5=b.cfree5orisnull(b.cfree5,'')='')and(a.cfree6=b.cfree6orisnull(b.cfree6,'')='')and(a.cfree7=b.cfree7orisnull(b.cfree7,'')='')and(a.cfree8=b.cfree8orisnull(b.cfree8,'')='')and(a.cfree9=b.cfree9orisnull(b.cfree9,'')='')and(a.cfree10=b.cfree1orisnull(b.cfree10,'')='')疑问1:系统是取存货总账中会计期间为10的记录的金额,我的帐套是11月启用,本期发生都显示iMonth(会计期间)=11,那么我录入存货期初结存是不是能取到结存成本?测试录入存货期初结存,也是取不到结存成本的。原因:检查存货总账IA_Summary,原来存活期初余额在存货总账中体现的iMonth=0。疑问2:那么系统启用日期为1月的帐套是否就可以取到存货期初的数据呢?举例说明:建立帐套,启用帐套日期为1月,会计期间为1月开始的自然月。测试发现存货期初记账之后,系统将gl_mend表中iPeriod<1的bFlag_IA值改为1,打上结账标志,这样实际上只有一行记录,此记录显示对应iperiod=0。此时查询库存的收发存汇总表,系统根据语句:selectisnull(max(iperiod),0)fromgl_mendwherebflag_ia=1andiperiod<=12取到的存货核算最大已结账会计期间的值为0接下来取金额的语句就变为:此时系统取存货总账iMonth=0的记录对应的成本,也就是取存货期初结存成本。特别说明:Iperiod、iMonth是会计期间,与UA_Period(会计期间表)中的iId(会计期间)相对应,不代表月份。举例说明:003帐套的会计期间是08年7月开始到09年6月的自然月,模块启用日期为09年1月1日,此时UA_Period表显示:GL_mend表在存货核算期初记账之后显示:Iperiod=6的记录是存货核算最大已结账会计期间,具体对应日期在UA_Period中iId=6的dBegin(开始日期)、dEnd(结束日期)中显示,是2008年12月1日-2008年12月31日这样的前提下查询库存的收发存汇总表,后台判断语句依然是:selectisnull(max(iperiod),0)fromgl_mendwherebflag_ia=1andiperiod<=12取到的会计期间是6,此时存货期初的iMonth=0,所以这样是取不到存货期初的结存成本的。此时,这个语句就显的有些不严谨了疑问3:之前测试都是没有输入日期范围过来的,那么当输入日期范围过滤时,系统是如何判断的呢?举例说明:还是以003帐套为例,会计期间是08年7月开始到09年6月的自然月,模块启用日期为09年1月1日。以2009年1月1日-2009年1月31日日期范围来查询库存的收发存汇总表。跟踪发现:多出一条会计期间的判断语句:selectisnull(max(iid),0)fromufsystem..ua_periodwherecacc_id=N'003'anddend<='2009-01-31'andiyear=2009先从ua_period表中取小于等于查询截至日期,并且对应帐套与年度的会计期间,此帐套取数为7接下来语句检查存货核算最大已结账会计期间:selectisnull(max(iperiod),0)fromgl_mendwherebflag_ia=1andiperiod<=7将之前取到的小于等于查询截至日期的会计期间的值用于此处,此帐套存货核算最大已结账会计期间为6所以,最后取金额时的语句为:总结:872库存的收发存汇总表,计算金额依据选择:结存成本时,取价方式为:取查询截至日期所在会计月份的上月存货总账的结存成本,如不输入日期查询,则取最近一次结账月份存货总账的结存成本。注:如果帐套启用日期不是帐套会计期间的第一个月,启用帐套首月查询时,取不到存货的期初结存成本。谢谢!

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

用友ERP-U8知识----872库存收发存汇总表新增功能.ppt

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信