# 介绍 系统中物料属性上的 **代号** 指的就是图号,在系统具备PDM模块的情况下,建议图纸的编码器和其他文件的编码器拆分开,不要在 **文档分类** 中绑定编码器,而是在 **物料分类** 中绑定 [代号编码器](25.物料分类设置.md#代号编码器) ,通过创建物料自动生成出图号,从而实现物料编码、文档编码、图号的相关联(限于一图一物的情况,不适用 [一图多物料](30.图号、物料编码唯一性设置.md#一图多物料) 的情况 ) ## 代号生成 为 **物料分类** 绑定 **代号编码器** 后,创建该类物料,就可以自动性的生成出该物料相对应的图号了 ![](assets/Pasted%20image%2020250225102049.png) ### 代号生成优势 使用代号生成的方式,比较适合 [图纸匹配物料](56.文档关联物料.md#图纸匹配物料) 的关联方式,即使用 [CAD接口](../1.5-EDM-CAD/5.CAD接口使用.md) 的 **添加物料** 功能,将物料信息添加到图面后,可以顺利的将图号写入到图纸上 ![](assets/Pasted%20image%2020250225095812.png) 并且可以确保物料属性中,代号不为空,会记录到该物料的对应图号 ### 代号生成缺点 采取代号生成方式的缺点在于,图纸的文档编码与物料紧密相关,不容许出现 [一图多物料](30.图号、物料编码唯一性设置.md#一图多物料) 的情况 # 图号与文档编码关联 使用 [CAD接口](../1.5-EDM-CAD/5.CAD接口使用.md) 的 **添加物料**,将物料信息添加到图面后,可以顺利的将图号写入到图纸上,此时图纸中已记录了图号(文档编码)信息,但是对于系统而言,图号与文档编码是分开记录的 以AutoCAD为例,若想要将图纸信息写入到文档属性中,需要完成 [与系统绑定](../1.5-EDM-CAD/15.AutoCAD图纸模板制作.md#与系统绑定) 工作 此外还需要在 **系统设置** → **参数配置** → **搜索** → 搜索**文件类型** → **文件类型设置** 中设置 **AutoCAD(可配置块名)**,勾选 **同步图纸内属性到文档属性** 参数 ![](assets/Pasted%20image%2020250228123016.png) 开启此参数后,检入、上传图纸时,图纸属性信息会写入到文档属性中 ![](assets/Pasted%20image%2020250225101257.png) # 扩展 ## 图号与物料编码一致性设置 若想要图号与物料编码相同,有多种方式可以实现,其一为 [代号编码器](#代号编码器) ,其二为 [Delphi脚本](#Delphi脚本) ### 代号编码器 使用 **代号编码器** 去生成图号,需要先创建一个编码器,在此编码器中,只要有一个码段信息即可,即使用 [对象属性](../4.0-other/25.编码器设置.md#对象属性) 去获取物料编码 ![](assets/Pasted%20image%2020250225101906.png) 这样在创建物料时,可以一键生成相应图号 ![](assets/Pasted%20image%2020250225102049.png) ### Delphi脚本 为 [物料分类](25.物料分类设置.md) 设置 [Delphi脚本](../4.0-other/200.Delphi脚本.md) 可以实现依据脚本内容自动生成代号的功能 ![](assets/Pasted%20image%2020250225102303.png) 脚本内容如下: ```Delphi uses MyClass,Variables,BaseUtil,CommonFunc,DataConst,CFFrm,CFSimplePropFrm,Forms,StdCtrls,Variants,SysUtils,Classes,Controls,Dialogs, CHostIntf,ProductClas,DocClas,LoginClas,VirtualTrees,CEntClas,PathClas; begin //注释:在下面添加您的脚本代码 // 检查 物料编码 是否为空 if Trim(fedtItemCode.Text) <> '' then begin // 如果 物料编码 不为空,则将 代号 的值设置为 物料编码 的值 fedtDrawId.Text := fedtItemCode.Text; end else begin // 如果 物料编码 为空,则清空 代号 fedtDrawId.Text := ''; end; end. ``` 有两种方式实现,分别为 [代号属性添加脚本](#代号属性添加脚本) 与 [物料分类事件脚本](#物料分类事件脚本) (推荐) #### 代号属性添加脚本 为代号属性添加脚本,即在 [自定义控件页面](../1.0-EDM/170.自定义控件页面.md) 选择 **代号** 的控件,在其 [控件属性设置区](../1.0-EDM/170.自定义控件页面.md#控件属性设置区) 配置脚本 ![](assets/Pasted%20image%2020250225102811.png) 此种方式,需要对控件执行相应的操作才会触发脚本。以 **失去焦点执行** 为例,需要先点击到 **代号** 控件中,然后将离开 **代号** 控件,才能触发脚本 #### 物料分类事件脚本 物料分类事件脚本,是指在 [物料分类](25.物料分类设置.md) 的 [事件脚本](25.物料分类设置.md#事件脚本) 中设置脚本 ![](assets/Pasted%20image%2020250225103406.png) 以 **界面显示时** 为例,设置好脚本后,创建物料时,依据脚本内容自动生成了代号,相较于 [代号属性添加脚本](#代号属性添加脚本) 的方式,更省了一步 ![](assets/Pasted%20image%2020250225102303.png)