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

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

  1. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Эта формула находится в вычисляемом поле:

    @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-..., если код не начинается с этих цифр то выдаю сообщение об ошибочном вводе.

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

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

    oshmianski Гость

    Для: DNT
    а сколько значений в поле PrefixNew?
     
  3. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Для: oshmianski

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

    Ogion7 Гость

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

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Для: 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
     
  6. Ogion7

    Ogion7 Гость

    а может код еще где-нибудь лежит? в валидации например...
     
  7. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    1.А что у вас на кнопке OK?
    2.Не то место для сообщений валидации юзаете.
    Правильно:
    Validation formula-ы редактируемых полей (на кой юзеру сообщать, что ошибка в ВЫЧИСЛЯЕМОМ поле?? Все равно исправить нельзя)
    QuerySave event формы
     
  8. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Всем спасибо, разобрался. На событие QuerySave спрятался source.refresh. Вот из-за него и весь сыр-бор возник.

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

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