【问题标题】:SETFILTER - is not equal to (<>) not working NAV 90SETFILTER - 不等于 (<>) 不工作 NAV 90
【发布时间】:2016-05-23 12:58:57
【问题描述】:

我一直在尝试使用 setfilter,但它似乎不起作用

FOR i := 1 TO ARRAYLEN(ItemGroupFilter) DO BEGIN
  IF i <> ARRAYLEN(ItemGroupFilter) THEN BEGIN
    IF  ItemGroupFilter[i] <> '' THEN 
      IF ItemGroupString = '' THEN
        ItemGroupString := '<>' + ('%' + FORMAT(i))
      ELSE
        ItemGroupString := ItemGroupString + ('|%' + FORMAT(i))
    ELSE
      ItemGroupString := ItemGroupString;
  END ELSE BEGIN
    IF ItemGroupFilter[i] <> '' THEN
      IF ItemGroupString = '' THEN
        ItemGroupString := '<>' + ('%' + FORMAT(i))
      ELSE
        ItemGroupString := ItemGroupString + ('|%' + FORMAT(i))
    ELSE  
      ItemGroupString := ItemGroupString;
  END;
END;

Item.RESET;
Item.SETFILTER("Item Group",ItemGroupString,ItemGroupFilter[1],ItemGroupFilter[2],ItemGroupFilter[3],ItemGroupFilter[4]);

因此,只有第一个 ItemGroupFilter[1] 在做这项工作。从 OR (|) 之后,它不起作用

Message Values:
    ItemGroupString = '<>%1|%2|%3|%4'
    ItemGroupFilter[1] = '1'
    ItemGroupFilter[2] = '2'
    ItemGroupFilter[3] = '3'
    ItemGroupFilter[4] = '4'

【问题讨论】:

    标签: microsoft-dynamics-nav


    【解决方案1】:

    找到了解决办法。 的 SETFILTER 应如下所示:

    SETFILTER('<>%1&<>%2&<>%3&<>%4','1','2','3','4')
    

    所以我上面的 ItemGroupString 变量由

    ItemGroupString = '<>%1&<>%2&<>%3&<>%4'
    

    编程愉快! :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多