也许这只是不完全理解表和页面上的查找触发器的问题......
当我们从项目列表页面上的快速过滤器框执行项目查找时,我想获取输入并使用某些通配符修改它,如下所示:
NewLookup := CONVERTSTR(OriginalLookup, '-', '*');
NewLookup := OriginalLookup + '|' + NewLookup;
...从目前为止我所知道的,OnLookup触发器在执行quickfilter时不会触发...至少,我已经将代码放在onlookup触发器中,无论是表还是页面,实际上都没有在任何一种情况下都执行查找操作,并且如果我没有自己处理查找的所有方面,则快速过滤器仍将返回结果,据我所知,这不应该发生。
所以:
答案 0 :(得分:1)
导航中的快速过滤器是页面右侧的编辑框,其中"键入要过滤"内。它没有任何查找。它只接受纯文本值或某些“宏”' MSDN上描述的过滤器。
不幸的是,不可能像在经典客户端中那样修改RTC中的过滤器查找行为。角色定制的客户端不会调用C / AL触发器。
您正在使用OnLookup触发器,但只有在单击页面字段中的查找按钮时才会调用它,而不是在过滤器选项卡中调用。
构建过滤器值后。你可以应用这个过滤器 设置筛选(LookupField,NewLookup); 它将显示在“高级过滤器”中。窗格,仍然从该字段查找只考虑字段的TableRelation属性,忽略OnLookup触发器。