Показать сообщение отдельно
Старый 20.06.2007, 17:13   #31  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от romeo Посмотреть сообщение
Репорт.
Верхний датаайтем на вирт таблице Дата.
Код:
Дата - OnPreDataItem().

Дата.SETRANGE("Тип периода", "Тип периода"::Год);
Дата.SETRANGE("Начало периода", CALCDATE('<-CY-5Y>', TODAY()), CALCDATE('<-CY>', TODAY()));
Вложенный датаайтем - тот, чьи записи вы обрабатываете. Допустим 32 таблица

Код:
ItemLedgerEntry - OnPreDataItem().

MyWorkDate := DMY2DATE(1, RepMonth + 1, DATE2DMY(Дата."Начало периода", 3)); // 1я дата нужного месяца нужного года

SETRANGE("Posting Date", Дата."Начало периода", NORMALDATE(Дата."Конец периода"));
FILTERGROUP(4);
SETRANGE("Posting Date", CALCDATE('<-CM>', MyWorkDate), CALCDATE('<CM>', MyWorkDate));
FILTERGROUP(0);
Здесь обрабатывается только массив по одному нужному вам месяцу одного года. И так по тому колву годов, которое вы задали сверху.
ПС. Писал не проверяя. Может где лишняя скобка затесалась ...
Именно так по аналогии оно и работают там ;-)