第三方下查
说明
第三方上下查主要是提供插件干预机制,让其按业务需要展示关联关系,从而可以实现表面关联到实际关联,跨级关联到直接关联等业务,比如产生订单下查用领料单,实际是使用用料清单查领料;采购到入库,入库到应付,可以从采购直接下查应付等。
示例和代码
比如采购订单--》采购入库单--》应付单, 现在直接从采购订单下查时查询到应付单。
1. 此代码在表单和列表插件都需要实现,事件是一样的
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using Kingdee.BOS; using Kingdee.BOS.Core; using Kingdee.BOS.Util; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.List.PlugIn.Args; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.BusinessEntity.BillTrack; namespace Kingdee.BOS.TestPlugIn.BillFormPlugin { [HotUpdate] [Description("简单销售表单插件")] public class SimpleSalePlugin : AbstractBillPlugIn { /// <summary> /// 显示上下查页面 /// </summary> /// <param name="e"></param> public override void OnShowConvertOpForm(ShowConvertOpFormEventArgs e) { //下查操作,创建替换关系,表明此单据为第三方下查操作,供后面插件干预。 if (e.ConvertOperation == FormOperationEnum.TrackDown) { base.OnShowConvertOpForm(e); //"PUR_PurchaseOrder"为采购订单formId,"AP_Payable" 为应付单formId ReplaceRelation rel = new ReplaceRelation("PUR_PurchaseOrder", "AP_Payable"); rel.SourceLinkId = new List<string>(); //随便填个内码即可,但一定要填,是为了表示有数据 rel.SourceLinkId.Add("11111"); e.ReplaceRelations.Add(rel); } } /// <summary> /// 干预上下查页面左边树节点 /// </summary> /// <param name="e"></param> public override void OnShowTrackResult(ShowTrackResultEventArgs e) { base.OnShowTrackResult(e); if (e.TrackOperation == FormOperationEnum.TrackDown) //下查 { //"AP_Payable" 为应付单formId,也就是实际被下查的formId var trackResult = BillNode.Create("AP_Payable", "title"); //实际连接的实体内码集合(既存在于LK表中的关联数据) //有多少个内码,左边树节点就会显示多少,可以是不真实存在 List<string> lst = new List<string>(); lst.Add("内码1"); lst.Add("内码2"); trackResult.AddLinkCopyData(lst); e.TrackResult = trackResult; } } } }
结果一:
结果二:
1. 如果不想显示星号,可以单据参数采购订单中启用第三方上下查预加载
第三方下查
说明 第三方上下查主要是提供插件干预机制,让其按业务需要展示关联关系,从而可以实现表面关联到实际关联,跨级关联到直接关联等业...
点击下载文档
上一篇:某个单据打开时一直是查看状态且没有提示下一篇:业务流程整体介绍
本文2024-09-23 03:37:23发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-160028.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章