Расширение формы набора записей регистра бухгалтерии.ПослеЗаписи

События · AfterWrite

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

Синтаксис

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

Расширение формы набора записей регистра бухгалтерии.ПослеЗаписи (Accounting register record set form extension.AfterWrite)

Расширение формы набора записей регистра бухгалтерии (Accounting register record set form extension)

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

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

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

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

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

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

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

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

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

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

ПослеЗаписи: собственная обычная форма accounting

После успешной платформенной записи своей формы увеличиваем её локальный счётчик. Здесь нет параметра Отказ и отменять уже завершённую запись этим событием нельзя.

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

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

Подготовка

  1. В собственной пустой учебной конфигурации создайте план счетов УчебныеСчетаЗапросов: строковый код 10, максимум субконто 0. В предопределенных данных добавьте Актив (код УЧ-А, вид Активный) и Пассив (код УЧ-П, вид Пассивный), оба не забалансовые. Обновление учебной базы должно создать их как данные.

  2. Создайте регистр бухгалтерии УчебныйУчетЗапросов с планом УчебныеСчетаЗапросов и включенной Корреспонденцией. Длина уточнения периода 3, итоги включены. Измерения: Организация (Строка 20, Балансовый Истина), Подразделение (Строка 20, Балансовый Ложь).

  3. Ресурсы регистра: Сумма (Число 15.2, Балансовый Истина), Количество (Число 10.0, Балансовый Ложь). Признаки учета для ресурсов не назначайте: в этой учебной схеме они используются для обоих счетов. Реквизит регистра Комментарий (Строка 100). Субконто для этого примера не нужны.

  4. Создайте документ УчебнаяПроводкаЗапросов с разрешенным проведением и автонумерацией. Реквизиты: СчетДебета и СчетКредита (ПланСчетовСсылка.УчебныеСчетаЗапросов), Организация (Строка 20), ПодразделениеДебета и ПодразделениеКредита (Строка 20), Сумма (Число 15.2), КоличествоДебета и КоличествоКредита (Число 10.0), Комментарий (Строка 100).

  5. Включите у своего документа движения по УчебныйУчетЗапросов. Обработчик проведения здесь не нужен: код создаёт свой новый документ обычной записью и явно записывает отфильтрованный набор.

  6. У собственного регистра УчебныйУчетЗапросов создайте обычную форму набора УчебныйНабор через конструктор формы набора записей. Основной реквизит — набор этого регистра; выведите его строки и ресурсы.

  7. Источник сохраняет новый собственный документ-регистратор, но сам набор до открытия формы не записывает. Сохранение набора выполняется стандартной командой открытой формы по фильтру этого нового регистратора.

  8. В самой обычной форме записи / набора добавьте собственные реквизиты Статус (Строка 200) и СчетчикЗаписей (Число 10.0); выведите их на форму.

  9. Основной блок назначьте событию формы ПослеЗаписи, дополнительный инициализатор — ПриОткрытии этой же формы. Это не событие модуля набора / значения константы.

  10. Открывающий блок разместите в другой обычной форме своей внешней обработки и назначьте кнопке. Запуск — толстый клиент. В открытой форме используйте стандартную команду Записать, не прямой вызов обработчика.

Процедура ПослеЗаписи()
    СчетчикЗаписей = СчетчикЗаписей + 1;
    Статус = "Успешных записей своей формы: " + Строка(СчетчикЗаписей);
    Сообщить(Статус);
КонецПроцедуры
Та же целевая обычная форма: назначить событию ПриОткрытии
Процедура ПриОткрытии()
    СчетчикЗаписей = 0;
    Статус = "Собственная форма готова к проверке записи";
    Сообщить(Статус);
КонецПроцедуры
Другая обычная форма своей внешней обработки: кнопка ОткрытьСвойУрок
Процедура ОткрытьСвойУрок(Кнопка)
    Документ = Документы.УчебнаяПроводкаЗапросов.СоздатьДокумент();
    Документ.Дата = Дата(2026, 10, 14);
    Документ.Записать();
    Набор = РегистрыБухгалтерии.УчебныйУчетЗапросов.СоздатьНаборЗаписей();
    Набор.Отбор.Регистратор.Установить(Документ.Ссылка);
    Запись = Набор.Добавить();
    Запись.Период = Документ.Дата;
    Запись.Активность = Истина;
    Запись.СчетДт = ПланыСчетов.УчебныеСчетаЗапросов.Актив;
    Запись.СчетКт = ПланыСчетов.УчебныеСчетаЗапросов.Пассив;
    Запись.Организация = "Урок";
    Запись.ПодразделениеДт = "А";
    Запись.ПодразделениеКт = "Б";
    Запись.Сумма = 750;
    Запись.КоличествоДт = 3;
    Запись.КоличествоКт = 3;
    ФормаУрока = Набор.ПолучитьФорму("УчебныйНабор");
    ФормаУрока.Открыть();
КонецПроцедуры

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

  1. Конструктор создаёт настоящую форму конкретной собственной записи / набора / констант.

  2. Открывающая кнопка передаёт форме реальный собственный объект с ограниченным ключом / регистратором.

  3. Стандартная команда формы вызывает платформенное событие; обработчик меняет только свой флаг отказа или локальный статус.

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

  1. После успешной стандартной записи счётчик увеличился на 1.

  2. Отменённая запись не должна отмечаться как успешная. Счётчик относится к открытому экземпляру формы, а не к количеству записей в регистре.

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

Этап записи показан на настоящей собственной обычной форме, а не ручным вызовом процедуры с подставными аргументами.

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

  1. ПередЗаписью, ПриЗаписи и ПослеЗаписи — разные этапы. Не посылайте внешние сообщения об успехе из ПриЗаписи до фиксации.

  2. Источник набора нельзя открывать без отбора регистратора / собственного ключа; не заменяйте источник рабочим набором.

  3. При сборке HTML BSL, запись в 1С и открытие её форм не выполнялись.

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

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

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

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

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