Цитата:
Сообщение от
zuzka
...опять та же панель фильтров - можно как-то с нее выдернуть установленные пользователем фильтра? через FILTERGROUP(0) не пошло - кто в курсе как до фильтров достучаться?
До установленных пользователем фильтров "достукиваются" обычно GETFILTERS(). В F1-Help'е по всем командам даны довольно полные разъяснения и даже с примерами.
Подсунуть фильтр (причём по любому полю таблицы а не только из экспресс-фильтра!) - например:
Код:
SalesOrder.SETRANGE("Document Type",SalesOrder."Document Type"::Order);
SalesOrder.SETRANGE("No.",'101005','101020');
PAGE.RUNMODAL(PAGE::"Sales Order List",SalesOrder);
Если вы ищете требуемые вам SalesOrder по данным из других таблиц, то без временной переменной (property Temporary=Yes) вам не обойтись:
Код:
SalesOrder.SETRANGE("Document Type",SalesOrder."Document Type"::Order);
SalesOrder.SETRANGE("No.",'101005','101020');
IF NOT SalesOrder.ISEMPTY THEN BEGIN
SalesOrder.FINDSET;
REPEAT
SalesOrderTmp:= SalesOrder;
SalesOrderTmp.INSERT;
UNTIL SalesOrder.NEXT = 0;
END;
PAGE.RUNMODAL(PAGE::"Sales Order List",SalesOrderTmp);
В таком варианте конечно фильтры не подсовываются, но пользователь видит 100%-но только те записи, список которых вы ему "подсовывете".
Внимание: записи собранные во временную переменную надо показывать обычно в page с Editable=No, т.к. изменения во врем. таблицах не сохраняются.
В приведённом варианте пользователь открывает карту из списка и в карте производит нужные изменения.
Итак, определитесь, что вы хотите "подсунуть" пользователю:
1)
фильтр, который пользователь видит и может изменить
2) или
записи, предварительно отфильтрованные прогр. кодом
И последнее: если ваш коллега активно вас убеждает в каких-то возможностях NAV'а, то почему он вам опять же активно не покажет то в чём убеждает?
Или это тот классический вариант: знаю, но тебе не скажу, ищи решение сам?