PLM.如何查找业务类型对象单据以及数据库字段

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

PLM.如何查找业务类型对象单据以及数据库字段

【问题描述】

由于PLM架构的特殊性,许多用户可能不太了解PLM单据如何查找到对应的单据,或者新加的扩展字段不知道存在数据库的哪个地方。

本文讲解通过BOSIDE元数据,查找相关字段的数据库属性,以及基于标准单据设计的快速查找方式参考。


在此之前,建议先学习了解

BOS平台 (kingdee.com)

PLM云二次开发指引 (kingdee.com)


【业务类型单据说明】

一、查找业务类型编码

PLM的业务对象(物料、文档、EBOM、变更单和项目等)都存在同一个基对象表,使用字段业务类型FCATEGORYID区分。因此业务类型类型字段是一个很基础且重要的字段,可以用来在数据库中实际区分物料、文档或者BOM对象。


1. 通过数据库查询

PDM业务类型是一个基础资料(标识为PLM_CFG_CATEGORY),PDM基础对象单据中的业务类型FCATEGORYID便是映射了PDM业务类型的基础资料字段。


因此可以通过PDM业务类型的数据表去查找对应的业务类型内码。例如:我需要查找业务类型编码(业务类型列表中可查)为“标准件”的物料类型,那么你可以在数据库查询

SELECT FID FROM T_PLM_CFG_CATEGORY WHERE FCODE = N'标准件'



通过这个ID你就可以在BASE表里查找所有的标准件对象信息

SELECT * FROM T_PLM_PDM_BASE WHERE FCATEGORYID = 1010100000000000000


2. 通过单据编码查找

PLM每个业务类型对象实际对应了一张BOS基础资料,单据标识跟业务类型内码关联,因此可以通过客户端的监控功能,查找对应的业务对象单据分析对应的业务类型内码。


根业务类型:标准业务类型的根类型单据标识规则为PLM_PDM_{业务类型内码},比如物料根类型的内码为PLM_PDM_1010000000000000000。


子业务类型:其他的子业务类型单据标识为{业务类型内码}+{其他标识信息},可以通过单据标识的前部分快速分析出业务类型内码,例如物料标准件的编码可以查到为


二、业务类型ID说明

业务类型ID为特殊格式的长整数类型,以根类型1000000000000000000为起始,每一层往后两位定义,例如物料为

1010000000000000000,文档类型为1020000000000000000。这也是为什么PLM同层业务类型只支持最大99个。


应用举例:

1. 查找物料下一层的业务类型ID


2. 查找指定业务类型所有下层类型的对象

按照ID格式,我们可以通过业务类型ID区间,查找出所有下层类型的对象。

SELECT * FROM T_PLM_PDM_BASE where FCATEGORYID >= 1010500000000000000 AND FCATEGORYID < 1010600000000000000

【数据库字段查询】

1. 根据PLM特性查找

PLM云二次开发指引 (kingdee.com)中我们可以了解到PLM数据模型的设计为



因此一般情况下,PLM主要的标准字段设计对应的表为

PDM基础字段T_PLM_PDM_BASE
PDM基础对象扩展字段T_PLM_PDM_BASE_0
扩展关系字段T_PLM_PDM_BASE_R
PDM关系扩展(组成关系属性)T_PLM_CFG_RELATION
研发物料标准字段T_PLM_PDM_BASE_M
研发文档标准字段
T_PLM_PDM_BASE_D
设计变更标准字段T_PLM_PDM_BASE_E
项目标准字段T_PLM_PDM_BASE_X
任务标准字段
T_PLM_PDM_BASE_T
物料申请单标准字段T_PLM_PDM_BASE_A
......


1)以上为标准定义的部分扩展表,如果通过模板新加的字段,则为新增时自定义的拆分表为准。

2)PDM基础对象扩展中新增的扩展字段会固定新增在T_PLM_PDM_BASE_0

3)PDM关系扩展添加的关系字段在T_PLM_CFG_RELATION


如果无法通过此方法准确找到表字段,则建议使用下面提到的元数据查找方法去查找。


2. 通过元数据查找

最准确的查找字段的方式还是通过BOS设计器,通过元数据查找字段的数据库信息。由于PLM配置字段的形式不同于标准单据扩展的设计,所以我们最终得以对应的业务类型单据去确定最终的字段存放位置(单据标识查找详见第一点中的第2小点)。

还是以物料标准件为例子,我们先通过业务类型配置加入自定义的字段,更新完模型后我们查看一下元数据。


可以看到,自定义的字段名为F_PLM_TETING,所属拆分表为扩展字段。 我们打开单据头,查看一下表信息。

( * 某些比较特殊类型的字段可能不存在拆分表,比如多选基础资料字段有表名属性,信息存在自己的表当中。 最终形式以BOS单据规范为准。)

表名为T_PLM_PDM_BASE,拆分表后缀为0, 则此字段在数据库中的对应位置为T_PLM_PDM_BASE_0.F_PLM_TESTING


我们通过数据库查找验证一下



【延伸阅读】

BOS平台 (kingdee.com)

PLM云二次开发指引 (kingdee.com)



PLM.如何查找业务类型对象单据以及数据库字段

【问题描述】由于PLM架构的特殊性,许多用户可能不太了解PLM单据如何查找到对应的单据,或者新加的扩展字段不知道存在数据库的哪个地方。本...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息