Показать сообщение отдельно
Старый 05.07.2006, 12:00   #7  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от MariaG Посмотреть сообщение
Спасибо, я поняла. Единственное, что не понятно, если пользователь может менять фильтры только на RequestForm, зачем в отчете вообще использовать FILTERGROUP? Я смотрю на отчет 595 Коррекция Курс. Разниц (Navision 3.70). И там для таблицы Cust Ledger Entry в триггере OnPreDataItem стоит такой код:

SETRANGE("Posting Date",StartDate,EndDate);
Currency.COPYFILTER(Code,"Cust. Ledger Entry"."Currency Code");
FILTERGROUP(2);
SETFILTER("Currency Code",'<>%1','');
FILTERGROUP(0);
CurrReport.CREATETOTALS(AdjBalance, "Remaining Amt. (LCY)");

Есть ли какие-нибудь идеи, зачем в отчете, а не в модуле формы, нужно применять FILTERGROUP? Есть ли у этой функции другое полезное назначение, кроме ограничения фильтров, которые может менять пользователь?
Идеи есть. Фильтргруппы в отчете используются для того, чтобы обеспечить нужную логику работы. Если отчет (сейчас не привязываюсь к указанному вами айди репорта) должен обрабатывать определенные типы операций, скажем, из книги и определен свободный грид фильтра для пользователя по айтему книги, то вполне логично зашить эти фильтры внутри отчета НЕ в нулевую фильтргруппу. Для того, чтобы пользователь на реквесте не мог нарушить логику работы репорта, переопределив фильтры для поля или выбрав типы операций, которые репортом обрабатываться не должны.