3.2 自动编号

数据接口:自动编号

1.使用简介

生活中我们会遇到这种情形:去银行办理业务时,大堂经理会让你去柜台找工作人员要相应的表单,按照表单上面的要求填好后,再将表单交回工作人员。同时,你会发现你和前面或者后面办理相同业务的人所取得的表单是一样的,但是每张表单都有一个唯一性的、具有标识性的编号,通俗来说,就是我们常说的表单单据号。表单有了这些“单据号”,就会方便工作人员整理、记录入案。
云表中同样也存在这么一个具有“单据号”的功能——由于人工输入编号容易出错,因此,在制作模板时,我们常会给需要编号的数据项引用一个带有自动编号的数据接口作为填写规范。新建表单时,会根据模板所设计的自动编号,自动产生具有唯一性的、具有标识性的编号,避免手工输入所带来的一些问题。
日常管理中,人们填写单据的时候常常需要给单据进行从1开始的顺序编号,如:1、2、3…。云表提供了一种自动创建单据编号的工具——自动编号。自动编号由一组含有一定规则的编码组成,包含固定的部分和不固定的部分。实际管理中,自动编号可以运用在学号、工号、商品代码、座位号、车牌号等的编号中。下面让我们一起来学习如何设置数据接口——自动编号吧。

2.运行时机

新建表单时或者保存表单后,根据设置的自动编号规则生成,默认设置为保存表达后才产生。

3.基本设置

模板的设计界面的“公式设置区”单击【数据接口】,打开“设计数据接口”对话框,打开选项卡“自动编号”,单击【新建】进入自动编号的设计界面。

3.1名称

首先要输入自动编号的名称,可任意取名(建议根据需要进行自动编号的数据项名称编写,便于后期调用。如:采购单编号、入库单编号等),主要作用是便于直观的区分数据接口的用途。;当数据接口有参数时,添加参数时,名称中自动添加参数名称。

3.2访问权限

我们可以通过设置访问权限来实现自动编号数据接口仅限本模板使用,或被多个模板同时使用的功能。新建数据接口时,可以选择数据接口是私有还是公开,也可以在创建完成后再次修改访问权限(重新设置私有或公开)。需要注意的是,前期设置了访问权限并在表单模板里调用该数据接口后,这时修改了访问权限,则曾调用数据接口还可以继续使用,之后的便只能由后期设置的访问权限决定是否可以调用该数据接口。
私有:只有本模板可调用此数据接口;公开:本系统的所有模板都可调用此数据接口。一般自动编号类型的数据接口只供本模板自己使用,因为设置为私有的。

3.3自动编号组成

