电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

编码跳号不用愁-明哥帮你来解忧

来源:金蝶云社区作者:金蝶2024-09-237

编码跳号不用愁-明哥帮你来解忧


每个单据上都有“编号”字段,平台的编码规则模块为其提供自动生成功能。


为单据配置编码规则就意味着赋予单据编号一定的生成规律,即减轻录单时的繁琐, 也起到约束编号的作用。


1 编码跳号的场景介绍


这篇文档会阐述在新增单据过程中遇到的一个特殊问题:


在单据进行保存或提交操作时, 出现校验失败,则编号会丢失并继续取下一个编号。出现此现象的原因是,唯一编号在校验前已经生成,若校验失败, 编号会被废弃。


简单举个例子


1. 现在我们要操作A单据, 在A单据的保存操作上绑定一个校验逻辑, 校验我们A单据的一个文本字段T不能为空。


2. 新增一张单据时,编号字段显示“金蝶中国-0001”,我们选择不给文本字段T填写任何值。


3. 点击保存操作,会出现提示告诉你,文本字段T不能为空。


4. 此时我们的单据编号字段, 会显示“金蝶中国-0002”, 即产生我们之前描述的“跳号问题”。


图例如下:




2 跳号问题解析


这个模块我们讲三个事情: 为何产生跳号、解决思路、产品层面思考。


2.1 为何产生跳号?


当我们对单据进行保存等操作时, 在苍穹体系中会有如下流程:



目前我们编码规则标准插件, 选择在“校验前”这个时机, 生成唯一的编号。


而校验器工作的时机是在生成编号之后, 所以校验失败且没有成功入库, 则这个编号就会丢弃。


2.2 解决思路


思路一:断号补偿


一般我们的业务中不会用到断号补偿,这是一个很特殊的功能, 它会收集任何丢弃或者删除的编号加以回收利用, 在下次新增时从断号表取出这些编号。

这个功能为什么能解决我们跳号问题呢? 因为校验失败丢弃的编号被回收了,二次使用时是能获取到这个号码的。(如果有并发竞争, 不一定能获得)



思路二:插件组替换


针对跳号问题我们开发了另外一套插件, 同样是刚刚的那个流程图,我们将编号生成时机延后, 在“校验后”才生成唯一编号, 以此来避免校验失败导致的编号丢弃问题。


2.3 产品层面的思考


针对断号补偿

编码跳号不用愁-明哥帮你来解忧

每个单据上都有“编号”字段,平台的编码规则模块为其提供自动生成功能。为单据配置编码规则就意味着赋予单据编号一定的生成规律,即减轻录...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信