Показать сообщение отдельно
Старый 20.06.2007, 13:37   #30  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от VasVovec Посмотреть сообщение
Что-то я не очень уловил, нельзя ли кусок кода для наглядности?
Репорт.
Верхний датаайтем на вирт таблице Дата.
Код:
Дата - 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);
Здесь обрабатывается только массив по одному нужному вам месяцу одного года. И так по тому колву годов, которое вы задали сверху.
ПС. Писал не проверяя. Может где лишняя скобка затесалась ...