1、完全分批法下产品批次完工标志的变更时点,用友软件股份有限公司姓名 侯国强2010年9月11 日,问题描述,热线问题:872版本,成本按完全分批法核算,生产批号表过滤条件选择了【是否显示已完工的批号】,选择否,之前月份完工的记录还能被过滤出来?这个完工是如何判断的?,分析,经分析,按分批法来核算,这个过滤界面判断是否完工,有个标志,对应生产批号表中的bcompmark,该字段为0表示未完工,1标志已完工!,分析过程,但这个字段满足什么条件时才能从0变成1!,是按完工数量=生产数量,还是按当前会计月份大于完工月份来判断?继续测试,测试思路,1.先测试如果生产数量=完工数量,成本计算后,在查看bco
2、mpmark标志是否变化?,查看数据库字段,bcompmark仍然为1!,成本管理本月结账,再查看该标志字段,此时再查看该标志字段,已经变为1了!,似乎是两个条件同时满足时,该完工标志才改变?,继续测试,假如完工数量不等于生产数量,结账时会不会回写完工标志!,查看标志仍然是0,说明虽然完工日期完工月份,但并不是充分条件!,如果超过了完工月份,但没有完工,则本月数据录入表中就刷新不到该批号记录了!,如果是这种情况还要本月继续录入,就要修改批号表,将完工月份过来!再刷新数据录入表,如果完工月份是在3月,2月份完工数量=生产数量,2月份结账时是否会回写完工标志?,完工月份是3月份,现在完工数量=生产
3、数量,2月份一结账就回写了完工标志,看来和完工月份没有关系?,跟踪一下后台更新标志时的语句,update A set A.bcompmark = 1 , A.icompperiod = 2 , A.iEndYear = 2008 from ca_pronb A where exists (select * from ca_pronb B where A.cppid = B.cppid and A.cbatch = B.cbatch and B.bcompmark = 0 and B.icurqua + B.ihisqua = B.iqua and (B.iyear2008) or (B.iyear=2008 and B.iproductmonth=生产数量时,该字段被回写成2,即更新完工期间,另外,该批次成本对象也被停用!,小注:跟踪发现,当完工标志变成1时,对应该条记录被停用!对应同一个数据字段!,总结分析,1.当累计完工数量大于等于生产数量时,完工标志回写,同时更新原完工期间为本会计期间,该对象被标志停用!2.修改时点为成本月末结账时!,