【发布时间】:2021-07-16 12:16:35
【问题描述】:
是否有可能使用 OR 条件进行过滤(使用 FILTERGROUP(-1))在页面级别不起作用?
如果是这样,为什么它不起作用?
我是 MS-Navision 的新手,我试图了解它的下划线编程。
在 MS-Navision Cronus-AG DB 中,我基于客户表创建了一个页面。在客户表中,我添加了两个字段(Datefield Date 和 CodeField 整数)。创建的页面应仅显示 Datefield 或 codefield 为空的客户。我使用了两个名为
date Date
codefield Code
我尝试在OnOpenPage-Trigger 中使用以下代码:
CLEAR(date);
CLEAR(c20);
FILTERGROUP(-1);
SETFILTER(DateField, '%1', date);
SETFILTER(CodeField20Old, '%1', c20);
FILTERGROUP(0); // tried to remove this line, still not working
但是没有设置过滤器,尤其是在 OR-Filter 条件下。但是,如果我使用在 Codeunit 中剪切的相同代码,它的工作方式是正确的。如果我将FILTERGROUP(-1) 更改为FILTERGROUP(2),则会设置一个过滤器(带有 AND 条件)。
谁能解释一下这种行为?
【问题讨论】:
-
那个过滤器组总是有点“hacky”,我认为不应该用于过滤页面。
-
@MakSim 过滤器组是向标准用户隐藏页面上过滤器的好方法。
-
@samga 嗯,是的。一般来说,这就是过滤器组的用途。但不是
-1之一。我的评论只是指这个。
标签: microsoft-dynamics navision dynamics-al