如何设置自增编号?

在数字化业务管理中,自增编号是数据管理的核心工具,广泛应用于订单、合同、项目编号等场景,为企业信息管理与业务推进提供有力支撑。以下详细介绍自增编号的设置方法。

1、自增编号方案说明

设置自增编号主要有两种方式,可根据需求选择:

  • 自增编号字段:适用于 “自动编号 + 固定文本 + 创建日期” 自由组合的编号需求;
    查看自增编号字段详细配置方法>>
  • 自动化-触发器:适用于自增编号字段无法满足的复杂编号需求。

本篇将重点讲解如何通过触发器配置自增编号的函数用法,以及不同类型自增编号的具体配置方式。

2、自增函数介绍:INCREAMENT()

2.1 函数基本原理与机制

INCREAMENT()函数是自增编号的核心,从 1 开始,每次执行加 1 。语法为INCREMENT([重置方式],[自增通道]),同名通道独立计数。

img

2.2 函数参数详解:定制编号规则的 “魔法棒”

自增函数可设置两个参数 “重置方式” & “自增通道”:

  • 重置方式:决定编号 “归零” 周期。 是必填项。
    • 选 “A” 时,“自增通道” 不变则编号累加;
    • 选 “D”,编号每日清零重计,适用于按日周期管理业务;
    • 选 “M”,每月 1 日重启编号,适用于按月周期管理业务。
    • 选 “Y”,每年 1 月 1 日编号重新开始。
  • “自增通道” :只要该参数变化,编号就从 1 开始。可以用数值、文本、空格、符号命名,也能选择数据的字段值用于通道命名。例如:
    • “任意文本”
    • {物料清单表.物料类型},可以在物料表中按照不同的物料类型(实际是基于被关联表的数据id)单独编号
    • 注意:增加空格也会识别为不同通道,示例如下:
      • '1'
      • '01'(01且后面不加空格)
      • '01 '(01后面加一个空格)
      • '01 '(01后面加两个空格)

2.3 函数基础用法演示

2.3.1 函数仅设置“重置方式”

  • 触发器配置

当满足触发动作(如创建数据之后)及触发条件后,在目标表格的指定字段(如 “自增编号” 字段)设置按照函数表达式赋值编号。

img

  • 在数据中的执行结果

仅设置 “重置方式” 为默认的 “A” 时,每次触发操作,“自增编号” 字段的值会在原有基础上加 1 。

img

2.3.2 函数设置“重置方式+自增通道”

  • 触发器配置

在前面仅设置“重置方式”的基础上,设置“重置方式+自增通道”。

img

  • 在数据中的执行结果

当 “自增通道” 对应的内容发生变化时,编号会重新从 1 开始自增。

img

3、5 种编号结构的配置:常见编号的配置方案选择及配置步骤

以下以合同管理为例,介绍不同结构编号的配置方法。

3.1 前缀+固定N位流水号

这类编号可直接通过 “自增编号字段” 快速配置。

在企业合同管理场景中,“前缀 + 固定 N 位编号” 是极为常见的编号结构。例如,某科技企业的合同编号采用 “HB000045” 格式:其中 “HB” 为代表企业或业务板块的前缀,后接固定 6 位流水号。

这种结构不仅简洁明了,还能大幅提升编号的识别效率与管理便捷性,执行效果如图所示:

img

自增编号字段配置步骤如下:

  • 添加自增编号字段;
  • 将“自增数字”调整为6位;
  • 添加并输入“固定文本”为HB;
  • 拖动调整编号显示顺序。

img

3.2 动态前缀+按公司自增的固定N位流水号

在涉及大量供应商或客户的大型企业中,为实现合同编号的精细化管理,常按供应商或客户单独编排编号。例如,大型零售企业与众多供应商合作时,会为每个供应商的合同设置独立自增的流水号,这样能更清晰地进行业务区分与数据统计。

不过,这种单独编号的方式可能导致不同供应商的流水号出现重复。因此,需为不同供应商设置差异化的变量前缀,以此确保合同编号的唯一性。编号效果如下图:

img

“固定文本+自增编号”变为“动态文本+自增编号”,此时的“动态文本”就需要通过触发器来实现。

下面我们通过触发器来配置自动生成编号。

3.2.1 配置触发方式、条件

与前一种编号结构类似,基于【合同表】创建 “自动生成合同编号” 触发器,选择 “创建数据之后” 触发,不设置额外触发条件,确保合同创建时编号生成的及时性。配置如下:

img

3.2.2 配置执行操作

  • 选择执行操作

img

  • 设置执行操作

对 “合同编号” 字段设置表达式,为方便调取不同采购商的缩写作为前缀,调整了表格结构,将 “采购方” 设置为关联字段,关联【采购商名单】,并显示出文本类型的 “缩写” 字段(即{当前数据.缩写}) 。

img

