СправочникОбъект.<Имя справочника>.ПриЗаписи

События · OnWrite

Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.

Синтаксис

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

СправочникОбъект.<Имя справочника>.ПриЗаписи (CatalogObject.<Catalog name>.OnWrite)

СправочникОбъект.<Имя справочника> (CatalogObject.<Catalog name>)

ПриЗаписи (OnWrite)

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

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

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

Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.

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

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Замечание:

Безопасный режим на время исполнения данного обработчика будет отключен. Данное замечание не относится к обработчикам событий, расположенным в расширении конфигурации.
Использование в версии:

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

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

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

Показать этап записи учебного товара

ПриЗаписи вызывается после записи элемента, но ещё внутри транзакции.

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

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

Подготовка

  1. В отдельной учебной конфигурации создайте неиерархический справочник УчебныеТовары: строковый код длиной 10 с автонумерацией, наименование длиной 100.

  2. Добавьте реквизиты Цена (Число 15.2) и СнятСПродажи (Булево). Для Цена не включайте автоматический запрет отрицательного знака: в примере его проверяет код.

  3. Откройте Справочники → УчебныеТовары → Модуль объекта. Обработчики размещаются на уровне модуля, не внутри команды формы. Обновите только учебную базу и проверяйте её элементы.

Процедура ПриЗаписи(Отказ)
    Если Не ОбменДанными.Загрузка Тогда
        Сообщить("Этап ПриЗаписи: " + Наименование);
    КонецЕсли;
КонецПроцедуры

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

  1. Запишите один учебный товар с допустимой ценой.

  2. Платформа вызывает ПриЗаписи в транзакции записи.

  3. Сообщение пропускается при загрузке через обмен; сам обмен этот пример не реализует.

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

  1. При обычной записи появляется название товара.

  2. Событие не должно повторно вызывать Записать и создавать вторую запись.

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

Видно, в какой точке жизненного цикла вызван обработчик.

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

  1. Сообщение не доказывает фиксацию транзакции: позже возможен откат.

  2. Не отправляйте здесь внешние уведомления как подтверждение успешной фиксации.

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

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

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

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

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