Тема: Работа с датой в lotus script
Задача: на лотус скрипте получить текущюю дату и прибавить к ней n дней.
Вариант 1:
Dim dateTime As New NotesDateTime( "" )
Call dateTime.SetNow
CurDoc.ДАТА_РЕЗОЛЮЦИИ_ = dateTime.DateOnly
days= DelDoc.SrokIspol(0) ' тянем срок исполнения с номенклатуры
Call dateTime.AdjustDay(days)
days = dateTime.DateOnly
'days = dateTime.LocalTime вносит в формате 25.01.2014 13:19:51 ZE2
'days = Format$(days, "Short Date" )
CurDoc.ДАТА_РЕЗОЛЮЦИИ_= days ' вносит в формате 11.01.2014
CurDoc.СРОК_ИСПОЛНЕНИЯ_= days (её может редактировать руководитель)
CurDoc.СРОК_ИСПОЛНЕНИЯ_2 = days (для отображения исполнителям, его value = СРОК_ИСПОЛНЕНИЯ_)
Но будет ошибка
comparison operators must be supplied two values of the same data type
, если в поле СРОК_ИСПОЛНЕНИЯ_ в событии input validation
@If(ДАТА_РЕЗОЛЮЦИИ_ > СРОК_ИСПОЛНЕНИЯ_ ; @Prompt([YesNo]; "ОШИБКА!"; "Не правильно указанна дата Срока исполнения документа!");@True)
Вариант 2 с использованием Evaluate:
days= 10
macro$={@Adjust(@Date(@Now([ServerTime]));0;0;} & Cint(days) & {;0;0;0)}
serverDate= (Evaluate(macro$))