Files
WorkNote/SanPinPLM/ERP接口配置/4.0-other/25.编码器设置.md

300 lines
12 KiB
Markdown
Raw Normal View History

2025-01-13 11:22:31 +08:00
# 介绍
编码器:是一套编码规则在系统中的体现,用于编码的编制与名称规则。使用绑定的编码器编制编码,提高编码效率,确保编码准确与规范(无论是物料编码、文件编号还是文件的命名规则,只要有固定的编制规则,那就都可以用到编码器)
码段:编码器的功能单位,一个编码器由若干个码段组成,各个码段的值组成完整的编码。每个码段应对应编码规则中的某段含义
# 前置要求
进行编码器设置的用户角色必须具备 **系统设置** 中的 **编码管理** 权限(至少具备 **可见、浏览、修改、新增** 权限)
2025-05-12 22:27:41 +08:00
![image-20240725211407165](../../相关操作/1.0-EDM/assets/image-20240725211407165.png)
2025-01-13 11:22:31 +08:00
# 操作步骤
1. 新建编码器
2. 填写编码名称
3. 添加码段
4. 定义码段
## 案例
以下面两个物料编码规则为例
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image002-17219136390171.jpg)
2025-01-13 11:22:31 +08:00
2025-05-12 22:27:41 +08:00
![img](../../相关操作/2.0-PDM/assets/clip_image004.jpg)
2025-01-13 11:22:31 +08:00
先创建“产品物料编码”,在 **企业配置** 中打开 **编码管理** 页面,右键选择新建 **编码**
2025-05-12 22:27:41 +08:00
![image-20240725212254864](../../相关操作/1.0-EDM/assets/image-20240725212254864.png)
2025-01-13 11:22:31 +08:00
在弹出的 **编码属性定义界面** 中填写编码的名称
2025-05-12 22:27:41 +08:00
![img](../../相关操作/2.0-PDM/assets/clip_image006.jpg)
2025-01-13 11:22:31 +08:00
填写名称后选择 **码段信息** 进行定义,由于“产品物料编码规则”中,第一个码段是“标识”,是每个编码都相同的码段,其值固定不变
2025-05-12 22:27:41 +08:00
![img](../../相关操作/2.0-PDM/assets/clip_image008.jpg)
2025-01-13 11:22:31 +08:00
故而码段类型选择 **固定字符串**,并在 **取值** 框内输入显示的值即可
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image010.jpg)
2025-01-13 11:22:31 +08:00
第二个码段是“大类”,这是需要用户选择的码段
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image012.jpg)
2025-01-13 11:22:31 +08:00
故码段类型选择 **枚举**,并在下方 **常规取值** 标签下创建出所有选项
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image014.jpg)
2025-01-13 11:22:31 +08:00
上图的 **可取值范围** 列表中,**取值** 列是指该码段之值显示的内容,**含义** 列是指该码段之值的具体含义。
第三个码段是“小分类”,也是枚举类型的码段
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image016.jpg)
2025-01-13 11:22:31 +08:00
但是此码段提供的选项将受到第二个码段的取值制约。例如第二个码段选择了“A种类”那第三个码段将提供“a类”、“b类”和“c类”给用户选择如果第二个码段选择了“C种类”第三个码段就提供“g类”、“h类”和“i类”给用户选择。所以需要设置枚举码段的 **取值约束**
首先,码段类型选择枚举,然后在 **常规取值** 标签下将所有待选项创建出来:
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image018.jpg)
2025-01-13 11:22:31 +08:00
然后点击 **取值约束** 标签,点击 **增加约束** 来创建取值约束
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image020.jpg)
2025-01-13 11:22:31 +08:00
在弹出的 **取值约束** 窗体中,选择之前创建完成的 **大类** 码段,将以此码段作为约束码段
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image022.jpg)
2025-01-13 11:22:31 +08:00
为约束码段选取一个值,形成约束条件,之后按 **确定** 完成
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image024.jpg)
2025-01-13 11:22:31 +08:00
设置好一个约束条件之后,将显示在约束条件列表中,并在最下方的表格内列出本码段的所有待选项,勾选这些待选项,作为满足选定的约束条件时,本码段允许的取值
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image026.jpg)
2025-01-13 11:22:31 +08:00
像这样把 **大类** 里的每一个值都设置成一个约束条件,并设置相应的允许取值
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image028.jpg)
2025-01-13 11:22:31 +08:00
完成这些设置之后点击 **确定** ,完成该码段的创建
第四个码段是 **产品标识**,是需要用户手动输入的码段
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image030.jpg)
2025-01-13 11:22:31 +08:00
故码段类型选择 **用户输入**
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image032.jpg)
2025-01-13 11:22:31 +08:00
最后一个码段是流水号,故码段类型选择 **流水号**,注意流水号的位数
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image034.jpg)
2025-01-13 11:22:31 +08:00
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image036.jpg)
2025-01-13 11:22:31 +08:00
如此便完成了“产品物料编码”编码器的创建
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image038.jpg)
2025-01-13 11:22:31 +08:00
接下来创建“零部件物料编码”
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image040.jpg)
2025-01-13 11:22:31 +08:00
第一个字段是“父级物料编码”,意思是码段的值为上一级物料的物料编码
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image042.jpg)
2025-01-13 11:22:31 +08:00
故码段类型选择 **父编码**,还可以在 **范围设定** 中设置继承的范围,本例是全部继承:
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image044.jpg)
2025-01-13 11:22:31 +08:00
第二个码段是两位数字型的 **流水号**
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image046.jpg)
2025-01-13 11:22:31 +08:00
如此便完成了零部件物料编码器的创建:
2025-05-12 22:27:41 +08:00
![img](../../相关操作/1.0-EDM/assets/clip_image048.jpg)
2025-01-13 11:22:31 +08:00
# 扩展
## 码段类型
编码器中可选的 **码段类型** 是固定的,包含有:
- [固定字符串](#固定字符串)
- [枚举](#枚举)
- [流水号](#流水号)
- [日期](#日期)
- [员工编号](#员工编号)
- [部门编号](#部门编号)
- [用户输入](#用户输入)
- [当前用户名](#当前用户名)
- [模板名称](#模板名称)
- [所属产品编码](#所属产品编码)
- [所属产品代号](#所属产品代号)
- [父零件代号](#父零件代号)
- [父零件编码](#父零件编码)
- [部门名称](#部门名称)
- [模板编码](#模板编码)
- [父名称](#父名称)
- [父编码](#父编码)
- [项目名称](#项目名称)
- [项目编码](#项目编码)
- [对象属性](#对象属性)
- [类别树](#类别树)
- [脚本代码](#脚本代码)
- [对象分类编码](#对象分类编码)
- [附件名称](#附件名称)
- [附件编码](#附件编码)
- [父对象属性](#父对象属性)
### 固定字符串
固定字符串类型的码段,其取值是固定不变的
2025-05-12 22:27:41 +08:00
![image-20240725215746284](../../相关操作/1.0-EDM/assets/image-20240725215746284.png)
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
![image-20240725221430867](../../相关操作/1.0-EDM/assets/image-20240725221430867.png)
2025-01-13 11:22:31 +08:00
##### 取值约束
取值约束可以用于约束枚举值的取值范围可理解为当满足某一条件时可选择的枚举值为XXX
设置 **取值约束** 的前提条件是,必须具备其他 **码段**,一个编码器中只有 **枚举类码段** 是没办法设置 **取值约束**
需要用户先添加 **约束**,再设置 **取值范围**,每一条 **约束** 都可以设置对应的 **取值范围**
例如:设置当“工作周期”码段值为“休息日”时,“星期”码段的值可选择“星期六”或“星期天”
2025-05-12 22:27:41 +08:00
![image-20240725224612658](../../相关操作/1.0-EDM/assets/image-20240725224612658.png)
2025-01-13 11:22:31 +08:00
#### 系统枚举
系统枚举即指代在系统中设置的枚举类型,作为范围是整个系统,任意编码器中都可以使用
**系统枚举**一栏中点击“三个点”进行选择,选择后可不用再配置 **常用取值**
2025-05-12 22:27:41 +08:00
![image-20240725223901146](../../相关操作/1.0-EDM/assets/image-20240725223901146.png)
2025-01-13 11:22:31 +08:00
注意:系统枚举没有 **取值约束**,即便添加约束也不能设置相应的取值范围
2025-05-12 22:27:41 +08:00
![image-20240725224207211](../../相关操作/1.0-EDM/assets/image-20240725224207211.png)
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
![image-20240725225337820](../../相关操作/1.0-EDM/assets/image-20240725225337820.png)
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
![image-20240725230348528](../../相关操作/1.0-EDM/assets/image-20240725230348528.png)
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
![image-20240725231106322](../../相关操作/1.0-EDM/assets/image-20240725231106322.png)
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
![](assets/Pasted%20image%2020250219122900.png)
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
![image-20240529155337941](../../相关操作/1.0-EDM/assets/image-20240529155337941.png)
2025-03-06 11:16:43 +08:00
2025-01-13 11:22:31 +08:00
### 模板名称
获取当前关联的模板的名称
![](assets/Pasted%20image%2020250110101238.png)
### 所属产品编码
### 所属产品代号
### 父零件代号
### 父零件编码
### 部门名称
### 模板编码
### 父名称
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
![](assets/Pasted%20image%2020250317134006.png)
2025-03-17 13:45:08 +08:00
![](assets/Pasted%20image%2020250317134437.png)
2025-03-17 16:26:11 +08:00
![](assets/Pasted%20image%2020250317140650.png)
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
### 项目名称
### 项目编码
### 对象属性
需要先选择要关联的对象的类型,以及要关联的属性,并可设置对该值的取值范围。使用时编码器可自动获取对象属性值
![](assets/Pasted%20image%2020250110105854.png)
### 类别树
### 脚本代码
### 对象分类编码
### 附件名称
### 附件编码
2025-02-25 09:46:10 +08:00
### 父对象属性