二开案例.单据转换插件.设置选单条件

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

二开案例.单据转换插件.设置选单条件

【应用场景】

通过插件的方式干预选单列表的结果集。


【案例演示】

采购申请单下推采购订单,通过插件方式,给采购申请单的选单列表附加过滤条件。


【实现步骤】

<1>编写单据转换插件,代码如下。

using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn;

using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args;

using Kingdee.BOS.Util;

using System.ComponentModel;


namespace Jac.XkDemo.BOS.App.PlugIn

{

    /// <summary>

    /// 【单据转换插件】设置选单条件

    /// </summary>

    [Description("【单据转换插件】设置选单条件"), HotUpdate]

    public class SetFilterForSelectBillListConvertPlugIn : AbstractConvertPlugIn

    {

        /// <summary>

        /// 选单前事件;解析字段映射关系中配置的过滤选项

        /// 此事件开始前,刚完成用于选单列表取数的QueryBuilderParemeter的构建,e.FilterOptionsSQL来自于QueryBuilderParemeter.FilterClauseWihtKey

        /// 此事件结束后,e.FilterOptionsSQL将直接赋值给QueryBuilderParemeter.FilterClauseWihtKey

        /// </summary>

        /// <param name="e"></param>

        public override void OnParseFilterOptions(ParseFilterOptionsEventArgs e)

        {

            base.OnParseFilterOptions(e);

            // 增加过滤条件:申请数量大于10

            var filter = " FReqQty > 10 ";

            e.FilterOptionsSQL = e.FilterOptionsSQL.JoinFilterString(filter);

        }


        /// <summary>

        /// 选单前事件:解析过滤策略中配置的条件

        /// 此事件开始前,刚完成选单条件策略中的过滤条件的解析,e.FilterPolicySQL来自于:【选单条件策略中的过滤表格设置的过滤条件(JsonSetting)】+【选单条件策略中的附加条件(CustFilter)】+【按目标组织基础资料属性过滤的条件(TargetOrgBDFilterList)】

        /// 此事件结束后,e.FilterPolicySQL将使用AND操作符合并到QueryBuilderParemeter.FilterClauseWihtKey,后续作用于选单列表取数

        /// </summary>

        /// <param name="e"></param>

        public override void OnParseFilter(ParseFilterEventArgs e)

        {

            base.OnParseFilter(e);

            // 增加过滤条件:单据编号必须包含【CGSQ】

            var filter = " FBillNo LIKE 'CGSQ%' ";

            e.FilterPolicySQL = e.FilterPolicySQL.JoinFilterString(filter);

            e.PlugFilterDesc = "单据编号必须包含【CGSQ】";

        }

    }

}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。



<3>BOSIDE打开单据转换主界面,在界面左边定位到采购申请单-采购订单的转换规则,然后在界面右边,选中具体的转换规则,扩展该转换规则,注册单据转换插件(注意需先停用转换规则才能编辑转换规则),保存单据转换规则,开发完毕。

修改单据转换规则的状态,启用改为停用:

注册单据转换插件:



现在可以登录业务站点,打开采购订单新增界面,点击选单菜单,检验一下插件效果啦。

弹出选单主界面,选择来源单据和单据转换规则。

弹出选单列表,选择要下推的单据(本文插件主要影响此选单列表的结果集)。

选单完成后,下推生成新的采购订单。




【参考资料】

【业务流程汇总贴】https://vip.kingdee.com/article/22473

【单据转换精华知识汇总】https://vip.kingdee.com/article/146475

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.单据转换插件.设置选单条件

【应用场景】通过插件的方式干预选单列表的结果集。【案例演示】采购申请单下推采购订单,通过插件方式,给采购申请单的选单列表附加过滤条...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息