在业务对象中关联另一类业务对象的方法
本例说明如何利用PLM平台特性,实现在PLM的业务对象维护页签中,关联其它业务对象的方法。
(这里以PLM项目关联销售业务领域客户联系人为例)
Step1:定义好关联关系的业务模型
Step2: 建立关联业务对象与被关联业务对象之间的业务关系模型
Step3: 增加一个页签来在业务对象界面中加页签来对被关联的业务对象进行维护
Step4: 运行效果检查
Step1:定义好关联关系的业务模型(项目关联客户联系人)
a)先查找业务对象的存储表(如项目:T_PLM_PDM_BASE)
b)创建一个关联的单据或基础资料(这里用的是单据),如:项目关联客户联系人
c)设置单据或基础资料的主键字段与上面的(项目基础资料)一致(FID)
注:如果以基础资料单据创建,那么唯一识别字段名也要一致(项目基础资料:FMasterID)
不支持业务对象是单据,关系的业务模型以基础资料
d)设置关系业务对象的存储主表与要关联的业务对象一致
(如上面找到的项目的储存主表名T_PLM_PDM_BASE ,所有PLM的业务类型对象储存主表名都是T_PLM_PDM_BASE)
Step2: 建立关联业务对象(项目)与被关联业务对象(客户联系人)之间的业务关系模型
a)创建业务关系模型(这里用单据体);注意定义好3中的表名要规范好
b)只增加一个单据体,来描述1(项目)对 n(客户联系人)的关联
添加基础资料字段(如果是单据,可以通过表视图映射创建一个类似的基础资料的替代模型:如视图:create view as
select fid as fid,fid as fmasterid...,就能把fid一个字段,变成基础资料必须的两个字段了,再将视图绑到替代的基础资料模型上,这样单据就可以变成基础资料使用了)
c)添加相关的引用字段(编码、姓名等)及业务字段(跟踪进度等)
d)增加维护的操作菜单
并且在单据体菜单上加一个保存的按钮,点击绑定保存操作(上图中未给出)。
特别提醒:由于这个单据关联的是项目主数据表,当项目数据删除时,则相应的客户联系人数据是不会删除的。
如果把这个客户联系人单据发布成列表功能,则会出现空数据行的情况,这时您需要在列表插件或列表过滤条件中,用过滤条件滤掉这些空白的行。
Step3: 增加一个页签来在业务对象(项目)界面中对被关联的业务对象(如:上面创建的关系模型单据)进行维护
可参考:https://vip.kingdee.com/article/162848
a)找到业务对象(项目)的主体界面(通过http数据监控)可快速找到
b)扩展单据
c)增加页签
d)给页签绑定参数
相关参数可参考:https://vip.kingdee.com/article/162848
Step4: 运行效果检查
Step5:参数的获取
import clr
clr.AddReference("System")
from System import String
def OnLoad(e):
this.View.ShowMessage(String.Format("传入的标识参数:{0}",this.View.OpenParameter.GetCustomParameter("SourceId")))
用这个获取参数:this.View.OpenParameter.GetCustomParameter("参数名")
如果想在列表中,点击打开相关行对应的单据,请参考:https://vip.kingdee.com/article/48864143323168256
------------END-----------
在业务对象中关联另一类业务对象的方法
本文2024-09-23 03:06:28发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-156765.html