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

Тема в разделе "Lotus - Программирование", создана пользователем DmitryL, 23 апр 2012.

  1. DmitryL

    DmitryL New Member

    Регистрация:
    10 апр 2012
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте. Подскажите пожалуйста как перенести дату из одного поля в другое. В одном поле Date=01.01.2011 00:00:00 ZE3 в другом Date2=01.01.2011 Создать хочу кнопку, которая будет вызывать агент для обработки выделенных документов. Не знаю какими переменными пользоваться и как присвоить нужное значение. Переносить из Date в Date2.
     
  2. FixeR

    FixeR Гость

    ГуглТранслейт? :huh:

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

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Можно так
    Код (LotusScript):
    Set NDT = New NotesDateTime(<some_date_time>)
    Call NDT.SetAnyTime
    Call Doc.ReplaceItemValue("DateOnly", NDT)
     
  4. DmitryL

    DmitryL New Member

    Регистрация:
    10 апр 2012
    Сообщения:
    4
    Симпатии:
    0
    Вспомнил про свой пост ;) спустя время. Как решил языком формул. Проще ведь. Может ещё кому-нибудь пригодится.


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

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    После этого типа поле будет текстовый, если не ошибаюсь
     
  6. DmitryL

    DmitryL New Member

    Регистрация:
    10 апр 2012
    Сообщения:
    4
    Симпатии:
    0
    Подскажите как избежать эту ошбку ;)
     
  7. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    а в чем проблема записать так:
    Код (Text):
    FIELD полеDate2:=полеDate
     
  8. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    Field date2:=date
     
  9. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    в продолжение..
    вопрос на засыпку как занести несколько (два и более) значений в поле типа NotesDataTime (не NotesDateRange) ?
     
  10. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    вопрос слегка некорректный - полей типа NotesDateTime не бывает :)
    а массив NotesDateTime вроде бы укладывается в поле без всяких затей:
    Код (Text):
        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
    Где засыпка?
     
  11. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    некорректно выразился - не NotesDateTime, а time/date..
     
  12. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    и еще какая-то бага лотуса.. создаешь мульполе с датами.. а добавить в это поле не получается, даже если пересодавать поле, что за хрень ?
     
  13. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Kee_Keekkenen
    Как добавить — кодом или через уи?
    Кодом
    Код (Text):
    Call doc.ReplaceItemValue("date", ArrayAppend(doc.GetItemValue("date"), addedDate))
    должно работать, только типы должны совпадать.
     
  14. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    В скрипте два типа данных для хранения дат: 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().
    Вот как-то так...
     
Загрузка...

Поделиться этой страницей