二开案例.单据插件.单据上查询维度关联字段的辅助属性时设置过滤条件

【应用场景】
给单据上查询维度关联字段的辅助属性时设置过滤条件。
【案例演示】
采购订单,编辑界面,分别将明细信息单据体上的辅助属性字段的维度显示样式设置为【弹出窗】和【固定列】,通过插件来干预辅助属性设置的基础资料的过滤条件。

【实现步骤】
<1>编写单据插件,代码如下。
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【单据插件】单据上查询维度关联字段的辅助属性时设置过滤条件
/// </summary>
[Description("【单据插件】单据上查询维度关联字段的辅助属性时设置过滤条件"), HotUpdate]
public class SetBaseDataFilterBeforeFlexSelectBillPlugIn : AbstractBillPlugIn
{
/// <summary>
/// 维度关联字段的维度显示样式设置为【弹出窗】,执行开窗时,走此接口
/// </summary>
/// <param name="e"></param>
public override void BeforeFlexSelect(BeforeFlexSelectEventArgs e)
{
base.BeforeFlexSelect(e);
// 给物料的辅助属性添加额外的过滤条件,从而控制辅助属性弹出窗界面上仅显示满足条件的辅助属性录入控件。
// 例如:弹出窗模式下,物料的辅助属性设置了8个辅助属性,可通过插件控制仅显示【等级】这一个辅助属性)
if (e.FieldKey.EqualsIgnoreCase("FAuxPropId"))
{
//分录中物料
var material = this.View.Model.GetValue("FMaterialId", e.Row) as DynamicObject;
if (material != null)
{
e.Filter = " AND t2.FName LIKE N'%等级%'";
// e.Cancel = true;// 执行此句将取消弹窗
}
}
}
/// <summary>
/// 维度关联字段相关的基础资料或辅助资料执行模糊查询或F8开窗时,走此接口
/// </summary>
/// <param name="e"></param>
public override void BeforeF7S
二开案例.单据插件.单据上查询维度关联字段的辅助属性时设置过滤条件
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



