Наткнулся на странную ошибку/поведение при использовании виртуальной таблицы Key в NAV 5 Sp1.
Если по этой таблице делать Get или Find без фильтров - все работает.
Если же наложить фильтр, то искать что либо категорически отказывается.
Т.е. после такой строки:
MyKey.SETRANGE(TableNo, 17);
дальше чтобы ни стояло (FIND('-'), FINDSET, FINDFIRST, ISEMPTY), результат один - ничего не находит.
Создал форму на основе Key, запустил, установил фильтр - все работает. Чудеса да и только.
P.S. Решил проблему так:
i := 1
WHILE MyKey.GET(17, i) DO BEGIN
проверка фильтров
действия
i := i + 1;
END;
Но если фильтр по нескольким полям и не тривиальный, то организовывать проверку, что ключ ему соответствует довольно геморно.
Подробнее