Функция для определения последнего РАБОЧЕГО дня месяца
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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 |
-- -------------------------------------------------
|
|
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|