本文介绍了在CLOUD产品数据结构中查找对应不到的表名及字段名的方法,特别是针对不太好查或未加入的字段。以生产订单上的“开工日期”为例,说明了通过BOS平台定位字段属性,找到真实字段名及所在表,并通过SQL查询定位具体数据的过程。同时提醒读者查询过程需谨慎,并提供了不同情况下的SQL查询示例,包括处理拆分表和多语言字段的情况。
虽然CLOUD产品有数据结构,链接如下
http://open.kingdee.com/K3Cloud/CDPPortal/DataModel.aspx
但还是会有一些不太好查的字段,或未加入的字段导致查询起来的时候困难,以如下一个案例来说明如何去查找对应不到的表名及字段名,使得人人都能很快定位到,供大家学习参考,有用的点赞哈【emoji】
注:此说明不能做为常规操作,重要的是查询过程,可同理其他所有系统单据,调整前需要谨慎,谨慎,再谨慎!!!
例如:
生产订单上的系统字段“开工日期”,前端显示存在于执行页签下,看这案例是日期错误了,需要调整。
打开BOS,定位到生产订单,定位到执行页签下的“开工日期”在属性中可看到是代理字段,真实字段为“明细:开工日期”意思为此字段实际取的是明细页签下的开工日期
到编辑--批量编辑字段属性中
搜索“开工日期”,右侧显示的实体在明细下,所属拆分表为“生产执行数据”,字段名为FSTARTDATE
再切换到上级明细下,右侧会显示表名为T_PRD_MOENTRY,点开属性“拆分表”,记录生产执行数据后缀为A
也就是在“开工日期”字段FSTARTDATE是在表T_PRD_MOENTRY_A中,这就定位到了字段名与表名
通过表中的FID进行关联,取单据编号与开工日期
select TPM.FBILLNO,TPMA.FSTARTDATE
from T_PRD_MOENTRY_A TPMA
INNER JOIN T_PRD_MO TPM ON TPMA.FID=TPM.FID
where TPM.FBILLNO='MO102181100xx'
有一些拆分表中没有FID进行与单据头关联的,而是与单据体ENTRY关联的,则要调整为
select PM.FBILLNO,PMEA.FSTARTDATE
from T_PRD_MOENTRY_A PMEA
INNER JOIN T_PRD_MOENTRY PME ON PMEA.FENTRYID=PME.FENTRYID
INNER JOIN T_PRD_MO PM ON PME.FID=PM.FID
where PM.FBILLNO='MO102181100xx'
另外还有一类表,为字段多语言的,比如名称,备注等,只要元素类型为多语言文本的,默认存储位置为表名+_L