设置编号时,首先要确定编号由几部分组成。编号的组成部分有顺序号位数、固定文字、日期变量、系统变量以及自定义参数。
3.3.1顺序号位数
自动编号原本就是为每个单据生成的流水号,用不断叠加的数字进行编号,为了让每个流水号一样长,就会在不够位数的编号前面加0进行补充,这样就生成了像“0001、0002、0003、...、9999”的编号。在使用前,我们需要规定位数。如果在选择组成类别为“顺序号位数”后,选项处填写“3”,则会从001开始往后编号,如果编号达到999,系统会自动进阶为1000,然后继续往后编号,以此类推。所以设定时,最好先预想最大顺序号,以保证自动编号的整个长度一致。自动编号的顺序号位数需配合下面面板的选项“为组成文本独立生成序号”以及“强制编号连续进行”。
3.3.2固定文字
实际应用时,我们不会只单纯使用顺序号位数进行自动编号,这样不便于区分不同的表单模板。因此,需要在顺序号自动编号前使用固定的前缀,用于区分不同的表单模板。模板的自动编号设置了固定文字后,每当新增表单时,自动编号中的固定文字部分不会改变。
例如,入库单在使用自动编号时,通常使用入库单的拼音首字母的大写“RKD”作为固定的前缀,再加上固定文字“-”,因此可以得到这样一串编号:RKD-0001、RKD-0002、RKD-0003、...、RKD-0100、…;而采购单的固定前缀我们可以使用其拼音首字母的大写“CGD”作为固定前缀,再加上固定文字“-”,则可以得到:CGD-00001、CGD-00002、CGD-00003、...、CGD-00100、…。
3.3.3日期变量
若是想在编号中加入开单日期也是可以实现的,只需要将组成类别设为“日期变量”,选项根据想显示的日期格式进行设置即可,一般日期变量的选项可以选择“yyMM”、“yyyyMM”、“yyMMDD”、“yyyyMMDD”、“yy”、“yyyy”、“MMDD”(yy或者yyyy代表年,MM代表月,DD代表日)。
例如,入库单编号加了日期变量“yyyyMM”后可以表示为:RKD-201801-0001、RKD-201801-0002、RKD-201801-0003、...、RKD-201801-0100、…;而采购单编号加了日期变量“yyMMDD”后可以表示为:CGD-180130-00001、CGD-180130-00002、CGD-180130-00003、...、CGD-180130-00100、…。
若是要让单据的编号跨年、跨月或跨日时重新开始顺序号,只需勾选基本信息(下面板)中的为组成文本独立生成序号。那么,上面所说的入库单编号跨月就会变成这样一系列的编号:RKD-201801-0001、RKD-201801-0002、...、RKD-201801-0100、…、RKD-201802-0001、RKD-201802-0002、…、RKD-201802-0100、…;而采购单编号跨日就会变成这样一系列的编号:CGD-180130-00001、CGD-180130-00002、...、CGD-180130-00100、…、CGD-180131-00001、CGD-180131-00002、...、CGD-180131-00100、…。
3.3.4系统变量
如果希望自动编号中用系统的某些参数作为编号的元素,我们可以将组成类别设置为系统变量,选项可以选择系统变量。
系统参数有以下16种:UUID、当前日期、当前日期时间、当前时间、当前用户主岗位、当前用户姓名、当前用户所在机构、当前用户所在机构全称、当前用户所在部门、当前用户所有岗位、当前用户所有角色、当前用户登录账号、当前用户编号、当前用户部门ID、当前用户部门全称、当前用户部门编号。
如果需要直观的通过看编号就了解是哪个部门填写的,可以在编号中加上部门或部门编号。例如,请假单编号为:QJD-02-201801-0001、QJD-02-201801-0002、QJD-02-201801-0003...QJD-02-201801-0100…,此编号中02为某部门的编号。如何实现这一个功能呢?只需将组成类别设置为系统变量,选项设置为当前用户部门编号就可以达到此效果。当然,除了设置当前用户部门编号,还可以设置当前用户姓名、当前用户账号、当前用户岗位等信息……
3.3.5自定义参数
实际应用中,当我们为商品进行编号时,想要在其编号中直接看出其所属的类别,那么,就需要设置数据接口自动编号中的自定义参数。
自定义参数可以对应模板上的数据项,填报时根据该数据项的中填写的内容,来构造自动编号的自定义参数这一项。 自定义参数在自动编号设置中,只需要指定参数名。当调用该自动编号时,在模板中将模板的数据项赋值。接下来我们使用在商品档案中根据不同的商品分类生成该分类下的自动编号为例,比如 当商品分类为“智联设备”时,商品编号为 智联设备001,智联设备002,智联设备003,当商品分类为“扫码设备”时,商品编号为 扫码设备001,扫码设备002,扫码设备
自定义参数顾名思义,就是用户自己定义一类数据作为参数。而我们在设计带有自定义参数的自动编号时,首先需要在数据接口自动编号中创建参数,之后在自动编号组成中选择自定义参数。

3.4 其他设置

①编号示例。设置好自动编号的组成后,若想预览自动编号的组成样式,可直接通过编号示例即可预览。
②为组成文本独立生成序号。当自动编号中设置了日期变量和顺序号位数,若想让自动编号中的顺序号位数随日期的变化而进行重置,需要勾选“为组成文本独立生成序号”;若未勾选为组成文本独立生成序号,则自动编号不会随日期的变化而进行重置顺序号位数,顺序号位数会直接一直累计叠加。
③允许其他设计者修改删除。设计好的接口,若不希望其他设计者进行修改,只能由设计者本人修改,这时我们需要取消勾选“允许其他设计者修改删除”;若勾选“允许其他设计者修改删除”,则可以被其他有设计权限的设计者(超级管理员或系统管理员)修改。
④强制连续编号。若是想要使用自动编号单据的顺序号位数部分连续,不会因为其他的设置而缺号、断号,这时我们需要勾选强制连续编号。“强制连续编号”会消耗服务器的部分性能,所以在没有必要强制性连续编号的情况下,可以取消勾选“强制连续编号”。

