Input Validation на Lotus Script

Тема в разделе "Lotus - Программирование", создана пользователем T1000, 4 мар 2010.

Статус темы:
Закрыта.
  1. T1000

    T1000 Гость

    День добрый.

    Есть форма. В ней простейший диалог. В диалоге 2 поля - текстовое и числовое.
    Если в числовое занести какое-то буквенное значение, то лотус пишет "cannot convert text to a number". как успеть отловить это неверное значение и вписать свой код. Привет того, что я пытаюсь сделать:
    Код (Text):
    Sub Queryclose(Source As Notesuidocument, Continue As Variant)
    Dim v
    Dim cdoc As NotesDocument

    Set cdoc=Source.Document
    Continue=True

    Print "v="+Source.FieldGetText("digReady4")
    v=Source.FieldGetText("digReady4")
    Print "3"
    If Not Isnumeric(v) Then
    Continue=False
    Msgbox {Введите численное значение},,"Ошибка"
    End If
    Print "4"

    ' Input Translation
    End Sub
     
  2. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для этого есть Input Validation.
     
  3. T1000

    T1000 Гость

    прописываю эту строку в Input Validation
    Код (Text):
    @If(!@IsNumber(digReady4);@Prompt([ok];"warning";"введите число");digReady4)
    мне выдается моё сообщение об ошибке. форма диалога закрывается, и я попадаю обратно в документ или другой диалог. мне же нужно добиться того, чтобы пользователь ввел число.
     
  4. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Есть такая красота как @Failure( string )
     
  5. T1000

    T1000 Гость

    все. спасибо. теперь на формулах проблема решилась. про команду @Failure вообще забыл :)
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.077
    Симпатии:
    300
    не советую увлекаться Failure, задолбаетесь проходить форму, особливо ежели порядок заполнения м.б. произвольным
    в формулу валидации ставить код, кот. прописывает контрольное поле, при ошибке (многозначное)
    массив ошибочных полей обрабатываем в QuerySave, подсвечиваем ошибки и переходим на первое ошибочное поле
    я такое реализовывал...
    описание и код выкладывал здесь http://codeby.net/forum/threads/34055.html?vi...st&p=160218
     
  7. T1000

    T1000 Гость

    у меня случай благо простой, но на будущее гляну конечно.
    спасибо еще раз!!! :)
     
  8. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Мог и не вспоминать ;) Эта формула - рудимент от 3-шки (если не ещё более ранних версий). Она не делает ничего, просто возвращает значение параметра (@Failure("text") = "text").

    Это логика InputValidation такая: если формула возвращает 1(@Yes/@True), значит всё Ок; если НЕ 1 - то всё плохо, причём если "не 1" - это текст, он выводится как сообщение об ошибке.

    PS: @Prompt(..) возвращает что-то числовое (подозреваю - 1)
     
Загрузка...
Похожие Темы - Input Validation на
  1. dimat
    Ответов:
    46
    Просмотров:
    3.687
  2. Shandrik
    Ответов:
    10
    Просмотров:
    1.138
  3. fxnjpfyfhty
    Ответов:
    1
    Просмотров:
    903
  4. CaptainBob
    Ответов:
    0
    Просмотров:
    1.108
  5. Serduko
    Ответов:
    5
    Просмотров:
    1.685
Статус темы:
Закрыта.

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