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