![]() |
#28 |
Участник
|
Цитата:
Сообщение от VasVovec
![]() Чтото я не очень понял реализацию:
Вот у меня сейчас сделано так: Код: OnPreDataItem () SETFILTER ("Posted Date", '<=%1', CALCDATE('<CM>-5<Y>', RepDateS)); // - чтобы ограничить диапазон выборки допустим 5 лет OnAfterGetRecord () EntryMonth:=DATE2DMY("Posted Date",2); IF EntryMonth <> (RepMonth+1) THEN CurrReport.SKIP; // - +1 потому что выпадающий список с месяцами: январь - 0 и т.д. { Обработка нужных записей } В предложенном варианте записей будет в разы больше отсеяно, чем обработано. Вернее обработаются все, но куча из них - впустую. Лучше взять снаружи цикл по годам. Внутри цикл по определенному месяцу. В этом случае обрабатываться будут только полезные записи. Лишний датаайтем сверху по вирт таблице Дата, ограниченной интервалом в пять (или сколько вам угодно) лет. И все дела ) |
|