Добрый день.

Есть самописная конфигурация.
Нужно изменить Договор и "переподтянуть" его в Контрагента.
Контрагент владелец справочника договора.

```1c
    договор1 = Договор.ПолучитьОБъект();
    договор1.Организация = Объект.Организация;
    договор1.ОтключитьАвтоНаименование = Истина;
    договор1.Наименование = "1111"
    договор1.Записать();

    контр1 = Контрагент.ПолучитьОбъект();
    контр1.ДоговорПоУмолчанию = договор1;
    контр1.Записать();
```

в Договоре все меняется. А вот в справочнике Контрагенты - старое наименование контрагента. Если открыть в контрагенте договора, то курсор стоит на нужном договоре и имя его новое, перевыбрал и все хорошо. НО как это сделать программно??? Почему не "подтягивается" новый договор???
---
Сработал код в форме обработки:

 ОповеститьОбИзменении(Договор);
---
```1c
    контр1.ДоговорПоУмолчанию = договор1.Ссылка;
```
---
Не меняется Наименование в справочнике Контрагент, хотя если открываю, новое имя.
---
Так вы его и в своем коде не меняете... Может у вас там на форме какой-то обработчик стоит, который по каким-то правилам изменяет наименование при перевыборе.

Нам предстоит попытаться угадать структуру данных вашей самописки?
---
контр1.ДоговорПоУмолчанию = договор1; - Вот здесь я переопределяю его.
---
А причем здесь ДоговорПоУмолчанию, если вы спрашиваете про Наименование контрагента??? Вы это так специально издеваетесь?
И вообще - присваивать любому реквизиту тип "Объект" бесполезное занятие.
---
ДоговорПоУмолчанию - я здесь указываю, измененный договор. и Вот получается представление на форме измененного договора не корректное.
---
Я вам уже ДВА раза указал на ошибку, дальше сами.

Так все-таки - причем здесь "старое наименование контрагента"???
---
Может так сработает?

```1c
    договор1 = Договор.ПолучитьОБъект();
    договор1.Организация = Объект.Организация;
    договор1.ОтключитьАвтоНаименование = Истина;
    договор1.Наименование = "1111"
    договор1.Записать();

    контр1 = Контрагент.ПолучитьОбъект();
    контр1.ДоговорПоУмолчанию = договор1.Ссылка;
    контр1.Записать();
```

Тип СправочникОбъект это не то же самое, что СправочникСсылка.
---
Я уже два раза и код написал, и про Объект написал... Человек просто не хочет потрудиться прочитать ответы.
---
я уже так написал, со ссылкой.
Не отрабатывает.
---
Как выглядит в конфигураторе справочник "Контрагенты" ? Какие в нем есть реквизиты и табличные части?
---
Ну что ж. Начнем по порядку.
1. Из какого модуля код?
2. В какой момент и по какому событию происходит его исполнение?
3. В какой момент хочется увидеть результат?

Вангую:
1. Это модуль формы непонятного субъекта, у которого имеется реквизит "Организация". На форме расположены реквизиты формы "Контрагент" и "Договор".
2. Наверняка это какая-то кнопка с командой, которая переписывает объекты Договора и Контрагента.
3. Результат хочется видеть сразу на форме, но понятное дело, что так не получится. Необходимо после выполнения переименования перечитать данные формы, чтобы на нее подтянулись новые значения, записанные в БД.

PS. Обожаю работать с новичками с их самописками - они такие смешные: че попало понапишут, а потом нормально объяснить не могут своих целей и ожиданий от своих чудес.
---
1. Код - внешняя обработка
2. запускается вручную.
3. после того, как код Выше отработал, я открываю, справочник.Контрагента и справочник.ДоговорКонтрагента.
---
Сработал код в форме обработки:

 ОповеститьОбИзменении(Договор);
---
несколько странно, но тоже хорошо ))
---
Ну так он для ранее открытых форм и срабатывает. Как я и предполагал - чувак ждет обновления в уже открытых формах, и поэтому идет в них же и "перевыбирает" новые значения. Но написать этого своего желания буквами он не умеет.