CftClub.ru
Клуб специалистов ЦФТ-Банк

Функция для определения последнего РАБОЧЕГО дня месяца

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
cymtu
Участник - экстремал


Вступление в Клуб: 26.03.2008
СообщениеПн Апр 18, 2011 07:46   Функция для определения последнего РАБОЧЕГО дня месяца Ответить с цитатой
Полезность: Нет оценки
Кто-нибудь знает есть в ЦФТ функция для нахождения последнего РАБОЧЕГО дня месяца()???
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеПн Апр 18, 2011 08:04    Ответить с цитатой
Полезность: 3
Код:
::[RUNTIME].[CALENDAR].Next_Date('HOLIDAYS', 0, LAST_DAY(P_DATE), -1);

Цитата:
-- FUNCTION Next_Date
-- Ищет следующий непринадлежащий/принадлежащий календарю день
-- (рабочий/выходной для календаря 'HOLIDAYS').
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-- !!! ВНИМАНИЕ! Поиск начинает с заданной даты, а не со следующей, !!!
-- !!! т.е. заданная дата участвует в переборе дат. См. пример ниже !!!
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-- Параметры:
-- CalendarName - наименование календаря
-- Do_Work - Тип даты, которую нужно найти
-- '0' - день, не принадлежащий календарю (рабочий день для календаря 'HOLIDAYS')
-- '1' - день, принадлежащий календарю (выходной день для календаря 'HOLIDAYS')
-- D - Дата, с которой начинать поиск. Если эта дата
-- уже нужного типа (соответствует Do_Work) и Offset=1или-1,
-- то она же и возвращается.
-- Offset - В какую сторону и на сколько искать.
-- > 0 - следующие даты
-- < 0 - предыдущие даты
-- = 0 - Функция всегда вернет Constant.DATE_MAX
-- Period - Максимальное кол-во, которое проверять.
-- Если это кол-во дней просмотрено и дата не найдена,
-- то возвращается:
-- если offset > 0, то Constant.DATE_MAX
-- если offset < 0, то 01/01/1900
-- Возвращаемое значение:
-- найденная по заданным условиям дата
-- Пример: 2004 год: июнь 25-пятн., 26-субб., 27-воскр., 28-понед.
-- next_date('HOLIDAYS',Do_Work, D, Offset)
-- -------------------------------------------------
-- | Do_Work D Offset | Результат |
-- -------------------------------------------------
-- | '0' 25/06/2004 -2 | 24/06/2004 |
-- | '0' 25/06/2004 -1 | 25/06/2004 |
-- | '0' 25/06/2004 1 | 25/06/2004 |
-- | '0' 25/06/2004 2 | 28/06/2004 |
-- | '1' 25/06/2004 -1 | 20/06/2004 |
-- | '1' 25/06/2004 1 | 26/06/2004 |
-- | '1' 25/06/2004 2 | 27/06/2004 |
-- -------------------------------------------------
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru