Сообщение об ошибке

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#1
Эта формула находится в вычисляемом поле:

@If(@Middle(PrefixNew;0;2) = "80";
Prefix2 := @Middle(PrefixNew;0;1) + "-" + @RightBack(PrefixNew;1);
@Middle(PrefixNew;0;3) = "810";
Prefix2 := "8-10-" + @RightBack(PrefixNew;3);
@Return(@Prompt([Ok];"Телефонный код введен неправильно";"Код должен начинаться с '80' либо '810' !!! ")));

т.е. я привожу код города к формату 8-0... или 8-10-..., если код не начинается с этих цифр то выдаю сообщение об ошибочном вводе.

Вопрос:
почему сообщение об ошибке выпрыгивает дважды? Один раз клацнул "ОК" и тут-же еще одно сообщение.

Спасибо за ответ.
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#3
Для: oshmianski

Не понял вопроса? Одно значение. Например: "050"
 
O

Ogion7

#4
сделал поле PrefixNew, кнопку с таким же кодом. Один раз сообщение выдается.
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#5
Для: Ogion7

Вот чуть поправил и вставил в Input Translation поля Prefix:

PrefixNew := @Trim(@Implode(@Explode(Prefix;"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ?!@#$%^&*_+=[]{}|\"<>,.';:D)/\\- ";0);""));

@If(@Middle(PrefixNew;0;2) = "80";
@Return(@Middle(PrefixNew;0;1) + "-" + @RightBack(PrefixNew;1));
@Middle(PrefixNew;0;3) = "810";
@Return("8-10-" + @RightBack(PrefixNew;3));
@Return(@Prompt([Ok];"Телефонный код введен неправильно";"Код должен начинаться с '80' либо '810' !!! ")))

все равно, ..., два раза прыгает... :D
 
O

Ogion7

#6
а может код еще где-нибудь лежит? в валидации например...
 
30.05.2006
1 345
11
#7
Вопрос: [/b]почему сообщение об ошибке выпрыгивает дважды? Один раз клацнул "ОК" и тут-же еще одно сообщение.
1.А что у вас на кнопке OK?
2.Не то место для сообщений валидации юзаете.
Правильно:
Validation formula-ы редактируемых полей (на кой юзеру сообщать, что ошибка в ВЫЧИСЛЯЕМОМ поле?? Все равно исправить нельзя)
QuerySave event формы
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#8
Всем спасибо, разобрался. На событие QuerySave спрятался source.refresh. Вот из-за него и весь сыр-бор возник.

З.Ы. Вот так вот всегда: легче БД лепить счистого листа, чем заниматься доделками не своих баз.