ERP资源中心交流天地HR/BPM/成本 关于特殊单据成本卷积记账顺序问题。

1  /  1  页   1 跳转 查看:4940

[经验分享] 关于特殊单据成本卷积记账顺序问题。

关于特殊单据成本卷积记账顺序问题。

成本卷积时是将所有的单据包括出、入库单,发票等需要记账的单据通过一个存储过程直接插入到临时表中中,然后再做后续处理。 插入时的order by语句就决定了各种单据的记账顺序。
861版本用ia_subdataleadin将数据插入到明细帐中。
顺序为order by ddate,
Case When cvouchtype = '08' And cbustype in (N'组装入库',N'转换入库',N'调拨入库') Then 1 Else 0 end,
AUTOID,
bflag。
即先按单据日期排列;
然后考虑特殊单据,若是特殊单据生成的其他入库单就会排在后面;
然后按rdrecords的autoid排列,即单据生成的顺序。
最后考虑暂估标志,暂估的最后记账。
这种方式会导致若是同一天的单据。例如9月30日,既有出库,又有调拨形成的其他入库,则调拨入库最后记账。

871版本做了变动,使用ia_accountload存储过程将数据插入。排序方式是
order by dVouDate,
bSpIN desc,
ipzid
其中bSpIN desc,指一个串值。
Case When cbustype In (N''组装入库'', N''转换入库'', N''调拨入库'') Then 0 When cbustype In (N''组装出库'', N''转换出库'', N''调拨出库'') Then 1 else bRdFlag End As bSpIN
即871中在插入时新增加一个字段 bspin,该字段取自单据上的cbustype。并对特殊单据做了处理。
取单据时若是特殊单据形成的入库单赋值为0.特殊单据形成的出库单赋值为1.其他单据取默认brdflag(出库为0,入库为1)。这样排序时先按日期排列,然后然bspin倒序排列。
这样做的结果是同一天的单据,先记非特殊单据形成的入库和特殊单据形成的其他出库单,记账顺序要看ipzid。
然后记特殊单据形成的其他入库单和非特殊单据形成的出库单。顺序看ipzid字段即单据生成顺序。该字段和rdrecord的id相关。
上述两个版本的处理方法都有一些问题。有一些特殊业务都无法处理。
872针对此问题做了特殊处理,单据上增加了新的时间戳字段可以到秒。所以记账时没有此问题。
 

回复:关于特殊单据成本卷积记账顺序问题。

总结的精辟!顶啊!
 

回复:关于特殊单据成本卷积记账顺序问题。

总结的精辟!顶啊!
 

回复:关于特殊单据成本卷积记账顺序问题。

不错
 

回复:关于特殊单据成本卷积记账顺序问题。

拜读
不以物喜,不以己悲。我自含笑看风云。
 

回复:关于特殊单据成本卷积记账顺序问题。

神人啊!
 

回复:关于特殊单据成本卷积记账顺序问题。

这种按日期排序其实很坑爹的,之前一个客户就遇到类似问题,折腾死人了
 
1  /  1  页   1 跳转

版权所有:用友软件股份有限公司-ERP产品支持部

Powered by Discuz!NT 2.0.1214    Copyright © 2001-2017 Comsenz Inc.
Processed in 0.046875 second(s) , 4 queries.
返顶部