В подписке ПриЗаписи() модуля объекта справочника есть код, который обновляет зависимые элементы другого справочника. Состав этих элементов может меняться, в зависимости от того обработан он уже или нет. Т.е. при записи одного элемента справочника может поменяться от 0 до N элементов другого справочника. Если форма записываемого элемента была вызвана командой из одного таких множеств элементов, т.е. есть ВладелецФормы, то после записи - надо вернуть, скажем через ДополнительныеСведения - список измененных элементов и если в этом списке есть элемент из ВладельцаФормы, то вызвать у формы метод Прочитать(), чтобы пользователь мог работать с актуальными данными и не получал ошибку о том, что объект был изменен. Конфигурация на поддержке, поэтому все доработки идут через свои подписки и общий модуль МодификацияПереопределяемый*. Основная проблема в том, что свойство ВладелецФормы доступно только на клиенте, ДополнительныеСведения только на сервере и только у объекта, который пришлось бы получать в модуле формы через метод ЗначениеРеквизитаОбъекта(), который является не глобальным, а принадлежит управляемой форме. Все вызовы событий (ПриЗаписи(сервер), ПослеЗаписи (клиент) - безконтекстные, а это значит что в событии ПослеЗаписи на клиенте невозможно передать переменную "Форма" в серверную процедуру для извлечения ДополнительныхСведений из объекта (основного реквизита формы) с типом ДанныеФормыСтруктура. Пока в голове крутится мысль о динамическом создании реквизита формы, например с адресом временного хранилища или ссылкой полученной из ВладелецФормы. В общем нужен совет как передать некую информацию между двумя этими событиями ПриЗаписи(сервер) и ПослеЗаписи(клиент) между двумя подписками.
---
Итак, сформулируем задачу. Имеем справочники "_ДемоСправочникВладелец" и "_ДемоСправочникЗависимый".
При записи справочника-владельца осуществляется изменение некоторых наперед неизвестных элементов зависимого справочника. Требуется обновить данные во всех открытых формах зависимого справочника, если элементы этого справочника были перезаписаны в БД.

```1c
    // Протестировано на ERP 2.4.3.160

    // Создаем подписку на событие справочника-владельца, где осуществляется некая обработка зависимых данных.
    // Эти зависимые данные мы сохраняем в объекте-владельце.
    //
    Процедура _ДемоСправочникВладелецПриЗаписи(Источник, Отказ) Экспорт

    МассивСсылок = Новый Массив;

    // Здесь выполняется обработка подчиненных данных
    // и заполнение массива ссылками на обновленные элементы.

    Источник.ДополнительныеСвойства.Вставить("МассивСсылок", МассивСсылок);

    КонецПроцедуры

    // В общем модуле "МодификацияКонфигурацииПереопределяемый" обрабатываем запись формы владельца на сервере.
    // Здесь мы пробрасываем наш массив ссылок дальше.
    //
    Процедура ПослеЗаписиНаСервере(Форма, ТекущийОбъект, ПараметрыЗаписи)Экспорт

    Если Форма.ИмяФормы = "Справочник._ДемоСправочникВладелец.Форма.ФормаЭлемента" Тогда
    Если ТекущийОбъект.ДополнительныеСвойства.Свойство("МассивСсылок") Тогда
    ПараметрыЗаписи.Вставить("МассивСсылок", ТекущийОбъект.ДополнительныеСвойства.МассивСсылок);
    КонецЕсли;
    КонецЕсли;

    КонецПроцедуры

    // В общем модуле "МодификацияКонфигурацииКлиентПереопределяемый" обрабатываем запись формы уже на клиенте.
    // Чтобы все формы подчиненного справочника знали, что нужно перечитать данные из БД, их нужно оповестить об этом.
    //
    Процедура ПослеЗаписи(Форма, ПараметрыЗаписи)Экспорт

    Если Форма.ИмяФормы = "Справочник._ДемоСправочникВладелец.Форма.ФормаЭлемента" Тогда
    Если ПараметрыЗаписи.Свойство("МассивСсылок") Тогда

    // оповещаем формы элементов подчиненного справочника
    Оповестить("_ДемоЗаписьВладельца", ПараметрыЗаписи.МассивСсылок);

    // оповещаем динамические списки
    ОповеститьОбИзменении(Тип("СправочникСсылка._ДемоСправочникЗависимый"));

    КонецЕсли;
    КонецЕсли;

    КонецПроцедуры

    // В общем модуле "СобытияФормКлиент" обрабатываем оповещение о необходимости перечитать данные.
    // Удобство оповещений в том, что данные будут обновлены даже у тех подчиненных элементов,
    // из которых мы не открывали справочник-владелец.
    //
    Процедура ОбработкаОповещения(Форма, ИмяСобытия, Параметр, Источник, ДополнительныеПараметры = Неопределено) Экспорт

    Если ИмяСобытия = "_ДемоЗаписьВладельца"
    И Форма.ИмяФормы = "Справочник._ДемоСправочникЗависимый.Форма.ФормаЭлемента"
    И Параметр.Найти(Форма.Объект.Ссылка) <> Неопределено Тогда
    Форма.Прочитать();
    КонецЕсли;

    КонецПроцедуры
```
---
В подписке ПередЗаписью() модуля объекта справочника есть код, который обновляет зависимые элементы другого справочника.
Может это надо делать в событии "ПриЗаписи" когда элемент справочника уже записан? Что будет если вы элементы связанного справочника измените а сам элемент по какой то причине не будет записан?
---
Что-то я немного запутался. Перепроверил, действительно я пишу в ПриЗаписи(), когда ссылка уже есть.
---
Можно использовать параметры записи.
1. В обработчике объекта "ПриЗаписи" помещаете в структуру "ДополнительныеСвойства" объекта все необходимы для дальнейшей обработки данные.
2. В обработчике формы "ПослеЗаписиНаСервере" у Вас в параметрах есть как ТекущийОбъект с дополнительными свойствами, так и ПараметрыЗаписи - структура для передачи произвольных данных. Извлекаете из доп. свойств нужные данные и помещаете их в параметры записи.
3. В завершении уже в обработчике формы "ПослеЗаписи", что выполняется на клиенте, уже обрабатываете данные, извлекая их из параметров записи.
---
Что-то не вяжется. "В обработчике объекта "ПриЗаписи" - в модуле объекта? Там нет никаких "параметров записи", чтобы это ни было. Метод "Записать(<ПараметрыЗаписи>) " из модуля формы я не использую, так как используется типовой обработчик записи, а у объекта типа "СправочникОбъект" метод Записать() вообще ни имеет параметров.
---
Вы невнимательно прочитали. В модуле объекта Вам нужно вставить в структуру дополнительных свойств нужные данные. В серверном обработчике формы - скопировать их из дополнительных свойств в параметры записи. В клиентском - обработать полученные с сервера данные как вам угодно.
---
Вы говорите про параметр с именем "ПараметрыЗаписи", который передается в обработчик ПослеЗаписиНаСервере модуля формы? Ранее я пробовал его менять в ПослеЗаписи (клиент) прилетает параметр пустым,
---
Значит Вы что-то сделали не так. Подождите пару минут, я протестирую и приведу здесь демо-пример.
---
Итак, сформулируем задачу. Имеем справочники "_ДемоСправочникВладелец" и "_ДемоСправочникЗависимый".
При записи справочника-владельца осуществляется изменение некоторых наперед неизвестных элементов зависимого справочника. Требуется обновить данные во всех открытых формах зависимого справочника, если элементы этого справочника были перезаписаны в БД.

```1c
    // Протестировано на ERP 2.4.3.160

    // Создаем подписку на событие справочника-владельца, где осуществляется некая обработка зависимых данных.
    // Эти зависимые данные мы сохраняем в объекте-владельце.
    //
    Процедура _ДемоСправочникВладелецПриЗаписи(Источник, Отказ) Экспорт

    МассивСсылок = Новый Массив;

    // Здесь выполняется обработка подчиненных данных
    // и заполнение массива ссылками на обновленные элементы.

    Источник.ДополнительныеСвойства.Вставить("МассивСсылок", МассивСсылок);

    КонецПроцедуры

    // В общем модуле "МодификацияКонфигурацииПереопределяемый" обрабатываем запись формы владельца на сервере.
    // Здесь мы пробрасываем наш массив ссылок дальше.
    //
    Процедура ПослеЗаписиНаСервере(Форма, ТекущийОбъект, ПараметрыЗаписи)Экспорт

    Если Форма.ИмяФормы = "Справочник._ДемоСправочникВладелец.Форма.ФормаЭлемента" Тогда
    Если ТекущийОбъект.ДополнительныеСвойства.Свойство("МассивСсылок") Тогда
    ПараметрыЗаписи.Вставить("МассивСсылок", ТекущийОбъект.ДополнительныеСвойства.МассивСсылок);
    КонецЕсли;
    КонецЕсли;

    КонецПроцедуры

    // В общем модуле "МодификацияКонфигурацииКлиентПереопределяемый" обрабатываем запись формы уже на клиенте.
    // Чтобы все формы подчиненного справочника знали, что нужно перечитать данные из БД, их нужно оповестить об этом.
    //
    Процедура ПослеЗаписи(Форма, ПараметрыЗаписи)Экспорт

    Если Форма.ИмяФормы = "Справочник._ДемоСправочникВладелец.Форма.ФормаЭлемента" Тогда
    Если ПараметрыЗаписи.Свойство("МассивСсылок") Тогда

    // оповещаем формы элементов подчиненного справочника
    Оповестить("_ДемоЗаписьВладельца", ПараметрыЗаписи.МассивСсылок);

    // оповещаем динамические списки
    ОповеститьОбИзменении(Тип("СправочникСсылка._ДемоСправочникЗависимый"));

    КонецЕсли;
    КонецЕсли;

    КонецПроцедуры

    // В общем модуле "СобытияФормКлиент" обрабатываем оповещение о необходимости перечитать данные.
    // Удобство оповещений в том, что данные будут обновлены даже у тех подчиненных элементов,
    // из которых мы не открывали справочник-владелец.
    //
    Процедура ОбработкаОповещения(Форма, ИмяСобытия, Параметр, Источник, ДополнительныеПараметры = Неопределено) Экспорт

    Если ИмяСобытия = "_ДемоЗаписьВладельца"
    И Форма.ИмяФормы = "Справочник._ДемоСправочникЗависимый.Форма.ФормаЭлемента"
    И Параметр.Найти(Форма.Объект.Ссылка) <> Неопределено Тогда
    Форма.Прочитать();
    КонецЕсли;

    КонецПроцедуры
```
---
Если Вам по каким-либо причинам не хочется править общий модуль "СобытияФормКлиент", или по другим причинам нет желания использовать оповещения, обновите форму владельца прямо в клиентском обработчике записи.

```1c
    Процедура ПослеЗаписи(Форма, ПараметрыЗаписи)Экспорт

    Если Форма.ИмяФормы = "Справочник._ДемоСправочникВладелец.Форма.ФормаЭлемента" Тогда
    Если ПараметрыЗаписи.Свойство("МассивСсылок") Тогда

    Если ТипЗнч(Форма.ВладелецФормы) = Тип("УправляемаяФорма")
    И Форма.ВладелецФормы.ИмяФормы = "Справочник._ДемоСправочникЗависимый.Форма.ФормаЭлемента" Тогда
    Форма.ВладелецФормы.Прочитать();
    КонецЕсли;

    КонецЕсли;
    КонецЕсли;

    КонецПроцедуры
```

Но с оповещениями круче. :)
---
Перепроверил сегодня еще раз. Действительно, все работает. Видимо я неудачно "нарвался" на ситуацию, когда ни одного элемента при записи изменено не было и сделал неверный вывод. Спасибо, что обратили мое внимание на этот способ еще раз.