批号/序列号编码流水号原创
金蝶云社区-null
null
11人赞赏了该文章 350次浏览 未经作者许可,禁止转载编辑于2024年08月28日 15:24:41
summary-icon摘要由AI智能服务提供

本文介绍了批号编码最大流水号表T_STK_MATERIALLOTCODES的维护逻辑,包括获取和更新流水号的方式,考虑物料和组织的区分情况。还涉及流水依据字段说明、内码种子值的管理,以及批号断号补号的处理逻辑,确保批号编码的连续性和管理灵活性。

     批号编码最大流水号表T_STK_MATERIALLOTCODES,获取批号/序列号时会维护该流水号表,先从表中根据流水依据获取最大流水号,如果记录存在,就在流水基础上增加,如果不存在,就插入新的流水依据,起始值就是编码规则里设置的起始值,即修改起始值只对新插入的流水记录有效,对已存在的流水记录无效。查询和更新时会考虑是否区分物料、是否区分组织,如果编码规则设置为不区分,则这两个字段不作为查询最大流水号和更新流水号语句的执行条件。


其中流水依据包括以下内容

FMATERIALID            物料的MasterId,可选区分维度,取决于编码规则是否勾选物料作为编码依据,如果不勾选,则在                                获取和更新最大流水号时忽略该维度,新插入的流水记录,该字段取当前单据对应物料

FORGID                     组织,可选区分维度,取决于编码规则是否勾选组织作为编码依据,如果不勾选,则在                                                  获取和更新最大流水号时忽略该维度,新插入的流水记录,该字段取当前单据对应组织

FLOTCODERULEID     编码规则内码 

FBYVALUE                  编码规则分录中勾选了编码依据编码项目的组合值

FCATEGORY               编码类型,1:批号,2:序列号


FNUMMAX                当前最大流水号(已使用)


      如果对应的物料+组织+编码依据的数据不存在,则需要插入流水号数据,插入时需要注意内码来自对应序列表的种子值Z_STK_MATERIALLOTCODES,在使用新的内码后需要同步维度该序列种子值。可以通过往Z_STK_MATERIALLOTCODES表插入数据再删除的方式增长种子值,注意保持该表为没有数据的空表,否则系统功能会因为得到不足够数量的内码而报错。SQL库也可以通过DBCC CHECKIDENT('Z_STK_MATERIALLOTCODES', noreseed)查询现在的种子值,通过 DBCC CHECKIDENT('Z_STK_MATERIALLOTCODES', reseed, 新种子值)直接修改序列种子值。


     批号支持补断号,批号编码状态表T_BD_LOTCODEVALUE记录获取到批号后的使用状态,字段FBIZSTATUS值,1:正常,2:断号。

     库存参数不勾选”不启用批号断号补号处理“,如果批号编码是断号,且批号编码+物料对应的批号主档都没有追踪信息,则下次相同物料获取批号时会优先使用最小的断号,数量不足的再增加流水号。

     



图标赞 11
11人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!