连百产品文档

让单据自动编号

合同号 HT202609-0001、订单号 SO-00012 这类编号不用人手填,也不用担心两个人同时开单撞号:在数据表属性的单据编号里开一下,新建时系统自己发号。

入口:「设置管理 → 企业设置 → 应用中心 → 模块设计器」,打开你的应用。

第一步:准备一列放编号

编号只能填进单行文本字段。表上还没有的话,切到表格档点「+ 添加字段」,加一个单行文本字段,标签叫「单号」「合同编号」都行。

建议顺手把它勾成只读:编号由系统给,不让人改。

第二步:开编号、定样式

在左侧结构树或导图上点这张数据表,右边是「数据表属性」,往下找到单据编号:

  1. 勾上新建时自动生成编号;
  2. 编号填进哪一列:选刚才那个字段。不选的话默认填进这张表的显示字段(列表里代表这条记录的那一列);
  3. 前缀:编号前面固定的那一段,比如 HT。想带上年月就写 HT%(year)s%(month)s-;
  4. 位数:流水号补零到几位,1 到 12 之间,填 4 就是 0001;
  5. 看下面那行示例,它会随你输入实时变化(如 HT202609-0001),样子对了就行。
数据表属性里的「单据编号」:勾上自动生成,选编号填进哪一列,填前缀和位数,下面一行是示例。
数据表属性里的「单据编号」:勾上自动生成,选编号填进哪一列,填前缀和位数,下面一行是示例。

前缀里能用的日期写法:

写法含义
%(year)s四位年
%(month)s两位月
%(day)s两位日
%%一个百分号本身(单独写一个 % 会报错)

前缀写错时,示例那一行会换成一句红字告诉你错在哪。

也可以从字段这头开

选中那个单行文本字段,属性面板「取值与显示规则」下面有一格自动编号,勾上「新建时由系统自动生成编号填进这一列」效果一样;它下面会显示当前的编号样式,点「去修改」跳回数据表属性改前缀和位数。

单行文本字段的属性面板:「取值与显示规则」下的「自动编号」勾选框。
单行文本字段的属性面板:「取值与显示规则」下的「自动编号」勾选框。

这一格不是每个文本字段都有:这张表已经开了编号、这个字段是只读的,或者名字看着像单号时才出现。没看到就按第二步从数据表属性里开。

第三步:升级,然后新建一张单试试

点顶栏「升级」。到应用里新建一条记录,编号那一格不用填,保存后就是系统发的号。

设计器的预览档里编号是空的,这是正常的——预览上方的「预览不含」写着:单据编号在保存那一刻才发号。

预览档上方的「预览不含」第一条:单据编号由保存那一刻发号,预览里是空的。
预览档上方的「预览不含」第一条:单据编号由保存那一刻发号,预览里是空的。

几条规则

常见问题

顶栏出现校验问题"编号只能填进单行文本列":没选「编号填进哪一列」,而这张表的显示字段又不是单行文本。在「编号填进哪一列」里选一个单行文本字段即可。

想每年从 1 重新开始编:目前前缀里带上年份只改变编号的样子(HT2026-…),流水号本身不会自动归零。

老单据没有编号:编号是在新建那一刻发的,开编号之前已经存在的记录不会自动补号。

相关:让系统自动算金额与合计、给单据加状态,并管住它怎么流转。