поле дата/тайм

Тема в разделе "Lotus - Программирование", создана пользователем Адриан, 11 дек 2008.

  1. Адриан

    Адриан Member

    Регистрация:
    14 май 2008
    Сообщения:
    16
    Симпатии:
    0
    Помогите пожалуйста. есть поле дата/тайм. в нем можно выбрать только время. ТАк вот мне нужно чтоб выброное время небыло меньше чем текущая. Под кнопку что сохраняет документ написал следуюший код.[codebox]Dim sess As New NotesSession
    Dim wks As New NotesUIWorkspace
    Dim db As NotesDatabase
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Dim dbposta As New NotesDatabase( "", "" )
    Dim docmemo As NotesDocument
    Dim rtitem As NotesRichTextItem
    Dim datNow As New NotesDateTime("")
    Dim timenow As New NotesTimer

    Call datnow.SetNow
    ttime$ = datnow.TimeOnly
    If doc.starttime(0) < ttime$ Then
    title$ = "невозможно выбрать время из прошлого"
    Messagebox title$,, "Error "
    continue = False
    Exit Sub[/codebox]
    так вот иногда работает, а чаще всего нет... иногда позволяет сохранять док даже если выброно время из прошлого... как можно это исправить?
     
  2. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Код (Text):
    Dim datNow As New NotesDateTime("")
    Dim timenow As New NotesTimer
    Call datnow.SetNow

    If Time(doc.starttime(0)) < Time(datnow.TimeOnly) Then
    title$ = "невозможно выбрать время из прошлого"
    Messagebox title$,, "Error "
    continue = False
    Exit Sub
     
  3. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Имхо, в InputValidation проще сделать:
    Код (Text):
    @If(@IsDocBeingSaved & (@IsNull(@ThisValue) | !@IsTime(@ThisValue) | @Time(@Now) > @Time(@ThisValue)); @Failure("!!!"); @Success)
     
  4. Адриан

    Адриан Member

    Регистрация:
    14 май 2008
    Сообщения:
    16
    Симпатии:
    0
    Спасибо но я етот вариант не могу импользовать. так как под кнопкой сидит еще код для отправки письма. и он все равно выполняется

    Выдает ощибку...wrong number or arguments for : TIME :(
     
  5. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Код (Text):
        Dim datNow As New NotesDateTime(Now)

    If docST.starttime(0) < datnow.TimeOnly Then
    title$ = "невозможно выбрать время из прошлого"
    Messagebox title$,, "Error "
    continue = False
    End If
    ну вот такая штука у меня работает...с Time я погорячился))
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Тада:
    Код (Text):
    Dim t As Variant
    t = doc.GetItemValue("starttim")(0)
    If Timenumber(Hour(t), Minute(t), Second(t)) < Timenumber(Hour(Now), Minute(Now), Second(Now)) Then
    Msgbox("!!!")
    End If
    kizarek, datnow.TimeOnly - это строка
     
  7. Адриан

    Адриан Member

    Регистрация:
    14 май 2008
    Сообщения:
    16
    Симпатии:
    0
    Спасибо большое все работает так как надо.
     
Загрузка...

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