Показать сообщение отдельно
Старый 21.11.2006, 11:25   #7  
yauhen is offline
yauhen
Участник
 
28 / 10 (1) +
Регистрация: 20.11.2006
Если использовать 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(соответствующего типа)

Хотелось бы знать, можно ли это вообще это сделать и если да, то как??
Заранее всем спасибо за все идеи.