Расширение формы документа.ПослеЗаписи

События · AfterWrite

Возникает после записи объекта, и после окончания транзакции записи, то есть к моменту вызова этой процедуры запись объекта полностью завершена.

Синтаксис

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

Расширение формы документа.ПослеЗаписи (Document form extension.AfterWrite)

Расширение формы документа (Document form extension)

ПослеЗаписи (AfterWrite)

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

Синтаксис:
ПослеЗаписи()
Описание:

Возникает после записи объекта, и после окончания транзакции записи, то есть к моменту вызова этой процедуры запись объекта полностью завершена.

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

Толстый клиент.

Использование в версии:

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

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

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

ПослеЗаписи: обычная форма УчебнаяЗаписка

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

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

Основной код — модуль собственной обычной объектной формы, толстый клиент; открытие — модуль другой обычной учебной формы.

Подготовка

  1. Работайте только в собственной пустой учебной конфигурации. В Конфигураторе создайте Документ УчебнаяЗаписка; не добавляйте эти учебные объекты в рабочую базу.

  2. Для документа задайте строковый номер длиной 12 с автонумерацией. Проведение для этой учебной записки не требуется; код выполняет только обычную запись.

  3. Добавьте реквизиты Комментарий (Строка 100), Лимит (Число 15.2 с разрешённым отрицательным знаком), ЗапретУдаления (Булево). Не делайте их автоматически обязательными: дополнительные правила описаны отдельными обработчиками.

  4. У Документ УчебнаяЗаписка создайте именно обычную объектную форму УчебнаяОбычная, не управляемую и не форму списка. Основной реквизит формы назовите Объект, тип — объект данного собственного метаданного.

  5. Выведите Объект.Лимит и Объект.Комментарий на форму. Оставьте штатные команды записи. Добавьте надпись УчебноеПояснение без связи с данными.

  6. В модуле этой формы назначьте событие ПослеЗаписи основной процедуре из примера. Процедуры соседних событий размещаются отдельно, каждая только один раз.

  7. В отдельной внешней обработке создайте обычную форму и кнопку ОткрытьСвойОбъект; последний дополнительный блок назначьте её обработчиком. Это настоящий производитель объекта, который получает его именованную форму.

  8. Запуск — толстый клиент, обычные формы, отдельная учебная конфигурация. Директивы &НаКлиенте / &НаСервере в модуль обычной формы не добавляются.

  9. Для обычного опыта задайте число 25. Старт процесса выполняется только подготовительным производителем задачи; сами события записи не стартуют процесс и не выполняют задачу.

Процедура ПослеЗаписи()
    СохраненнаяСумма = Объект.Лимит;
    Сообщить("Транзакция записи собственной карточки завершена");
    Сообщить("Сохранено: " + Строка(СохраненнаяСумма));
КонецПроцедуры
Отдельная обычная учебная форма: собственный объект и его точная форма
Процедура ОткрытьСвойОбъект(Кнопка)
    СвойОбъект = Документы.УчебнаяЗаписка.СоздатьДокумент();
    СвойОбъект.Дата = Дата(2026, 10, 14);
    СвойОбъект.Лимит = 100;
    СвойОбъект.Комментарий = "Учебный пример";
    ФормаОбъекта = СвойОбъект.ПолучитьФорму("УчебнаяОбычная");
    ФормаОбъекта.Открыть();
КонецПроцедуры

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

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

  2. Платформа вызывает назначенный обработчик своей формы с параметрами установленной справки.

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

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

  1. Запишите 25: сообщение подтверждает завершение записи и показывает 25.

  2. Если ПередЗаписью / ПриЗаписи отменили запись, этот обработчик успешного завершения не должен её подтверждать.

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

Событие проверяется в настоящей собственной объектной форме толстого клиента.

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

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

  2. Правило формы не защищает программную запись без этой формы; общие правила данных размещают в модуле объекта.

  3. Не вызывайте Записать повторно внутри ПередЗаписью, ПриЗаписи или ПослеЗаписи; здесь нет рекурсивной записи.

  4. ПриИзмененииДанных означает инициализацию / перечитывание / смену объекта, а не пользовательское ПриИзменении отдельного поля.

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

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

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

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

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