BOS运行时-编码规则-自动补号不支持0长度字段原创
金蝶云社区-Howhy
Howhy
6人赞赏了该文章 662次浏览 未经作者许可,禁止转载编辑于2023年03月30日 19:59:50

有时候,我们在配置编码规则,启用自动补号的情况下,系统会提示设置补位符号或者自动长度,提示如下:

image.png


存在这个校验时是因为,当除了常量和流水号类型外,其他字段有任意一个没有全部勾选“编码元素”和编码依据时,长度不能为0,且必须有补位符号。


这是因为这种设置情况下,系统自动补号计算时,需要计算出流水号的位置。而设置0长度时,该项配置长度可能0-N任意长度字符,这样程序无法计算出流水号是什么,导致无法计算出正确的补号。

举例如下(备注:流水号可能升位,可能不再最后的位置上):



当编码规则设置行某一项没有全部勾选依据和元素时,计算补号需要精确匹配。根据每项组成长度来计算依据计算补号。
比如编码规则构成是日期(年,作为编码依据)+组织(不固定长度0-n位)+流水号
生成编码:
22001001 ,2022年 组织001,流水号001
2202002  ,2022年 组织02, 流水号002
....
2202999  ,2022年 组织02, 流水号999

....
2302001   2023年 组织02, 流水号001

计算补号使用正则表达式的情况下.匹配组织时,由于不知道组织的位数,会导致无法精确获取流水号的位置。
2202999,比如这个编号,流水号可能是999,也可能是99(因为组织可能是029),这样模糊性导致无法计算补号。



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

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0