Как Присврить Значение Дата?

DmitryL

New Member
10.04.2012
4
0
#1
Здравствуйте. Подскажите пожалуйста как перенести дату из одного поля в другое. В одном поле Date=01.01.2011 00:00:00 ZE3 в другом Date2=01.01.2011 Создать хочу кнопку, которая будет вызывать агент для обработки выделенных документов. Не знаю какими переменными пользоваться и как присвоить нужное значение. Переносить из Date в Date2.
 
F

FixeR

Гость
#2
ГуглТранслейт? :huh:

Можно как-то так:
Код:
Call doc2.ReplaceItemValue("Date2", doc1.GetFirstItem("Date1").DateTimeValue)
 

DmitryL

New Member
10.04.2012
4
0
#4
Здравствуйте. Подскажите пожалуйста как перенести дату из одного поля в другое. В одном поле Date=01.01.2011 00:00:00 ZE3 в другом Date2=01.01.2011 Создать хочу кнопку, которая будет вызывать агент для обработки выделенных документов. Не знаю какими переменными пользоваться и как присвоить нужное значение. Переносить из Date в Date2.
Вспомнил про свой пост ;) спустя время. Как решил языком формул. Проще ведь. Может ещё кому-нибудь пригодится.


Код:
stroka:=@Text(@Date(полеDate);S0) 
REM{S0- параметр функции преобразования даты/времени)}
FIELD полеDate2:=stroka
 

Kee_Keekkenen

Well-Known Member
05.09.2006
639
6
Москва
#9
в продолжение..
вопрос на засыпку как занести несколько (два и более) значений в поле типа NotesDataTime (не NotesDateRange) ?
 
#10
вопрос на засыпку как занести несколько (два и более) значений в поле типа NotesDataTime (не NotesDateRange) ?
вопрос слегка некорректный - полей типа NotesDateTime не бывает :)
а массив NotesDateTime вроде бы укладывается в поле без всяких затей:
Код:
	Dim dates(2) As NotesDateTime
Set dates(0) = New NotesDateTime("Yesterday")
Set dates(1) = New NotesDateTime("Today")
Set dates(2) = New NotesDateTime("Tomorrow")

....
doc.dt = dates
Где засыпка?
 

Kee_Keekkenen

Well-Known Member
05.09.2006
639
6
Москва
#11
вопрос слегка некорректный - полей типа NotesDateTime не бывает :)
а массив NotesDateTime вроде бы укладывается в поле без всяких затей:
Код:
	Dim dates(2) As NotesDateTime
Set dates(0) = New NotesDateTime("Yesterday")
Set dates(1) = New NotesDateTime("Today")
Set dates(2) = New NotesDateTime("Tomorrow")

....
doc.dt = dates
Где засыпка?
некорректно выразился - не NotesDateTime, а time/date..
 

Kee_Keekkenen

Well-Known Member
05.09.2006
639
6
Москва
#12
некорректно выразился - не NotesDateTime, а time/date..
и еще какая-то бага лотуса.. создаешь мульполе с датами.. а добавить в это поле не получается, даже если пересодавать поле, что за хрень ?
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#13
Kee_Keekkenen
Как добавить — кодом или через уи?
Кодом
Код:
Call doc.ReplaceItemValue("date", ArrayAppend(doc.GetItemValue("date"), addedDate))
должно работать, только типы должны совпадать.
 
#14
и еще какая-то бага лотуса.. создаешь мульполе с датами.. а добавить в это поле не получается, даже если пересодавать поле, что за хрень ?
В скрипте два типа данных для хранения дат: Datatype 7 и NotesDateTime. Одно в другое переводится например через dt7 = NotesDateTime.LSLocalTime и ndt = new NotesDateTime(dt7)
При получении значения из date/time поля вернется Variant Array, элементами которого будут Datatype 7.
Соответственно, если нужно добавить обычную дату/время ( результат, возвращаемый функциями Today, DateValue etc ) - то просто добавляем элемент в массив, через ArrayAppend или Redim Preserve.
Если нужно положить значение из NotesDateTime - то можно либо привести его к Datatype7 ( NotesDateTime.LSLocalTime ) либо наоборот конвертировать исходный массив в NotesDateTime().
Вот как-то так...