Войти
 
 
   
 
  
Новости Notes.ру Библиотека Биржа труда Вопрос - ответ Форум Регистрация Поиск О проекте
Разделы
О Notes
Советы
Шаблоны и примеры
Литература
Презентации
 
Всё о задаче AdminP. Часть вторая   Во второй части мы завершаем рассмотрение AdminP. В ней рассмотрены запросы междоменного администрирования и способы управления функциями AdminP с помощью настроек документа сервера, команд консоли сервера, файла Notes.ini и интервалов очистки базы данных. В этой статье предполагается, что вы опытный администратор Domino и прочитали первую часть
О Notes Читать статью
 
Всё о задаче AdminP. Proxy-действия в R5 и Domino 6   Приложение к статье об административном процессе
О Notes Читать статью
 
Всё о задаче AdminP. Часть первая   Перевод классической статьи 2003-его года о задаче административного процесса (AdminP). Очень полезна для понимания работы механизма этой задачи. В первой части статьи описаны компоненты задачи AdminP, как они работают, и как их использование помогает сделать работу администратора Domino проще. Задача AdminP (сакращённо от Administration Process, Административный процесс) работает с базой административных запросов (Administration Requests, admin4.nsf)
О Notes Читать статью
 


Советы

Главная   Библиотека   Советы

Несколько функций для операций с датами

Степан Карандин

Как рассчитать все дни, исключив нерабочие
Поля Date/Time:

  • Start
  • EndDate
  • Hols (allow multi Values)
Для использования ввести Start и EndDate, в поле Hols - перерывы
_alldays:=@Explode(@TextToTime(@Text(start)+"-"+@Text(enddate))); _tDays:=@Text(@Weekday(@texttotime(@trim(@replace(@text(alldays);@text(hols);NULL)))));
@Elements(@Trim(@Replace(tdays;"1":"7";NULL)))


Месяц прописью
Поля Date/Time:
  • datavalue
_Month := @Month(datavalue);
@Select(_Month;"января";"февраля";"марта";"апреля";"мая";"июня";"июля";"августа";"сентября";"октября";"ноября";"декабря";"")


Подсчет количества дней между датами
Поля Date/Time:
  • StartDate
  • EndDate
@Abs(@Integer((EndDate - StartDate) / (86400)))



Подсчет номера недели в году для даты
Соответствует ISO 8601:1988. Т.е. неделя начинается в понедельник...

D := [12/31/95];
FirstOfYear := @Date(@Year(D); 1; 1);
LastOfYear := @Date(@Year(D); 12; 31);
FirstDayNum := @Weekday(FirstOfYear);
LastDayNum := @Weekday(LastOfYear);
ISOFirstDayNum := @If(FirstDayNum = 1; 7; FirstDayNum - 1);
ISOLastDayNum := @If(LastDayNum = 1; 7; LastDayNum - 1);
IsFirstWeek := 7 - ISOFirstDayNum > 2;
IsLastWeek := 7 - ISOLastDayNum < 4;
ISOFirstDay := @If(IsFirstWeek;
@Adjust(FirstOfYear; 0; 0; 1 - ISOFirstDayNum; 0; 0; 0);
@Adjust(FirstOfYear; 0; 0; 8 - ISOFirstDayNum; 0; 0; 0));
ISOLastDay := @If(IsLastWeek;
@Adjust(LastOfYear; 0; 0; 7 - ISOLastDayNum; 0; 0; 0);
@Adjust(LastOfYear; 0; 0; -ISOLastDayNum; 0; 0; 0));
FirstWeekNextYear := @If(@Day(D) > @Day(ISOLastDay)
& @Year(D) = @Year(ISOLastDay);
@Return(@Text(@Year(D)+1)+"W01"); NULL);
LastYear := (D - @Adjust(FirstOfYear; -1; 0; 0; 0; 0; 0))/60/60/24/7;
LastWeekLastYear := @If(@Day(D) < @Day(ISOFirstDay);
@Return(@Text(@Year(D) - 1)+"W"+@Text(LastYear)); NULL);
NumWeeks := (D - ISOFirstDay)/60/60/24/7;
WeekAdjust := 1 - (NumWeeks - @Integer(NumWeeks));
ISOWeekNum := NumWeeks + WeekAdjust;
Pad:=@If(ISOWeekNum<10;"0";"");
@Text(@Year(D))+"W"+Pad+@Text(ISOWeekNum)


К сожалению, авторов некоторых примеров кода установить не удалось.
 
  Опубликовано — 05/06/2003 |    

Denis Samoylovich, 25.11.2003:
номер недели устарел, нынче вот эта фишка рулит: http://www.intertrust.ru/Site/itforum.nsf/0/b24e480369b56920c3256e8c0063a98e!OpenDocument

Николай Норкин, 25.11.2003:
http://www.intertrust.ru/site/itforum.nsf/0/B21BF55E6B174A63C3256C6100295161!OpenDocument

Алекс, 24.11.2003:
А нет ли у вас примера числа прописью?



Добавить комментарий
Имя * :
e-mail
Комментарий * :
Код подтверждения * :

Мероприятия
Пресс-релизы
Биржа труда
Последнее на форуме
 
А так же:
Как удалить профиль?
16.04.2016 00:08:51
Скопировать в буфер поле документа
24.05.2015 08:55:52
Импорт DXL-описания документов в Lotus Domino. Одноимённые поля
16.04.2015 16:49:58
 
© LOGOSPHERE.RU