Проверить количество своей внешней обработки перед ОК

Учебные задачи

Полный обработчик модуля объекта собственной внешней обработки проверяет бизнес-условие без записи в базу.

Где и как запускать

Модуль объекта собственной внешней обработки; обычная форма, толстый клиент.

Подготовка

  1. Создайте собственную внешнюю обработку УчебнаяПокупкаКниг.epf с реквизитом Количество Число 10.0 со знаком. Основную обычную форму создайте мастером; реквизит количества перетащите на форму.

  2. Модуль объекта обработки: назначьте данный обработчик ОбработкаПроверкиЗаполнения. У кнопки обычной формы используйте стандартную команду ОК, вызывающую проверку заполнения.

  3. Только толстый клиент: именно такую доступность у этого события внешней обработки указывает установленная справка. Не переносите код в событие поля формы или в серверный общий модуль.

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    Если Количество <= 0 Тогда
        Отказ = Истина;
        Сообщить("Для учебной покупки количество должно быть больше нуля");
    КонецЕсли;
    Индекс = ПроверяемыеРеквизиты.Найти("Количество");
    Если Индекс <> Неопределено Тогда
        ПроверяемыеРеквизиты.Удалить(Индекс);
    КонецЕсли;
КонецПроцедуры

Разбор по шагам

  1. Откройте собственную обработку в обычном толстом клиенте.

  2. Введите 0 / -1 и нажмите стандартное ОК.

  3. Введите 3 и повторите: собственная проверка больше не выставляет Отказ.

Как проверить результат

  1. Нулевое и отрицательное количество дают явный отказ. ПроверяемыеРеквизиты меняется только для уже проверенного Количество.

  2. При количестве 3 не сбрасывается чужой ранее установленный Отказ: код не присваивает Отказ=Ложь.

Ожидаемый результат

Показана реальная проверка собственной формы перед стандартным действием.

На что обратить внимание

  1. Проверка не сохраняет документ покупки и не проводит движения.

  2. BSL и открытие обработки при сборке HTML не выполнялись.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.