数据规范

数据规范

联系我们

苏州三木软件科技有限公司
地址:太仓市科教新城健雄路20号
手机:18344681966
QQ:443100019
QQ群:581545339
E-mail:443100019@qq.com

自动编码

2022-09-30 16:32:13  点击:

自动编码是一个数据管理系统中必不可少的功能。它负责给常规的表单中按照规则生成规律、唯一、不重复的编码。比如说员工信息中的工号、订单表中的订单号、入库单的单号、产品信息中的产品编号等等。

因为编号的规则多种多样,如果每个表都去自己写代码实现相应的编码生成,这个工作量不可谓不大。为了解决这个痛点,SanMuGrid平台开发了这个通用的自动编码生成模块,基本上可以解决99%的编码需求。你也许觉得我这吹的是不是有点过了?不急,咱们往下看。

支持编码类型

1、自增长ID:(长)整数型,根据初始值单纯地生成自增长的数值。适合一些不需要特殊意义的场景,简单表示唯一性,索引性能也会很高。

2、GUID:字符型,返回32位长度的GUID字符串。GUID作为表的主键的话,在多系统合并、不同数据库数据同步时麻烦较少。

3、固定字符、日期、流水码多种组合:大多数情况下为了让票据编号拥有一定的可识别度,我们会给编号设定固定的字符开头或结尾。也会根据票据流水码归零的周期来设置日期。

4、字段+表达式:这是杀手级的功能,通过这两种类型的补充,我们就可以有自信说这样的通用自动编码功能可以完成99%的应用场景。因为字段是可以直接取数据表中的数据的,表达式可以写VB.Net代码从数据库中获取数据,所以理论上用代码实现的东西都可以通过表达式来实现。比如最典型的,做一个产品BOM编号,我们可能会需要用到产品的各种特性,然后再取其中几种特性分组产生流水码。这么复杂编码一样可以通过此模块设置一下参数即可完成。

生成编号时机

AfterDataRowAdded:在新增行的时候即会生成。这样做的好处是,如果此编号是关联字段的话,子表如果有新增的话,会正常带出此编号信息,能够有效的保存数据。坏处是如果中间有放弃某些新增数据的话,就会导致编号中间出现断号。

BeforeSave:在保存表的时候生成。这样做的好处就是可以解决断号的问题。有人可能会觉得,如果中间有人删除单据的话,是不是还会有断号呀?这时候我们可以结合逻辑删除,这样就可以保证没有断号了。

常规操作步骤

1.设置了相应的格式参数后,得点击向左这个按钮,才会最终采用此格式参数。

2.可以结合示例上下调整参数的顺序。