Files
WorkNote/SanPinPLM/ERP接口配置/4.0-other/20.自定义对象常规属性.md

137 lines
8.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 介绍
无论是 **文档** 还是 **物料** 等对象的常规属性,都分有 **内建属性****自定义物料属性**
- 内建属性:系统中已经建立的属性,无法修改
- 自定义物料属性:自定义物料属性是指用户可以在系统内建属性之外,根据对象特征需要创建其它属性
**对象常规属性设置** 指设置该对象类型所具备的常规属性,与对应的排版
![image-20240606113052207](../../相关操作/2.0-PDM/assets/image-20240606113052207.png)
这个面板,与 ==**企业配置** → **对象分类** → 文档或物料中的设置是相同的==
想要对某一类物料的常规属性及其布局进行修改,需要在 ==**企业配置** → **对象分类****物料**== 进行设置,具体的设置方式与 [窗体表单模板制作](../../相关操作/1.0-EDM/175.窗体表单.md#窗体表单模板制作) 方式相似
![image-20240606112908325](../../相关操作/2.0-PDM/assets/image-20240606112908325.png)
# 前置条件
==文档或物料所能设置的属性,归由 **对象属性定义** 中的 **文档或物料** 管理==
![image-20240818152224182](assets/image-20240818152224182.png)
双击 **文档或物料** 可以对当前系统中文档或物料的所有相关属性进行设置,对这些对象的常规属性管理
想要设置对象的常规属性,前提要求是 **对象属性定义** 中有这个属性
![image-20240606115956707](../../相关操作/2.0-PDM/assets/image-20240606115956707.png)
## 新增自定义对象属性
如果 **对象属性定义** 中没有所需要的属性,可通过 **新建** 功能创建出新的对象属性
![img](../../相关操作/2.0-PDM/assets/clip_image002-17229359177821.jpg)
**对象属性定义界面** 需要填写 **名称****显示名**其中名称必须以“usr_”为前缀后面输入英文字母且不能与其他属性同名
![img](../../相关操作/2.0-PDM/assets/clip_image002-17229359843532.jpg)
显示名可以输入中文,比如仓库。另外字段长度表示用户在输入该属性时的最大长度,显示宽度表示界面中输入框的长度,值类型比较常用的有文本类型、整数类型、小数类型、枚举类型
![img](../../相关操作/2.0-PDM/assets/clip_image002-17229360105203.jpg)
## 属性映射
若某一对象属性的值来源于另一个对象属性,则可以进行属性映射,在 **对象属性定义界面** 点击 **高级** 按钮
勾选 **属性值来源于以下表达式** 后,在下方的输入栏中填写上要引用的 **对象属性名称**==用 “ [] ” 包裹==
![image-20241209111021292](assets/image-20241209111021292.png)
> 如图所示,填写规格后,备注的内容会自动从规格属性中获取
>
> ![image-20241209111404277](assets/image-20241209111404277.png)
### 多属性映射
若有多个 **对象属性** 要同步映射到同一个 **对象属性** 中,则可以在表达式中写上多个 **对象属性名称**,获取的内容会通过分隔符进行分隔
![image-20241209111918467](assets/image-20241209111918467.png)
> 如图,多属性映射情况下,填写两个属性,则按照顺序全部映射,且属性值之间使用分隔符进行分隔
>
> ![image-20241209112109008](assets/image-20241209112109008.png)
>
> 如图,多属性映射情况下,只填写了一个属性,则只映射该属性,且忽略分隔符
>
> ![image-20241209112213084](assets/image-20241209112213084.png)
### 属性数值计算
若某一 **对象属性** 需要进行计算,计算后的结果填入到另一 **对象属性** 中,则可以在 **属性数值计算** 中写好算式,系统会将计算后的结果写入到对应的 **对象属性**
前提要求是 ==参与计算的对象属性,与接收结果的对象属性 **值类型****整数类型****小数类型**==
![image-20241209113959715](assets/image-20241209113959715.png)
> 如图,属性数值计算情况下,填写重量后,可以将计算后的结果写入到备注中
>
> ![image-20241209113805159](assets/image-20241209113805159.png)
#### **说明**
若参与计算的对象属性值为空则接收结果的对象属性会接收到整个算式如属性B由属性A+10得出那么当属性A为空时属性B的值为+10
在设置 **属性数值计算**请务必检查不可出现多级计算的情况即属性B由属性A+10得出而属性C由属性B-2得出那么当属性A为空时属性B的值为+10属性C的值为+10-2又因为属性C要求存储整数或小数类型系统将会出现如下提示
![image-20250121151417460](assets/image-20250121151417460.png)
相较于 **属性数值计算** 更建议采用 [窗体表单脚本](200.Delphi脚本.md) 来实现属性值的计算
# 操作步骤
确保 **对象属性定义** 中有所需属性
==选择 **企业配置****对象分类****物料** → 具体的对象,双击或右键选择属性打开其属性面板==
![image-20240606120613807](../../相关操作/2.0-PDM/assets/image-20240606120613807.png)
在属性面板中选择 **常规属性**,并右键选择 **自定义界面** 选项
![image-20240606120757997](../../相关操作/2.0-PDM/assets/image-20240606120757997.png)
弹出的新窗口即为 [自定义控件页面](../../相关操作/1.0-EDM/170.自定义控件页面.md),左侧的 [树结构区](../../相关操作/1.0-EDM/175.窗体表单.md#树结构区) 即为系统中对象的所有属性,与 [前置条件](#前置条件) 中的设置对应
选择要添加的属性,在 [控件区](../../相关操作/1.0-EDM/175.窗体表单.md#控件区) 中选择标签,然后在 [属性界面区](../../相关操作/1.0-EDM/175.窗体表单.md#属性界面区) 的空白位置上点击,即可将该属性的标签名添加在页面中。然后再选择输入栏并将其添加到页面中
由于 “ 材料名 ” 这个属性其类型为文本,故而控件区中可选择的类型以编辑器、多行文本为主。我们只要根据属性类型选择对应的输入栏添加即可,添加的控件可通过 [控件属性设置区](../../相关操作/1.0-EDM/175.窗体表单.md#控件属性设置区) 进行设置
![image-20240606145055492](../../相关操作/2.0-PDM/assets/image-20240606145055492.png)
添加完成后,会发现页面不太美观,此时可以通过右上角的 [控件对齐区](../../相关操作/1.0-EDM/175.窗体表单.md#控件对齐区) 对其进行调整、美化
按住 “ Ctrl ” 键不放,用鼠标单击 [属性界面区](#属性界面区) 的不同控件,单击的控件将被选中,单击 [控件对齐区](../../相关操作/1.0-EDM/175.窗体表单.md#控件对齐区) 的对齐按钮,被标记的控件根据单击的按钮类型做相关操作
![img](../../相关操作/1.0-EDM/assets/clip_image002-17184995081342.jpg)
**对齐按钮类型**
- **第一排**:左对齐、右对齐、上对齐、下对齐(以选择的第一个标签为准)
- **第二排**:垂直居中,水平居中,水平最长宽对齐,水平最窄宽对齐
- **第三排**:垂直长高对齐、垂直短高对齐、水平指定宽间距、垂直指定高间距
- **第四排**:宽增加、高减小、宽减小、高增加
完成配置后,点击确定即可保存新的常规属性界面
## 复制界面定义
上述的操作步骤只能定义单个对象分类的 **常规属性界面**,无论其他分类,还是该分类下已有的子分类,亦或是该分类下新建的子分类,都无法继承当该分类的 **常规属性界面**。而为了让其他分类也具备相同的 **常规属性界面**,可对该分类右键,选择 **复制界面定义** 选项
![](../../相关操作/2.0-PDM/assets/Pasted%20image%2020240806111903.png)
复制后在其他分类上右键,选择 **粘贴界面定义** 即可
若该分类及其子分类的 **常规属性界面** 要求一致,则可在父分类上右键选择 **粘贴界面定义(所有子)** 即可
![](../../相关操作/2.0-PDM/assets/Pasted%20image%2020240806112323.png)