根据这句代码:
Dim bh As String = e.DataRow("DD") & "-" & Format(d,"yyyyMM") & "-" '生成编号的前缀
你变好的前缀是9位,不是12位,
所以:
idx = CInt(max.Substring(12,4)) + 1 '获得最大单据编号的后四位顺序号,并加1
应该改为:
idx = CInt(max.Substring(9,4)) + 1 '获得最大单据编号的后四位顺序号,并加1