是否有可能改变NAV
 13 R2中快速过滤器背后的查找行为?

时间:2014-11-10 21:29:18

标签: microsoft-dynamics navision

也许这只是不完全理解表和页面上的查找触发器的问题......

当我们从项目列表页面上的快速过滤器框执行项目查找时,我想获取输入并使用某些通配符修改它,如下所示:

NewLookup := CONVERTSTR(OriginalLookup, '-', '*');
NewLookup := OriginalLookup + '|' + NewLookup;

...从目前为止我所知道的,OnLookup触发器在执行quickfilter时不会触发...至少,我已经将代码放在onlookup触发器中,无论是表还是页面,实际上都没有在任何一种情况下都执行查找操作,并且如果我没有自己处理查找的所有方面,则快速过滤器仍将返回结果,据我所知,这不应该发生。

所以:

  1. 是否可以在C / AL中修改快速过滤器后面的查找行为?
  2. 如果是这样,我该怎么办?我只是使用OnLookup触发器错了,这只是一个正确的问题,还是我必须去别的地方?

1 个答案:

答案 0 :(得分:1)

导航中的快速过滤器是页面右侧的编辑框,其中"键入要过滤"内。它没有任何查找。它只接受纯文本值或某些“宏”' MSDN上描述的过滤器。

  1. 不幸的是,不可能像在经典客户端中那样修改RTC中的过滤器查找行为。角色定制的客户端不会调用C / AL触发器。

  2. 您正在使用OnLookup触发器,但只有在单击页面字段中的查找按钮时才会调用它,而不是在过滤器选项卡中调用。

  3. 构建过滤器值后。你可以应用这个过滤器 设置筛选(LookupField,NewLookup); 它将显示在“高级过滤器”中。窗格,仍然从该字段查找只考虑字段的TableRelation属性,忽略OnLookup触发器。