如何为Dynamics NAV报表请求页的ReqFilterFields设置默认值?
在Dynamics NAV 2013R2中,给已配置ReqFilterFields的报表一级数据项设置默认过滤值,可通过以下两个位置配置:
对应数据项的OnPreDataItem触发器
这是最常用的方式,针对单个数据项设置默认过滤逻辑。在触发器中使用SETFILTER或SETRANGE函数指定字段默认值,示例代码:// 示例:将"单据日期"字段默认过滤为当月范围 SETRANGE("单据日期", CALCDATE('<CM>', TODAY()), CALCDATE('<CM+1D-1D>', TODAY()));代码会在请求页加载前执行,预设值会直接显示在请求页的过滤字段中,用户可按需修改。
报表的OnPreReport触发器
若需要全局统一设置多个数据项的默认过滤,可在此处通过数据项名称指定字段,示例代码:// 示例:给"客户"数据项的"地区代码"字段设置默认值为"华东" 客户.SETRANGE("地区代码", '华东');注意需替换
客户为实际一级数据项名称,地区代码为目标ReqFilterFields字段。
如果需要动态默认值(如根据当前用户、系统日期等调整),可在触发器中加入对应逻辑实现。
内容的提问来源于stack exchange,提问作者j2associates
相关产品推荐
相关产品推荐

