第三方下查

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

第三方下查

说明

     第三方上下查主要是提供插件干预机制,让其按业务需要展示关联关系,从而可以实现表面关联到实际关联,跨级关联到直接关联等业务,比如产生订单下查用领料单,实际是使用用料清单查领料;采购到入库,入库到应付,可以从采购直接下查应付等。

示例和代码

     比如采购订单--》采购入库单--》应付单, 现在直接从采购订单下查时查询到应付单。

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. 如果不想显示星号,可以单据参数采购订单中启用第三方上下查预加载


第三方下查

说明 第三方上下查主要是提供插件干预机制,让其按业务需要展示关联关系,从而可以实现表面关联到实际关联,跨级关联到直接关联等业...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息