2025-02-25 09:46:10 +08:00
|
|
|
|
# 介绍
|
|
|
|
|
|
|
|
|
|
系统中物料属性上的 **代号** 指的就是图号,在系统具备PDM模块的情况下,建议图纸的编码器和其他文件的编码器拆分开,不要在 **文档分类** 中绑定编码器,而是在 **物料分类** 中绑定 [代号编码器](25.物料分类设置.md#代号编码器) ,通过创建物料自动生成出图号,从而实现物料编码、文档编码、图号的相关联(限于一图一物的情况,不适用 [一图多物料](30.图号、物料编码唯一性设置.md#一图多物料) 的情况 )
|
|
|
|
|
|
|
|
|
|
## 代号生成
|
|
|
|
|
|
|
|
|
|
为 **物料分类** 绑定 **代号编码器** 后,创建该类物料,就可以自动性的生成出该物料相对应的图号了
|
|
|
|
|
|
2025-02-25 10:46:10 +08:00
|
|
|
|

|
2025-02-25 09:46:10 +08:00
|
|
|
|
|
2025-02-25 10:16:10 +08:00
|
|
|
|
### 代号生成优势
|
|
|
|
|
|
2025-03-10 22:37:17 +08:00
|
|
|
|
使用代号生成的方式,比较适合 [图纸匹配物料](56.文档关联物料.md#图纸匹配物料) 的关联方式,即使用 [CAD接口](../1.5-EDM-CAD/5.CAD接口使用.md) 的 **添加物料** 功能,将物料信息添加到图面后,可以顺利的将图号写入到图纸上
|
2025-02-25 10:16:10 +08:00
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
并且可以确保物料属性中,代号不为空,会记录到该物料的对应图号
|
|
|
|
|
|
|
|
|
|
### 代号生成缺点
|
|
|
|
|
|
|
|
|
|
采取代号生成方式的缺点在于,图纸的文档编码与物料紧密相关,不容许出现 [一图多物料](30.图号、物料编码唯一性设置.md#一图多物料) 的情况
|
|
|
|
|
|
|
|
|
|
# 图号与文档编码关联
|
|
|
|
|
|
2025-03-10 22:37:17 +08:00
|
|
|
|
使用 [CAD接口](../1.5-EDM-CAD/5.CAD接口使用.md) 的 **添加物料**,将物料信息添加到图面后,可以顺利的将图号写入到图纸上,此时图纸中已记录了图号(文档编码)信息,但是对于系统而言,图号与文档编码是分开记录的
|
2025-02-25 10:16:10 +08:00
|
|
|
|
|
2025-03-10 22:37:17 +08:00
|
|
|
|
以AutoCAD为例,若想要将图纸信息写入到文档属性中,需要完成 [与系统绑定](../1.5-EDM-CAD/15.AutoCAD图纸模板制作.md#与系统绑定) 工作
|
2025-02-25 10:16:10 +08:00
|
|
|
|
|
|
|
|
|
此外还需要在 **系统设置** → **参数配置** → **搜索** → 搜索**文件类型** → **文件类型设置** 中设置 **AutoCAD(可配置块名)**,勾选 **同步图纸内属性到文档属性** 参数
|
|
|
|
|
|
2025-02-28 12:58:28 +08:00
|
|
|
|

|
2025-02-25 10:16:10 +08:00
|
|
|
|
|
|
|
|
|
开启此参数后,检入、上传图纸时,图纸属性信息会写入到文档属性中
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
2025-02-25 10:46:10 +08:00
|
|
|
|
# 扩展
|
|
|
|
|
|
|
|
|
|
## 图号与物料编码一致性设置
|
|
|
|
|
|
|
|
|
|
若想要图号与物料编码相同,有多种方式可以实现,其一为 [代号编码器](#代号编码器) ,其二为 [Delphi脚本](#Delphi脚本)
|
|
|
|
|
|
|
|
|
|
### 代号编码器
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|
使用 **代号编码器** 去生成图号,需要先创建一个编码器,在此编码器中,只要有一个码段信息即可,即使用 [对象属性](../../ERP接口配置/4.0-other/25.编码器设置.md#对象属性) 去获取物料编码
|
2025-02-25 10:46:10 +08:00
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
这样在创建物料时,可以一键生成相应图号
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
### Delphi脚本
|
|
|
|
|
|
2025-05-12 22:27:41 +08:00
|
|
|
|
为 [物料分类](25.物料分类设置.md) 设置 [Delphi脚本](../../ERP接口配置/4.0-other/200.Delphi脚本.md) 可以实现依据脚本内容自动生成代号的功能
|
2025-02-25 10:46:10 +08:00
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
脚本内容如下:
|
|
|
|
|
|
|
|
|
|
```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.
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
有两种方式实现,分别为 [代号属性添加脚本](#代号属性添加脚本) 与 [物料分类事件脚本](#物料分类事件脚本) (推荐)
|
|
|
|
|
|
|
|
|
|
#### 代号属性添加脚本
|
|
|
|
|
|
2025-03-10 22:29:43 +08:00
|
|
|
|
为代号属性添加脚本,即在 [自定义控件页面](../1.0-EDM/170.自定义控件页面.md) 选择 **代号** 的控件,在其 [控件属性设置区](../1.0-EDM/170.自定义控件页面.md#控件属性设置区) 配置脚本
|
2025-02-25 10:46:10 +08:00
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
此种方式,需要对控件执行相应的操作才会触发脚本。以 **失去焦点执行** 为例,需要先点击到 **代号** 控件中,然后将离开 **代号** 控件,才能触发脚本
|
|
|
|
|
|
|
|
|
|
#### 物料分类事件脚本
|
|
|
|
|
|
|
|
|
|
物料分类事件脚本,是指在 [物料分类](25.物料分类设置.md) 的 [事件脚本](25.物料分类设置.md#事件脚本) 中设置脚本
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
以 **界面显示时** 为例,设置好脚本后,创建物料时,依据脚本内容自动生成了代号,相较于 [代号属性添加脚本](#代号属性添加脚本) 的方式,更省了一步
|
|
|
|
|
|
|
|
|
|

|