单据转换插件--构建源单查询参数事件(OnQueryBuilderParemeter )

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

单据转换插件--构建源单查询参数事件(OnQueryBuilderParemeter )

一、说明

1、OnQueryBuilderParemeter 构建源单查询参数事件,主要用来构建查询那些字段和过滤条件,在平台查询参数构建后触发,可以增加自定义字段。

2、事件参数:QueryBuilderParemeterEventArgs

Context 输入参数,上下文信息

SourceBusinessInfo 输入参数,源单据业务对象(元数据)

DicFieldAlias 字段Key与字段别名关系字典

SelectItems 需要查询的字段集合

QueryParameter 查询参数

二、相关代码

using System;
using System.ComponentModel;
using System.Text;
using Kingdee.BOS.Core;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn;
using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.Metadata.ConvertElement;
using Kingdee.BOS.Core.Metadata.EntityElement;
namespace Kingdee.BOS.TestPlugIn.BillABillB
{
    [HotUpdate]
    [Description("单据转换插件")]
    public class BillConvertPlugIn : AbstractConvertPlugIn
    {
        /// <summary>
        /// 构建源单查询参数事件
        /// </summary>
        /// <param name="e"></param>
        public override void OnQueryBuilderParemeter(QueryBuilderParemeterEventArgs e)
        {
            base.OnQueryBuilderParemeter(e);
            //直接增加单据上的文本,数量,基础资料等字段
            var selectItem1 = new SelectorItemInfo("fieldKey1");
            e.DicFieldAlias["fieldKey1"] = "fieldKey1";
            e.QueryParameter.SelectItems.Add(selectItem1);
            //增加基础资料中的简单引用字段,比如物料中的备注
            var fMaterialKey = "fMaterialKey";
            var fDemoKey = "fDemoKey";
            var sourceKey = string.Format("{0}.{1}", fMaterialKey, fDemoKey);
            var selectItem = new SelectorRefItemInfo(sourceKey);
            string fieldAlias = string.Format("f{0}", e.DicFieldAlias.Count);
            e.DicFieldAlias[sourceKey] = fieldAlias;
            selectItem.PropertyName = fieldAlias;
            e.QueryParameter.SelectItems.Add(selectItem);
            // 增加基础资料中的简单引用字段,比如物料中的使用组织内码
            var fMaterialKey2 = "fMaterialKey";
            var fUserOrgKey = "fUserOrgKey.Id";
            var sourceKey2 = string.Format("{0}.{1}", fMaterialKey, fUserOrgKey);
            var selectItem2 = new SelectorRefItemInfo(sourceKey);
            string fieldAlias2 = string.Format("f{0}", e.DicFieldAlias.Count);
            e.DicFieldAlias[sourceKey2] = fieldAlias2;
            selectItem.PropertyName = fieldAlias2;
            e.QueryParameter.SelectItems.Add(selectItem2);
            //增加辅助属性仓位
            var selectItem3 = new SelectorRefItemInfo(string.Format("{0}.{1}", "FStock1", "FStockProperty"));
            string fieldAlias3 = string.Format("f{0}", e.DicFieldAlias.Count);
            e.DicFieldAlias["FStock1.FStockProperty"] = fieldAlias3; //仓位属性列别名
            selectItem.PropertyName = fieldAlias3;
            e.SelectItems.Add(selectItem3);
        }
    }
}



单据转换插件--构建源单查询参数事件(OnQueryBuilderParemeter )

一、说明1、OnQueryBuilderParemeter 构建源单查询参数事件,主要用来构建查询那些字段和过滤条件,在平台查询参数构建后触发,可以增加自...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息