Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.
Синтаксис
ПриЗаписи(<Отказ>)Полное описание, параметры и ограничения
ПланСчетовОбъект.<Имя плана счетов>.ПриЗаписи (ChartOfAccountsObject.<Chart of accounts name>.OnWrite)
ПланСчетовОбъект.<Имя плана счетов> (ChartOfAccountsObject.<Chart of accounts name>)
ПриЗаписи (OnWrite)
Доступен, начиная с версии 8.0.
Синтаксис:
ПриЗаписи(<Отказ>)
Параметры:
<Отказ>
Тип: Булево.
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись выполнена не будет.
Значение по умолчанию: Ложь.
Описание:
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Замечание:
Безопасный режим на время исполнения данного обработчика будет отключен. Данное замечание не относится к обработчикам событий, расположенным в расширении конфигурации.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Сообщить о записи без повторного сохранения: УчебныеСчетаКарточек
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи. ПриЗаписи вызывается внутри транзакции. Отказ может отменить запись, а внешние необратимые действия здесь не выполняются.
Где и как запускать
Модуль объекта УчебныеСчетаКарточек. Дополнительный блок — тело отдельной серверной команды учебной обработки.
Подготовка
Работайте только в собственной пустой учебной конфигурации. В Конфигураторе создайте ПланСчетов УчебныеСчетаКарточек; не добавляйте эти учебные объекты в рабочую базу.
Код — строковый длиной 10, наименование длиной 100. Для справочника, плана обмена и плана видов характеристик включите автонумерацию. Для счетов и видов расчёта код назначается явно в примере.
У плана счетов не задавайте маску кода; регистры бухгалтерии для карточки счёта не нужны. Добавьте признак учета РазрешитьКоличественныйУчет типа Булево.
Добавьте реквизиты Комментарий (Строка 100), Лимит (Число 15.2 с разрешённым отрицательным знаком), ЗапретУдаления (Булево). Не делайте их автоматически обязательными: дополнительные правила описаны отдельными обработчиками.
Откройте ПланыСчетов → УчебныеСчетаКарточек → Модуль объекта и вставьте основной обработчик на уровне модуля без директивы НаКлиенте.
Дополнительный блок запускайте в теле серверной команды собственной учебной обработки. Он вызывает настоящий метод подготовленного объекта; обработчик события вручную не вызывайте.
Каждое событие проверяйте как отдельный урок. Обновите только учебную базу; примеры не исполняются HTML-справочником.
Процедура ПриЗаписи(Отказ)
Если Лимит > 1000 Тогда
Отказ = Истина;
Сообщить("Для учебной карточки лимит не должен превышать 1000");
Иначе
Сообщить("Карточка записана внутри текущей транзакции");
КонецЕсли;
КонецПроцедурыНастоящий вызов события подготовленным объектом
Объект = ПланыСчетов.УчебныеСчетаКарточек.СоздатьСчет();
Объект.Наименование = "Учебная карточка";
Объект.Код = Лев(Строка(Новый УникальныйИдентификатор), 8);
Объект.Лимит = 100;
Объект.Комментарий = "Учебный пример";
Объект.Записать();
Сообщить("Вызов Записать завершился");Разбор по шагам
Дополнительный код создаёт реальный объект УчебныеСчетаКарточек штатным менеджером.
ПриЗаписи вызывается внутри транзакции. Отказ может отменить запись, а внешние необратимые действия здесь не выполняются.
Параметры события передаёт платформа; модуль обращается к собственным реквизитам из подготовки.
Как проверить результат
С лимитом 100 показано сообщение о записи.
Замените 100 на 1001: текущая транзакция записи отменена; сообщение не является подтверждением её завершения.
Ожидаемый результат
Сообщить о записи без повторного сохранения для подготовленного учебного объекта.
На что обратить внимание
Работайте только с объектом, созданным дополнительным кодом, и только в своей учебной базе.
Сообщение внутри события записи не доказывает завершение всей транзакции; не отправляйте оттуда письма и не вызывайте внешние сервисы.
Правила объекта не надо обходить повторной записью из его же обработчика.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.