2025-01-13 11:22:31 +08:00
|
|
|
|
# 介绍
|
|
|
|
|
|
|
|
|
|
编码器:是一套编码规则在系统中的体现,用于编码的编制与名称规则。使用绑定的编码器编制编码,提高编码效率,确保编码准确与规范(无论是物料编码、文件编号还是文件的命名规则,只要有固定的编制规则,那就都可以用到编码器)
|
|
|
|
|
|
|
|
|
|
码段:编码器的功能单位,一个编码器由若干个码段组成,各个码段的值组成完整的编码。每个码段应对应编码规则中的某段含义
|
|
|
|
|
|
|
|
|
|
# 前置要求
|
|
|
|
|
|
|
|
|
|
进行编码器设置的用户角色必须具备 **系统设置** 中的 **编码管理** 权限(至少具备 **可见、浏览、修改、新增** 权限)
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
# 操作步骤
|
|
|
|
|
|
|
|
|
|
1. 新建编码器
|
|
|
|
|
2. 填写编码名称
|
|
|
|
|
3. 添加码段
|
|
|
|
|
4. 定义码段
|
|
|
|
|
|
|
|
|
|
## 案例
|
|
|
|
|
|
|
|
|
|
以下面两个物料编码规则为例
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
先创建“产品物料编码”,在 **企业配置** 中打开 **编码管理** 页面,右键选择新建 **编码**
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
在弹出的 **编码属性定义界面** 中填写编码的名称
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
填写名称后选择 **码段信息** 进行定义,由于“产品物料编码规则”中,第一个码段是“标识”,是每个编码都相同的码段,其值固定不变
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
故而码段类型选择 **固定字符串**,并在 **取值** 框内输入显示的值即可
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
第二个码段是“大类”,这是需要用户选择的码段
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
故码段类型选择 **枚举**,并在下方 **常规取值** 标签下创建出所有选项
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
上图的 **可取值范围** 列表中,**取值** 列是指该码段之值显示的内容,**含义** 列是指该码段之值的具体含义。
|
|
|
|
|
|
|
|
|
|
第三个码段是“小分类”,也是枚举类型的码段
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
但是,此码段提供的选项将受到第二个码段的取值制约。例如,第二个码段选择了“A种类”,那第三个码段将提供“a类”、“b类”和“c类”给用户选择,如果第二个码段选择了“C种类”,第三个码段就提供“g类”、“h类”和“i类”给用户选择。所以需要设置枚举码段的 **取值约束**
|
|
|
|
|
|
|
|
|
|
首先,码段类型选择枚举,然后在 **常规取值** 标签下将所有待选项创建出来:
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
然后点击 **取值约束** 标签,点击 **增加约束** 来创建取值约束
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
在弹出的 **取值约束** 窗体中,选择之前创建完成的 **大类** 码段,将以此码段作为约束码段
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
为约束码段选取一个值,形成约束条件,之后按 **确定** 完成
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
设置好一个约束条件之后,将显示在约束条件列表中,并在最下方的表格内列出本码段的所有待选项,勾选这些待选项,作为满足选定的约束条件时,本码段允许的取值
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
像这样把 **大类** 里的每一个值都设置成一个约束条件,并设置相应的允许取值
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
完成这些设置之后点击 **确定** ,完成该码段的创建
|
|
|
|
|
|
|
|
|
|
第四个码段是 **产品标识**,是需要用户手动输入的码段
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
故码段类型选择 **用户输入**
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
最后一个码段是流水号,故码段类型选择 **流水号**,注意流水号的位数
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
如此便完成了“产品物料编码”编码器的创建
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
接下来创建“零部件物料编码”
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
第一个字段是“父级物料编码”,意思是码段的值为上一级物料的物料编码
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
故码段类型选择 **父编码**,还可以在 **范围设定** 中设置继承的范围,本例是全部继承:
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
第二个码段是两位数字型的 **流水号**
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
如此便完成了零部件物料编码器的创建:
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
# 扩展
|
|
|
|
|
|
|
|
|
|
## 码段类型
|
|
|
|
|
|
|
|
|
|
编码器中可选的 **码段类型** 是固定的,包含有:
|
|
|
|
|
|
|
|
|
|
- [固定字符串](#固定字符串)
|
|
|
|
|
- [枚举](#枚举)
|
|
|
|
|
- [流水号](#流水号)
|
|
|
|
|
- [日期](#日期)
|
|
|
|
|
- [员工编号](#员工编号)
|
|
|
|
|
- [部门编号](#部门编号)
|
|
|
|
|
- [用户输入](#用户输入)
|
|
|
|
|
- [当前用户名](#当前用户名)
|
|
|
|
|
- [模板名称](#模板名称)
|
|
|
|
|
- [所属产品编码](#所属产品编码)
|
|
|
|
|
- [所属产品代号](#所属产品代号)
|
|
|
|
|
- [父零件代号](#父零件代号)
|
|
|
|
|
- [父零件编码](#父零件编码)
|
|
|
|
|
- [部门名称](#部门名称)
|
|
|
|
|
- [模板编码](#模板编码)
|
|
|
|
|
- [父名称](#父名称)
|
|
|
|
|
- [父编码](#父编码)
|
|
|
|
|
- [项目名称](#项目名称)
|
|
|
|
|
- [项目编码](#项目编码)
|
|
|
|
|
- [对象属性](#对象属性)
|
|
|
|
|
- [类别树](#类别树)
|
|
|
|
|
- [脚本代码](#脚本代码)
|
|
|
|
|
- [对象分类编码](#对象分类编码)
|
|
|
|
|
- [附件名称](#附件名称)
|
|
|
|
|
- [附件编码](#附件编码)
|
|
|
|
|
- [父对象属性](#父对象属性)
|
|
|
|
|
|
|
|
|
|
### 固定字符串
|
|
|
|
|
|
|
|
|
|
固定字符串类型的码段,其取值是固定不变的
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
### 枚举
|
|
|
|
|
|
2025-03-06 11:30:33 +08:00
|
|
|
|
> 枚举(Enumeration)是一种数据类型,用于定义一组命名的常量值。它允许开发者用更具可读性的符号表示固定的值集合,常用于表示有限且明确的状态或选项。
|
|
|
|
|
>
|
|
|
|
|
> 枚举的主要特点:
|
|
|
|
|
> 命名常量:枚举为每个常量赋予一个名称,提升代码可读性。
|
|
|
|
|
> 类型安全:枚举变量只能取枚举中定义的值,减少错误。
|
|
|
|
|
> 有限集合:枚举值通常是固定的,不可随意扩展。
|
2025-01-13 11:22:31 +08:00
|
|
|
|
>
|
|
|
|
|
> 例如:表示星期的枚举:SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY
|
|
|
|
|
|
|
|
|
|
在编码器中,枚举类码段的取值分有两种情况,即在 **常规取值** 中定义的[局部枚举](#局部枚举),与在整个系统中定义的[系统枚举](#系统枚举)
|
|
|
|
|
|
|
|
|
|
#### 局部枚举
|
|
|
|
|
|
|
|
|
|
局部枚举即指代在当前编码器中使用的枚举,在 **常规取值** 中进行定义,作用范围是当前编码器,换个编码器就需要重新进行定义
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
##### 取值约束
|
|
|
|
|
|
|
|
|
|
取值约束可以用于约束枚举值的取值范围,可理解为:当满足某一条件时,可选择的枚举值为XXX
|
|
|
|
|
|
|
|
|
|
设置 **取值约束** 的前提条件是,必须具备其他 **码段**,一个编码器中只有 **枚举类码段** 是没办法设置 **取值约束** 的
|
|
|
|
|
|
|
|
|
|
需要用户先添加 **约束**,再设置 **取值范围**,每一条 **约束** 都可以设置对应的 **取值范围**
|
|
|
|
|
|
|
|
|
|
例如:设置当“工作周期”码段值为“休息日”时,“星期”码段的值可选择“星期六”或“星期天”
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
#### 系统枚举
|
|
|
|
|
|
|
|
|
|
系统枚举即指代在系统中设置的枚举类型,作为范围是整个系统,任意编码器中都可以使用
|
|
|
|
|
|
|
|
|
|
在 **系统枚举**一栏中点击“三个点”进行选择,选择后可不用再配置 **常用取值**
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
注意:系统枚举没有 **取值约束**,即便添加约束也不能设置相应的取值范围
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
### 流水号
|
|
|
|
|
|
2025-03-06 14:42:07 +08:00
|
|
|
|
**流水号** 类型的码段,是由系统自动进行累加的,可设置其相应的长度与取值范围
|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
流水号类型可设置为数字型或字母型,若为字母型可设置是否开启大写
|
|
|
|
|
|
2025-02-24 20:36:52 +08:00
|
|
|
|
流水号的约束字段与枚举的 [取值约束](#取值约束) 不同,流水号会根据约束字段的不同进行区分累加。例如:以“星期”码段作为约束,那么当周一流水号累加到003时,周二的流水号仍是从001开始,而当周二的流水号累加到010时,周一的流水号会续接周一的流水号,从003开始累加
|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
2025-02-24 20:36:52 +08:00
|
|
|
|
#### 补充
|
|
|
|
|
|
2025-02-24 20:51:52 +08:00
|
|
|
|
如果流水号没有设置 **约束码段**,那么当生成编码的时候,可能会出现 **跳码** 现象
|
|
|
|
|
|
|
|
|
|
即,现在有编码 `2502240501`,此时要通过编码器生成一个新编码,按理来说会生成 `25022401`,其中末位的两位(` 01 `)是流水码,但是由于没有设置约束码段,在生成编码时,系统校验是否存在开头是 `250224` 的编码,找到 `2502240501` 后,会截取 `0501` 的头两位编码,即 `05`,判断得出已有流水码 `05`,故而生成的新编码会直接从流水 `05` 开始,为 ` 25022406 `
|
2025-02-24 20:36:52 +08:00
|
|
|
|
|
2025-01-13 11:22:31 +08:00
|
|
|
|
### 日期
|
|
|
|
|
|
2025-03-06 14:40:15 +08:00
|
|
|
|
**日期** 类型的码段,可在 **常规取值** 中设置日期的格式(xxxx年xx月xx日)
|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
### 员工编号
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|
**员工编号** 类型码段不用管其长度与取值的设置,系统会自动获取到当前用户的 [编号](../../相关操作/0.5-SETOUT/40.用户设置.md#编号)
|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
|
|
|
|
### 部门编号
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|
部门编号类型码段不用管其长度与取值的设置,系统会自动获取到当前用户所在部门的 [部门编号](../../相关操作/0.5-SETOUT/40.用户设置.md#部门编号)
|
2025-02-22 22:25:30 +08:00
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
2025-01-13 11:22:31 +08:00
|
|
|
|
### 用户输入
|
|
|
|
|
|
|
|
|
|
### 当前用户名
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|
会获取当前操作的用户的 [用户名](../../相关操作/0.5-SETOUT/40.用户设置.md#用户名)
|
2025-01-13 11:22:31 +08:00
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|

|
2025-03-06 11:16:43 +08:00
|
|
|
|
|
2025-01-13 11:22:31 +08:00
|
|
|
|
### 模板名称
|
|
|
|
|
|
|
|
|
|
获取当前关联的模板的名称
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
### 所属产品编码
|
|
|
|
|
|
|
|
|
|
### 所属产品代号
|
|
|
|
|
|
|
|
|
|
### 父零件代号
|
|
|
|
|
|
|
|
|
|
### 父零件编码
|
|
|
|
|
|
|
|
|
|
### 部门名称
|
|
|
|
|
|
|
|
|
|
### 模板编码
|
|
|
|
|
|
|
|
|
|
### 父名称
|
|
|
|
|
|
2025-03-17 13:30:35 +08:00
|
|
|
|
父名称指代BOM中的最大级别的物料的名称
|
2025-03-17 13:41:06 +08:00
|
|
|
|
|
2025-03-17 16:26:11 +08:00
|
|
|
|

|
2025-03-17 13:45:08 +08:00
|
|
|
|

|
2025-03-17 16:26:11 +08:00
|
|
|
|

|
|
|
|
|
|
2025-03-17 13:36:28 +08:00
|
|
|
|
|
|
|
|
|
|
2025-01-13 11:22:31 +08:00
|
|
|
|
### 父编码
|
|
|
|
|
|
2025-03-17 13:34:36 +08:00
|
|
|
|
父编码与 [父名称](#父名称) 概念相似 ,指代BOM中的最大级别的物料的物料编码
|
|
|
|
|
|
2025-01-13 11:22:31 +08:00
|
|
|
|
### 项目名称
|
|
|
|
|
|
|
|
|
|
### 项目编码
|
|
|
|
|
|
|
|
|
|
### 对象属性
|
|
|
|
|
|
|
|
|
|
需要先选择要关联的对象的类型,以及要关联的属性,并可设置对该值的取值范围。使用时编码器可自动获取对象属性值
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
### 类别树
|
|
|
|
|
|
|
|
|
|
### 脚本代码
|
|
|
|
|
|
|
|
|
|
### 对象分类编码
|
|
|
|
|
|
|
|
|
|
### 附件名称
|
|
|
|
|
|
|
|
|
|
### 附件编码
|
|
|
|
|
|
2025-02-25 09:46:10 +08:00
|
|
|
|
### 父对象属性
|