4.全局自动编号

除了在模板中的数据接口-自动编号建立全局数据接口外,还可以在左侧目录树的【我的系统】--【系统管理】--【数据接口】--【自动编号】中建立全局的自动编号数据接口。 一般被多个模板引用的数据接口建立在全局比较好,方便设计者进行管理,比如  全局.商品可用列用、全局.供应商列表、全局.客户列表...等 

5.重置

建立完一个系统后,需要进行完整的测试流程前,表单需要删除,之前调试所生成的序号也需要重置。修改自动编号序号,便可以将编号初始化,或者也可以使该编号从某个设定的编号开始向后进行编号。此修改只作用于顺序号位数。
在左侧目录树的【我的系统】--【系统管理】--【数据接口】--【自动编号序号】中找到我们要修改的自动编号,双击此编号修改序号处,即可实现编号重置(设置为0),或从任意编号开始(设置为需要开始的任意编号减1即可)

6.注意事项

①自动编号一般只能被本模板自己使用,需要设置为私有的,快捷的设计与使用方法为:在模板设计界面,单击【数据表管理】,选中需要设置自动编号的数据项,在该数据项的填写规范上单击【...】,进入自动编号的选择界面,新建并设计完自动编号后,直接调用该自动编号。
②生成的编号顺序号不连续?自动编号主要作用是生成一串唯一的文本,若想生成强制连续的编号,请勾选强制编号连续。若使用的是云共享版本,多个服务器做了负载均衡,自动编号一般不连续。
③已被生成过的编号,当表单被删除后,不能被表单重新使用?自动编号主要作用是生成一串唯一的文本,不保存已删除的编号。如需要回收删除的编号,设计思路如下:需要设计模板“回收池”保存已删除的编号,用模板“我的编号”设计自动编号的生成规则。获取编号时,先从“回收池”模板中获取最小编号,如能找到编号返回该编号赋值给新表单的编号;若“回收池”模板中没有已删除的编号时,获取已生成的最大编号,并+1,赋值给新表单的编号。

7.案例应用

比如入库单号为 “RK1810-001-广州”根据表单上仓库的地址自动生成的。我们一起分析一下,该自动编号有6个组成部分。其中“RK”是固定文字,“1810”是当前年月,“-”是固定文字,“001”是3位顺序号位数,最后一个组成部分“广州”需要设置为自定义参数,获取表单上仓库地址信息。
①新建私有自动编号,并添加参数。在模板设计界面,单击【数据接口】,选择“自动编号”选项卡,该接口只供本模板使用,选择【私有】,单击【新建】弹出“设计数据接口”对话框,选择“自定义参数”选项卡,单击【添加参数】,设置“自定义参数”,添加参数“地址”,数据类型为文本。
②设置自动编号组成。固定文字“RK”  + 日期变量“yyMM” +  固定文字“-”  + 顺序号位数“3”+固定文字“-”+自定义参数“地址”。
③在模板中单击“数据表管理”进入“数据定义管理”页面,在“入库单号”数据项的“填写规范”处,单击并选择刚刚新建的自动编号。该自动编号有参数,需要设置参数绑定。在右侧的“填写规范”-“参数绑定”中,给“地址”参数绑定本模板的“仓库地址”数据项。
④设置自动编号配置,默认为为保存表单时才产生,若去掉勾选,则新建表单时将自动生成。
⑤设置好自动编号后,看看自动编号的使用。新建表单,填写“仓库地址”,单击【保存】,生成自动编号,生成自动编号时,获取“仓库地址”的值赋值参数“仓库”,根据自动编号的组成,生成编号“RK1810-001-广州”
2022-06-24
44 44