📺模板设计-自动编号使用说明

这一节我们来学习一个新的数据规范:自动编号。自动编号需要我们先设置,然后再绑定使用。

功能介绍

自动编号是我们在系统设计过程中非常重要的一个功能。它代表了系统设计思想的精髓,在我们任何一个称之为”系统”的应用中,其实都是通过编码来实现大多数系统功能的。可以这么说,在关系型应用中,如果没有编码,将会减少90%的应用价值。

自动编号能够在表单上生成唯一的ID码,目的是可以给每一条数据一个唯一的身份信息。就像我们每个人都有一个身份证号码,他代表着每个人信息的唯一性。这样我们在进行数据处理时,就能够通过唯一编码进行识别。
我们在模板样式章节中讲到,系统的一个特性就是能够实现数据关联,这是Excel表格所不具备的能力。要如何能够实现数据关联,利用的就是具有唯一属性的ID码。系统之所以称之为系统,首先要保证的是数据流转过程中的强关联,ID码在其中发挥着核心的作用。

📺模板设计-自动编号使用说明
编码在关系型业务中的应用

应用实例

先给大家举一个例子,我们来感受下有编码和无编码在数据管理中的区别

我们在填写销售订单时,会选择客户信息表中的客户信息。如果某一天客户信息由于工商变更调整了单位名称,这个时候我们再统计这家客户的销售数据时就比较困难。但是如果我们使用了客户编码字段,不管客户名称如何变化,编码都是不会变的,这时,任何与之相关的统计都不会出现问题,这就是ID编码所起的作用。

📺模板设计-自动编号使用说明
有无编码的应用区别

📺有无编码对比操作

自动编号的设置原则


上面的例子给大家简单的演示了一下有无编码的区别,编码的应用在系统设计过程中非常重要,希望大家一定要重视起来,如果把一套系统比喻成一栋房子,那编码就是这栋房子的承重墙,哪里缺,哪里就有可能产生坍塌的风险。

那编码的设置和利用原则是什么样的呢?

定义的每一个数据表,都应该有相应的编码字段

一、原则上,我们定义的每一个数据表,都应该有相应的编码字段,这里要强调的是每一个数据表,而不是每一个模板,如果一个模板中有主子表,不光主表上要有编码字段,子表上也应该设置编码字段,来保证每条数据的唯一性。例如,我们在建立销售管理模块时,有客户信息,产品信息,销售订单,销售订单查询等模板;客户信息和产品信息模板,我们需要建立客户编码字段和产品编码字段;销售订单是主子表结构,我们需要在主表上设置单据编码字段,明细表上设置单据明细号字段。

数据发生调用时,调用的数据对应的编码字段也要一并调取过来

二、在关系型业务中,数据发生调用时,调用的数据对应的编码字段也要一并调取过来,比如我们在销售订单中调取了客户信息和产品信息,那么客户编码和产品编码也应该一起调取过来,来保证数据的关联性。

📺模板设计-自动编号使用说明
模板中的每个数据表都设置编码字段

自动编号的建立

自动编号的建立过程比较简单,但要理解几个设置项的含义。一般,自动编码的结构由前缀+日期部分+流水号三部分组成。
比如销售订单编码XS20230808001,单据明细码 MX230101000001,产品信息编码 CP2300001等。

自动编码的应用是绑定在基础模板和业务模板上,基础模板的自动编码日期部分可以为无,或者设置为年份或年月即可,流水号以周期内可能产生的最大数目为准。
比如,产品信息最多可达到几千个,可设置4位流水号。业务模板中主表信息,日期部分一般年月日,流水号以周期内可能产生的最大数为准,比如,每天的销售订单最多几百个,则可设置3位流水号;扩展表的自动编码我们一般叫做单据明细号,日期部分一般为年月日,流水号一般设置6-8位,同时,为了简化设计,不同扩展表的明细号可以复用。但是主表上的自动编码我们一般都是单独设置的。

模板自动编码格式说明
产品信息产品信息编码C00001基础信息编码可不用
客户信息客户信息编码K0001
供应商信息供应商信息编码G230001
销售订单销售订单编码XS20230101001单据编码以前缀,年月日+流水号形式
单据明细码MX20230101000001
采购订单采购订单编码CG20230101001
单据明细码MX20230101000001明细码可复用
 自动编码的示例和应用说明

📺自动编号组成说明

废号重用规则


废号是指使用过后又被舍弃掉的编码一般是删除表单或者新建未保存表单时造成的

对于废号的使用,是根据我们的设置规则来定的。系统中废号重用有三种规则:关闭重用,完整重用(全部回收)和顺序重用(部分回收)。
我们通过举例来说明这三种规则的差异性。比如:我们生成了001,002,003,004编码,现将002和004编码删除,这就产生了两个废号。
当我们设置废号重用关闭时,再次新增单据时系统会自动往下生成编码005,再新增单据,会按顺序生成006,007……;
当我们设置废号完整重用时,再次新增单据时系统会先生成002和004,再新增单据,会按顺序生成005,006……;
下图是先生成001,002,003,004编码,然后删除002和004编码后,不设置废号重用,设置废号重用,顺序重用,完整重用的对比图

📺模板设计-自动编号使用说明
不同废号规则的编码生成图示

需要指出的是,我们在系统设置的时候,不用一味的追求编码的连续性。对于系统编码而言,保证编码是唯一并且升序生成就足够了,按升序生成对系统的意义也非常重要,这在后面数字化处理应用会跟大家具体讲解。同时BS架构的产品,由于依赖浏览器的使用,同时,产品也无法检测到浏览器的一些动作,当用户在刷新浏览器时,也有可能产生跳号的问题。

📺浏览器跳号+小知识:自动编号-废号重用

自动编号的生成时机

自动编号的生成时机分为两种,一种是新增时生成,一种是保存时生成,但自动编码的绑定情况也分两种,绑定在主表上,和绑定在扩展表上。当自动编码绑定在主表上时,默认是新增时生成自动编码的,如果你想减少跳号的情况,也可以设置为保存时产生;当自动编码绑定在扩展表时,由于填报时不明确扩展表的具体行数,所以扩展表的自动编码只在保存时生成。

📺自动编号生成

上面我们给大家介绍了自动编码的整个建立原则和方法,希望大家对自动编码有一个深刻的理解和认识,我们建立自动编码的核心目的就是给每条数据一个唯一的标识,所有数据流转的时候,对应的唯一标识也要一起流转的。这样在进行数据管理时,我们才能更加的清晰和精准。

相关文章

© 版权声明
THE END
喜欢就点赞吧
分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容