# 介绍 窗体表单能够根据用户需求 [自定义控件页面](170.自定义控件页面.md) ;绑定流程实现数据流转和自动签名; [绑定流程过程用户](180.窗体表单绑定流程过程用户.md) 控制属性操作权限; 为属性控件编辑事件 [脚本](../4.0-other/200.Delphi脚本.md) 来实现个性化的操作 # 窗体表单模板制作 ## 前置要求 创建窗体表单模板的用户必须具备 **企业配置** 中的 **对象分类** 权限 ![image-20240615112007122](assets/image-20240615112007122.png) ## 基础操作 选择 **企业配置** 模块的 **对象分类** 选项,在其结构树下选择 **窗体表单** 节点 对 **窗体表单** 或其下分类右键,可弹出菜单。对其下分类双击可打开 **对象分类属性** 窗体 ![image-20240615112216551](assets/image-20240615112216551.png) ## 创建分类 > 在三品PLM中,**分类** 其实就是窗体表单对象 > > 如果希望创建的窗体表单只需要作为容器包含其他的窗体表单,那么对其勾选 **抽象类** 即可,系统会将其视为“仅包含其他分类的容器分类”(可以理解为文件夹,详细可查阅 [物料分类中详细介绍的抽象类](../2.0-PDM/25.物料分类设置.md#抽象类) ) 对 **窗体表单** 进行右键或对其下的分类进行右键,在菜单栏中选择 **新建** 并选择 **分类** 即可进行新建分类操作 ![image-20240615112423689](assets/image-20240615112423689.png) 在弹出的窗口中可对窗体表单的分类对象进行设置 在 **对象分类属性** 窗体的 **规则定义** 页,分别设置 **名称**、**流程模板**、**名称编码器**、**编码器** 和 **导出模板** 对相关属性完成设定后,点击确定即可创建对应分类,但该分类的窗体表单仍是初始状态,无法满足使用,需要进行相应的 [属性配置](#窗体表单配置) 与 [自定义控件页面](170.自定义控件页面.md) ![img](assets/clip_image002.jpg) **参数说明** - **名称**:窗体表单模板名称,如果没有绑定名称编码器,它作为窗体表单实例的名称 - **流程模板**:对窗体表单实例执行创建工作流时使用的流程模板 - **名称编码器**:为窗体表单实例绑定名称规则 - **编码器**:为窗体表单实例绑定编码规则 - **导出模板**:为窗体表单实例绑定导出模板 ## 移动端属性设置 在 **对象分类属性** 窗体的 **移动端属性** 页面可对移动端表单显示图标、审批方式进行配置 ![img](assets/clip_image002-17184222660001.jpg) **参数说明** - **审批**:在移动端提交表单时自动执行该表单所绑定的流程 - **报告**:在移动端提交表单时需选择接收人 - **APP图标**:在移动端该表单显示的图标 - **备注**:表单说明性的内容 ## 窗体表单配置 通过 **窗体表单配置** 能够对该窗体表单要使用的属性字段进行配置,在该页面中,分有 **主表配置** 与 **明细表配置** ![image-20240615115932296](assets/image-20240615115932296.png) ### 主表配置 使用一个字段,需要先勾选字段名称前的复选框,勾选后可输入字段描述,选择字段类型 ![img](assets/clip_image002-17184245362021.jpg) **参数说明** - **字段名称**:属性名称 - **字段描述**:属性显示名称 - **字段类型**:数据类型,定义界面时将根据类型来设置可创建控件 - **必填**:是否必填 - **枚举选项**:如果字段类型是枚举类型,指定枚举对应选项 - **多选**:如果字段类型是枚举类型,设置枚举项是否可多选 - **创建者权限**:创建者是否可以编辑及是否可见 - **表单来源**:该行字段值来源于哪个表单(配合项目管理中创建的表单使用) - **保密/系统角色权限**:勾选保密项后再配置保密所对应的系统角色,当不勾选保密选项,直接配置系统角色,则该项属性对此角色不保密 - **移动端排版**:表单在移动端列表中显示的顺序 - **移动端拍照**:在移动端执行时,该字段可做拍照上传图片 - **文本前缀**:如果字段是文本类型,为属性设置显示前缀,在自定义界面中使用 “ 编辑框 ” 控件时,此设置才有效 - **文本后缀**:如果字段是文本类型,为属性设置显示后缀,在自定义界面中使用 “ 编辑控件 ” 控件时,此设置才有效 ### 明细表配置 单击 **新增** 按钮,弹出明细表配置界面,与主表配置相似,要使用某一字段需要先勾选字段名称前的复选框,然后输入字段描述,选择字段类型 ![img](assets/clip_image002-17184246970592.jpg) **参数说明** - **表名称**:明细表名 - **映射表**:映射表名,表单实例中导入明细表数据时的数据源表 - **映射主键**:映射物料到该表时,物料内码ID存储的字段位置(建议选择duf_50) - **移动端排版**:当多个明细表时,在移动端明细报显示的顺序 - **隐藏序列号**:在表单显示界面不显示序号列 - **复制序号列名称**:配置表单导出模板时复制序号所对应的字段名 - **字段名称**:属性名称 - **字段描述**:显示名称 - **字段类型**:数据类型 - **枚举选项**:如果数据类型是枚举类型,指定枚举对应选项 - **多选**:如果数据类型是枚举类型,设置枚举项是否可多选 - **默认值**:该字段的初始值 - **创建者权限**:创建者是否可以编辑及是否可见 - **保密/系统角色权限**:勾选保密项后再配置保密所对应的系统角色,当不勾选保密选项,直接配置系统角色,则该项属性对此角色不保密 - **移动端排版**:表单在移动端列表中显示的顺序 - **必填**:是否必填 - **映射字段**:映射物料的哪一个属性值 - **合并单元格**:当初始明细某一列设置的默认值连续相同时,该列中的行合并 - **反写**:将表单中映射过来的物料属性值反写回物料属性界面 在 **初始明细** 页面,能够设置表单明细初始显示行,并配合合并单元格功能使用 ![img](assets/clip_image002-17184258509513.jpg) #### 查找字段类型 根据人名查找PLM中的用户,确保填写用户名称的准确性; 在对应明细变中增加**字段描述**:==**人员名称**==,选择**字段类型**:==**查找**==,在==**数据填充SQL**==中输入:``select username '用户姓名' from cfuser where username like '%{.}%' ![](assets/Pasted%20image%2020250804171252.png) ## 界面设计 界面设计是对窗体表单的 **常规属性** 页面进行设计,在该页面右键即可在菜单中选择 **自定义界面**,进入到 [自定义控件页面](170.自定义控件页面.md) 当中(可能会出现迟迟 [打不开常规属性自定义界面](../../报错处理/打不开常规属性自定义界面.md) 的情况 ) ![image-20240615201756319](assets/image-20240615201756319.png)