Последний день месяца

  • Автор темы LIGHT
  • Дата начала
L

LIGHT

#1
Привет всем!

Не оходо писать сложную функцию определения последнего дня месяца, может есть что-то существующее на собаках?

Типа @MaxDay(@Month(@Now))
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#2
Так, например:
date := @Today;
(@Adjust(date; 0; 1; 0; 0; 0; 0) - date) / 86400
 
L

LIGHT

#3
Спасибо! Фунциклирует, а вот не как не могу получить макс дней в прошлом месяце, а очень нужно

Для отчета тредуется выгребать документы прошлого месяца, т.е. так:
Код:
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

Что это ? :)
Lotus team
10.12.2004
3 346
1
#4
(@Adjust(@Today; 0; 1; 0; 0; 0; 0) - @Today) /86400;
Вместо @Today нужно взять дату из прошлого месяца.

(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)