7.7 Проверка вводимых пользователем данных

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем komrad, 4 ноя 2010.

  1. TopicStarter Overlay
    komrad
    Offline

    komrad

    Регистрация:
    3 ноя 2010
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Привет. Ситуация такая. Допустим пользователь вводит в каком-то документе, какую-то информацию, т.е. не берет значение из справочника, а набивает ручками. Скажем ФИО.
    Варианты:
    - пользователь не ввел данные и оставил поле "Фамилия" пустым
    - ввел в поле "Фамилия" помимо букв цифру или недопустимые символы типа "*/)(..."

    Нам необходимо провести проверку вводимых им данных.
    На каком этапе это делается в 1С? Есть что-то типа потери фокуса текстовым полем или значения полей проверяются при вызове метода "Записать"?
    И попутный вопрос - в модуле документа пишу "Процедура" - помощник предлагает не дописывать мне слово, а когда ввожу имя процедуры - эта функция не работает. Т.е. хочется в этом синтаксическом помощнике увидеть какие методы доступны(на память их не знаю, чтобы сходу вводить).
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    В реквизите есть поле "Действие" в него прописывайте вызов функции, которая будет проверять введенное значение.
    В 7.7. этого нет.
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Посмотрите OpenConf
  4. TopicStarter Overlay
    komrad
    Offline

    komrad

    Регистрация:
    3 ноя 2010
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Делаю так:
    В свойствах текстового поля, на вкладке "Дополнительно" в поле "Формула" пишу имя процедуры, которая должна быть вызвана.
    В итоге выдает ошибку:
    ПроверитьПоле<<?>>
    Переменная не определена (ПроверитьПоле)

    Щас уже засомневался, пробовал процедуру прописать и в модуле документа и в модуле формы - не помогает. Где ее все же нужно прописать?
    И еще.
    Либо я описываю одну процедуру для текстовых полей и передаю в качестве параметра текст поля. Либо для каждого поля пишу отдельную процедуру, которая проверяет текст данного поля.
  5. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    В поле Действие должен быть вызов процедуры "ПроверитьПоле()", а сама процедура описана в модуле формы.
    А по поводу количества процедур - решайте сами, т.к. можно написать несколько процедур, можно одну в которой в зависимости от нажатой кнопки формировать свое условие проверки. Если условия совсем разные, то лучше на каждое поле свою процедуру.
  6. TopicStarter Overlay
    komrad
    Offline

    komrad

    Регистрация:
    3 ноя 2010
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Спасибо. Заработало. :angry:

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