Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.
Синтаксис
ПриЗаписи(<Отказ>)Полное описание, параметры и ограничения
КонстантаМенеджерЗначения.<Имя константы>.ПриЗаписи (ConstantValueManager.<Constant name>.OnWrite)
КонстантаМенеджерЗначения.<Имя константы> (ConstantValueManager.<Constant name>)
ПриЗаписи (OnWrite)
Доступен, начиная с версии 8.0.
Синтаксис:
ПриЗаписи(<Отказ>)
Параметры:
<Отказ>
Тип: Булево.
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись элемента выполнена не будет.
Значение по умолчанию: Ложь.
Описание:
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Замечание:
Безопасный режим на время исполнения данного обработчика будет отключен. Данное замечание не относится к обработчикам событий, расположенным в расширении конфигурации.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Обработать ПриЗаписи собственной константы
Менеджер значения читает и записывает реальную собственную числовую константу. Правило отрицательного лимита относится только к этому учебному объекту.
Где и как запускать
Модуль значения собственной константы УчебныйЛимит. Проверочный блок отдельно в серверной процедуре своей обработки.
Подготовка
В отдельной пустой учебной конфигурации создайте константу УчебныйЛимит типа Число 12.2 с разрешённым отрицательным знаком. Это не константа типовой конфигурации: не создавайте её в рабочей базе.
В модуле значения константы разместите основной обработчик целиком, без клиентских директив. Не путайте модуль значения с модулем менеджера константы или модулем формы.
Обновите только учебную базу. Проверочный блок вставьте в тело серверной процедуры собственной учебной обработки. Он действительно изменяет только собственную константу УчебныйЛимит после явной проверки заполнения.
Процедура ПриЗаписи(Отказ)
Сообщить("Записываемый учебный лимит: " + Строка(ЭтотОбъект.Значение));
Если ЭтотОбъект.Значение = 0 Тогда
Сообщить("Нулевой лимит допустим в этом учебном правиле");
КонецЕсли;
КонецПроцедурыСерверная процедура: чтение, изменение и запись собственной константы
Лимит = Константы.УчебныйЛимит.СоздатьМенеджерЗначения();
Лимит.Прочитать();
Лимит.Значение = 750;
Если Лимит.ПроверитьЗаполнение() Тогда
Лимит.Записать();
Сообщить("Собственная константа: " + Строка(Константы.УчебныйЛимит.Получить()));
КонецЕсли;Разбор по шагам
СоздатьМенеджерЗначения и Прочитать получают собственную константу; значение 750 задаётся до проверки и записи.
ПроверитьЗаполнение и Записать вызывают платформенные обработчики модуля значения, не модуля менеджера.
ПриЗаписи только сообщает записываемое значение; для отказа используются соответствующие проверяющие обработчики.
Как проверить результат
С положительным значением сохранена собственная константа 750.
Для проверяющих обработчиков повторите с -1: Отказ отменяет проверку / запись. ПриЗаписи этого правила не содержит и не является сообщением о завершении внешней транзакции.
Ожидаемый результат
Платформенное событие сработало при явной проверке или записи собственной константы.
На что обратить внимание
ЭтотОбъект.Значение — значение менеджера; оно не читается автоматически из базы без Прочитать.
Внутри ПриЗаписи / ПередЗаписью не вызывайте Записать снова: это повторный цикл записи.
Никакие константы типовой конфигурации код не использует. Браузер BSL не исполняет.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.