Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ Lotus - Программирование _ Последний день месяца

Автор: 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)

Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)