本案例配置中:

  • 为方便调取不同采购商的缩写作为前缀,调整了表格结构,将 “采购方” 设置为关联字段,关联【采购商名单】,并显示出文本类型的 “缩写” 字段(即{当前数据.缩写}) 。
  • 在INCREMENT函数中增加 “自增通道” 为{当前数据.缩写},当 “采购方” 字段值发生变化时,自增通道随之改变,从而实现每个采购方的合同编号单独自增,满足企业对不同供应商合同的精细化管理需求。

3.2.3 相关函数简介

设置的表达式为:CONCAT({当前数据.缩写} , PAD(TEXT(INCREMENT('A',{当前数据.缩写} )),6,'0','LEFT'))

img

  • CONCAT函数:如同一个 “文本拼接大师”,能够将多个不同类型的文本、日期、数字变量或常量无缝连接在一起。例如在编号设置中,它将前缀 “{当前数据.缩写} ” 与后续生成的流水号文本连接起来,形成完整的合同编号。
  • PAD函数:负责将文本填充至指定长度。在这个案例中,为了确保流水号始终保持 6 位固定长度,使用 “0” 在左侧填充,保证编号格式的一致性和规范性。
  • TEXT函数:它的作用是将各种类型的变量转化为文本形式,以便CONCAT函数进行连接操作。在这里,将INCREMENT自增函数生成的数值结果转化为文本,为编号的生成提供了统一的数据格式。

3.3 变量前缀+时间戳+固定N位流水号

在一些对合同信息追溯要求较高的行业,如金融、法律等,“变量前缀 + 时间戳 + 固定 N 位流水号” 的编号结构备受青睐。这种编号包含了合同类型、时间等丰富信息,方便进行精准的业务追溯和数据分析。

例如,合同编号格式为 “EC20250508 - 685161010”,其中 “EC” 代表电子合同类型,“20250508” 表示合同签订的年月日,“685161” 是时间戳后 6 位,“010” 为流水号。

其结构为“合同类型代码(2 位)+ 年份(4 位)+ 月份(2 位)+ 日期(2 位)+ 时间戳后 6 位 + 流水号(3 位)”。

效果如图:

img

下面我们通过触发器来配置自动生成编号。

3.3.1 配置触发方式、条件

基于【合同表】创建 “合同编号:前缀 + 时间戳 + 固定 N 位流水号” 触发器,选择 “创建数据之后” 触发,不设置触发条件。配置如下:

img

3.3.2 配置执行操作

  • 选择执行操作

img

  • 设置执行操作

首先,设置临时变量 “合同前缀”,利用IF函数判断合同类型;

然后,对 “合同编号” 字段设置表达式进行赋值。

img

这一表达式综合运用多个函数,将合同类型、当前日期、时间戳信息与自增流水号有机结合,生成信息丰富、唯一且有序的合同编号。

3.3.3 相关函数简介

img

除了前面介绍过的函数,还有几个关键函数在这个编号结构中发挥着重要作用:

  • YEAR函数:能精准提取指定日期中的年份,以 4 位数值形式返回。在编号生成中,用于获取合同创建年份,如YEAR(2025-05-08)返回 “2025”,为编号增添时间维度信息。
  • MONTH/DAY函数:分别用于获取日期中的月份和日。由于这两个函数返回的月、日数值可能为个位数,所以借助PAD函数填充为 2 位,确保编号格式统一。例如MONTH(2025-05-08)返回 “5” ,经PAD函数处理后变为 “05”。
  • TIMESTAMP函数:将日期转换为 UNIX 时间戳,即从 “1970 - 01 - 01 08:00:00 GMT” 起计算的秒数。在本案例中,使用RIGHT函数截取时间戳后 6 位,为编号提供精确到秒级的时间标识,增强编号的唯一性和时间追溯性。
  • RIGHT函数:从文本右侧开始,按照指定的字符数截取文本内容。在编号生成中,用于截取时间戳后 6 位,获取关键时间信息。
  • IF函数:根据设定的条件进行判断,条件成立时执行表达式 1,否则执行表达式 2。本案例中依据合同类型确定编号前缀,实现了编号的智能化生成。

3.4 从X号开始自增的固定N位流水号

自增编号字段和触发器编号均可实现此需求,配置方法如下:

3.4.1 自增编号字段配置方法

img

在字段设置中找到“开始值”,点击重置输入值。

重置后,下一条新建数据的自增编号值将以此处设置的值重新开始计数。历史数据不会改变。

3.4.2 触发器配置方法

在某些特殊业务场景下,编号可能不需要从 1 开始,而是从特定的数字 X 开始自增。

例如,一家企业承接了一个大型项目,该项目的子合同编号需要从 50 开始编号,以与其他项目进行区分。执行后效果如图:

img

在这种情况下,通过在INCREMENT函数后加上特定数值来实现。表达式配置如下:

img

这种编号方式为企业在处理特殊业务时提供了灵活的编号解决方案,确保编号体系与业务实际需求紧密契合。

通过上面的讲解,大家已经能够选择适合自己需求的方案满足自己的编号需求了吧?

2025-08-07 更新
5393 次查看