Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Последний день месяца, @Formula
LIGHT
Вставить ник
сообщение 6:05:2008, 10:01
Цитата Ответить 


Гуру
***

Группа: Достойный программист
Сообщений: 342
Регистрация: 20:05:2004
Пользователь №: 537
Специализация: Программист



Репутация: - 1 +


Привет всем!

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

Типа @MaxDay(@Month(@Now))
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 3)
Medevic
Вставить ник
сообщение 6:05:2008, 10:08
Цитата Ответить 


Что это ? :)
*****

Группа: Lotus team
Сообщений: 2 126
Регистрация: 10:12:2004
Из: Россия, Калуга
Пользователь №: 1 144



Репутация: - 71 +


Так, например:
date := @Today;
(@Adjust(date; 0; 1; 0; 0; 0; 0) - date) / 86400
Подняться вверх 
 
Сообщение #2
LIGHT
Вставить ник
сообщение 6:05:2008, 13:27
Цитата Ответить 


Гуру
***

Группа: Достойный программист
Сообщений: 342
Регистрация: 20:05:2004
Пользователь №: 537
Специализация: Программист



Репутация: - 1 +


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

Для отчета тредуется выгребать документы прошлого месяца, т.е. так:
Код
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 принимает максимальное дней в текущем месяце.
Подняться вверх 
 
Сообщение #3
Medevic
Вставить ник
сообщение 6:05:2008, 13:40
Цитата Ответить 


Что это ? :)
*****

Группа: Lotus team
Сообщений: 2 126
Регистрация: 10:12:2004
Из: Россия, Калуга
Пользователь №: 1 144



Репутация: - 71 +


Цитата(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)


Сообщение отредактировал Medevic - 6:05:2008, 13:41
Подняться вверх 
 
Сообщение #4


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись
   

 

RSS Текстовая версия Сейчас: 17:05:2008 - 10:20
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net