Если использовать GETVIEW и SETVIEW, то мы скопируем только "VIEW"(я не силён в терминах в Navision, поэтому может называю вещи не своими именами). Фильтры при этом скопируются, но только для FILTERGROUP(0), а если у нас в RecRef были созданы фильтры в FILTERGROUP(2), то они "пропадут"(в help написано, что FILTERGROUP может использоваться только с SETRANGE и SETFILTER). Так что вопрос осаётся открытым. Привожу код, в котором надо:
- (в идеале)вызвать default Lookup форму для RecRef;
- (хотя бы)скопировать фильтр из RecRef в переменную типа Record подтипа "Table No."(назовём её TableRec)
Filter - переменная, в которой хранится фильтры для полей таблицы "Table No.".
RecRef.OPEN(Rec."Table No.", FALSE);
RecRef.RESET;
RecRef.FILTERGROUP(2);
WHILE Filter.NEXT <> 0 DO
BEGIN
IF Filter.Filter <> '' THEN
BEGIN
FieldRef := RecRef.FIELD(Filter."Field No.");
FieldRef.SETFILTER(Filter.Filter);
END;
END;
RecRef.FILTERGROUP(0);
//1 вызвать default Lookup форму для RecRef;
//2 ИЛИ скопировать фильтр из RecRef в TableRec(соответствующего типа)
Хотелось бы знать, можно ли это вообще это сделать и если да, то как??
Заранее всем спасибо за все идеи.
|