Как поменять родителя второго уровня?
Пробую так,но выдает ошибку: Метод объекта не обнаружен (Записать)
     ОбъектРодитель.Записать();

```1c
    НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоКоду(СокрЛП("000011111"));
    Контрагент = НайденныйКонтрагент.ПолучитьОбъект();
    ОбъектРодитель = Контрагент.Родитель.Родитель.ПолучитьОбъект();
    ОбъектРодитель = Справочники.Контрагенты.НайтиПоКоду("011111111");
    ОбъектРодитель.Записать();
```
---
так у Родителя свой родитель, вставляйте столько .Родитель сколько нужно
только добавьте проверку на наличие/заполненность родителя

а то будете пенять родителя 5-го уровня, а объект у вас из 2-уровня!

а код примерно такой-же

```1c
    Контрагент = Справочники.Контрагенты.НайтиПоКоду(СокрЛП("000011111"));
    //Контрагент = НайденныйКонтрагент.ПолучитьОбъект();
    лкРодитель = Контрагент.Родитель.Родитель.ПолучитьОбъект();
    Если ЗначениеЗаполнено(лкРодитель) Тогда
    ОбъектРодитель = лкРодитель.ПолучитьОбъект();
    ОбъектРодитель.Родитель = Справочники.Контрагенты.НайтиПоКоду("011111111");
    ОбъектРодитель.Записать();
    Иначе
    Сообщить("Нарушение уровня вложенности.");
    //или заполнять родителей предыдущих уровней
    КонецЕсли;
```
---
Если вместо

```1c
    ОбъектРодитель.Записать();
```

сделать так

```1c
    Контрагент.Записать();
```

ошибку не выдает,но ничего не меняется
---
ну потому что можно менять реквизиты полученного объекта.
Получен объект "Контрагент".
У него есть реквизит "Родитель".
А реквизита "Родитель.Родитель" у него нет.
Потому что в 1С реквизиты с точкой в имени не бывают.
---
как правильно сделать?
---
ну немного же осталось.
Второй Родитель - это реквизит чего? Какого объекта?
---
А чего у вас 2 раза ОбъектРодитель переопределяется. Соответственно во второй раз ОбъектРодитель имеет тип СправочникСсылка, а для записи необходимо получить СправочникОбъект
---
```1c
    ОбъектРодитель = Контрагент.Родитель.Родитель.ПолучитьОбъект();
    ОбъектРодитель = Справочники.Контрагенты.НайтиПоКоду("011111111");
```

Здесь не дочёт. 1 строка сам объект , Но зачем искать дальше???? Вы получаете ссылку. Ссылку сохранить нельзя.
---
так вроде так надо

НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоКоду(СокрЛП("000011111"));
Контрагент = НайденныйКонтрагент.ПолучитьОбъект();
ОбъектРодитель = Контрагент.Родитель.ПолучитьОбъект();
              ОбъектРодитель.Родитель = Справочники.Контрагенты.НайтиПоКоду("011111111");
              ОбъектРодитель.Записать();
---
мне нужно перенести Контрагент.Родитель.Родитель. А так перемещается Контрагент.Родитель
---
так у Родителя свой родитель, вставляйте столько .Родитель сколько нужно
только добавьте проверку на наличие/заполненность родителя

а то будете пенять родителя 5-го уровня, а объект у вас из 2-уровня!

а код примерно такой-же

```1c
    Контрагент = Справочники.Контрагенты.НайтиПоКоду(СокрЛП("000011111"));
    //Контрагент = НайденныйКонтрагент.ПолучитьОбъект();
    лкРодитель = Контрагент.Родитель.Родитель.ПолучитьОбъект();
    Если ЗначениеЗаполнено(лкРодитель) Тогда
    ОбъектРодитель = лкРодитель.ПолучитьОбъект();
    ОбъектРодитель.Родитель = Справочники.Контрагенты.НайтиПоКоду("011111111");
    ОбъектРодитель.Записать();
    Иначе
    Сообщить("Нарушение уровня вложенности.");
    //или заполнять родителей предыдущих уровней
    КонецЕсли;
```