Input Validation на Lotus Script

  • Автор темы T1000
  • Дата начала
Статус
Закрыто для дальнейших ответов.
T

T1000

#1
День добрый.

Есть форма. В ней простейший диалог. В диалоге 2 поля - текстовое и числовое.
Если в числовое занести какое-то буквенное значение, то лотус пишет "cannot convert text to a number". как успеть отловить это неверное значение и вписать свой код. Привет того, что я пытаюсь сделать:
Код:
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
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#2
Есть форма. В ней простейший диалог. В диалоге 2 поля - текстовое и числовое.
Если в числовое занести какое-то буквенное значение, то лотус пишет "cannot convert text to a number". как успеть отловить это неверное значение и вписать свой код.
Для этого есть Input Validation.
 
T

T1000

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

T1000

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

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 601
277
#6
не советую увлекаться Failure, задолбаетесь проходить форму, особливо ежели порядок заполнения м.б. произвольным
в формулу валидации ставить код, кот. прописывает контрольное поле, при ошибке (многозначное)
массив ошибочных полей обрабатываем в QuerySave, подсвечиваем ошибки и переходим на первое ошибочное поле
я такое реализовывал...
описание и код выкладывал здесь http://codeby.net/forum/threads/34055.html?vi...st&p=160218
 
T

T1000

#7
у меня случай благо простой, но на будущее гляну конечно.
спасибо еще раз!!! :)
 
30.05.2006
1 345
11
#8
... про команду @Failure вообще забыл :)
Мог и не вспоминать ;) Эта формула - рудимент от 3-шки (если не ещё более ранних версий). Она не делает ничего, просто возвращает значение параметра (@Failure("text") = "text").

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

PS: @Prompt(..) возвращает что-то числовое (подозреваю - 1)
 
Статус
Закрыто для дальнейших ответов.