Расширение формы клиентского приложения для констант.ПередЗаписью

События · BeforeWrite

Возникает на клиенте перед выполнением записи объекта из формы. Процедура-обработчик данного события вызывается перед вызовом процедуры-обработчика события ПередЗаписью объекта.

Синтаксис

ПередЗаписью(<Отказ>, <ПараметрыЗаписи>)
Полное описание, параметры и ограничения

Расширение формы клиентского приложения для констант.ПередЗаписью (Client application form extension for constants.BeforeWrite)

Расширение формы клиентского приложения для констант (Client application form extension for constants)

ПередЗаписью (BeforeWrite)

Доступен, начиная с версии 8.2.

Синтаксис:
ПередЗаписью(<Отказ>, <ПараметрыЗаписи>)
Параметры:

<Отказ>
Тип: Булево.
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись произведена не будет.
Значение по умолчанию: Ложь.

<ПараметрыЗаписи>
Тип: Структура.
Структура, содержащая параметры записи.
Описание:

Возникает на клиенте перед выполнением записи объекта из формы. Процедура-обработчик данного события вызывается перед вызовом процедуры-обработчика события ПередЗаписью объекта.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент).

Примечание:
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере, а также изменять свойства, которые могут привести к серверному вызову.
Использование в версии:

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

Остановить отрицательное значение до серверной записи

Клиентская проверка формы даёт быстрый отказ до отправки объекта на сервер. Контекст: Общие → Общие формы → УчебныеКонтрольныеКонстанты.

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

Модуль управляемой формы: Общие → Общие формы → УчебныеКонтрольныеКонстанты. Серверная и клиентская директивы уже указаны; не вставляйте процедуру внутрь другой.

Подготовка

  1. Все действия выполняйте только в отдельной учебной конфигурации.

  2. Создайте две учебные константы: УчебноеКонтрольноеЧисло (Число 15.2), УчебныйКомментарий (Строка 100).

  3. Создайте управляемую форму констант УчебныеКонтрольныеКонстанты конструктором форм: основной реквизит Объект типа КонстантыНабор, в наборе обе созданные константы. Не используйте форму одной константы.

  4. Основной реквизит формы должен называться Объект. Если мастер дал другое имя, переименуйте основной реквизит и исправьте пути данных его полей в редакторе формы.

  5. Выведите основной числовой реквизит и комментарий на форму. Добавьте отдельный реквизит формы Статус (Строка 200), выведите его недоступным для редактирования.

  6. Откройте Общие → Общие формы → УчебныеКонтрольныеКонстанты → Модуль формы. Назначьте событие ПередЗаписью одноимённой процедуре. Обновите только учебную базу.

  7. Примеры соседних событий можно объединить в одном модуле: каждая процедура должна существовать только один раз. Для обычного опыта задайте число 25 и комментарий Учебный объект.

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    Если Объект.УчебноеКонтрольноеЧисло < 0 Тогда
        Отказ = Истина;
        Сообщить("Отрицательное значение не допускается");
    КонецЕсли;
КонецПроцедуры

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

  1. Платформа вызывает назначенный обработчик, передавая параметры именно своего расширения формы.

  2. Клиентская проверка формы даёт быстрый отказ до отправки объекта на сервер.

  3. Работа ведётся с реквизитами объекта, который полностью объявлен в подготовке.

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

  1. Введите -1 и нажмите Записать: запись отменяется с сообщением.

  2. Введите 25: эта клиентская проверка пропускает запись.

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

Остановить отрицательное значение до серверной записи для собственного учебного объекта.

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

  1. Эта проверка действует только при записи из данной формы; программную запись защищают правила модуля объекта.

  2. В этом клиентском событии не вызывайте &НаСервере и не меняйте свойства, вызывающие серверное обращение.

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

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

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

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

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