SETFILTER - не равно (<>) не работает NAV 90
Я пытался использовать 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] выполняет эту работу. как из ИЛИ (|) впоследствии, это не работает
Message Values:
ItemGroupString = '<>%1|%2|%3|%4'
ItemGroupFilter[1] = '1'
ItemGroupFilter[2] = '2'
ItemGroupFilter[3] = '3'
ItemGroupFilter[4] = '4'
1 ответ
Решение
Нашел решение. SETFILTER для <> должен быть следующим:
SETFILTER('<>%1&<>%2&<>%3&<>%4','1','2','3','4')
Поэтому моя переменная ItemGroupString состоит из
ItemGroupString = '<>%1&<>%2&<>%3&<>%4'
Удачного программирования!:)