Автор: LIGHT 6:05:2008, 10:01
Привет всем!
Не оходо писать сложную функцию определения последнего дня месяца, может есть что-то существующее на собаках?
Типа @MaxDay(@Month(@Now))
Автор: Medevic 6:05:2008, 10:08
Так, например:
date := @Today;
(@Adjust(date; 0; 1; 0; 0; 0; 0) - date) / 86400
Автор: LIGHT 6:05:2008, 13:27
Спасибо! Фунциклирует, а вот не как не могу получить макс дней в прошлом месяце, а очень нужно
Для отчета тредуется выгребать документы прошлого месяца, т.е. так:
Код
MaxDay:=(@Adjust(@Today; 0; 1; 0; 0; 0; 0) - @Today) /86400;
(OrigYesDate >= @Date(2008; (@Month(@Now))-1; 1; 0; 0; 0)) & (OrigYesDate <= @Date(2008; (@Month(@Now))-1; MaxDay; 0; 0; 0))
Получается значение MaxDay принимает максимальное дней в текущем месяце.
Автор: Medevic 6:05:2008, 13:40
Цитата(LIGHT @ 6:05:2008 - 16:27)

(@Adjust(@Today; 0; 1; 0; 0; 0; 0) - @Today) /86400;
Вместо @Today нужно взять дату из прошлого месяца.
Цитата(LIGHT @ 6:05:2008 - 16:27)

(OrigYesDate >= @Date(2008; (@Month(@Now))-1; 1; 0; 0; 0)) & (OrigYesDate <= @Date(2008; (@Month(@Now))-1; MaxDay; 0; 0; 0))
Прошлый месяц берешь неправильно. Если сейчас январь, то предыдущий месяц какой у тебя получится? Используй @Adjust.
И вообще не проще ли проверить только год и месяц?
Код
date := @Adjust(@Today; 0; -1; 0; 0; 0; 0);
@Year(OrigYesDate) = @Year(date) & @Month(OrigYesDate) = @Month(date)