Здравствуйте, наверное задам банальный вопрос, но подскажите пожалуйста как можно поправить такой код:

```1c
    &НаСервере
    Процедура ПрисоединеннныеФайлыСозданиеНаСервере()
    Выборка = Справочники.ПредварительнаяКалькуляцияПрисоединенныеФайлы.Выбрать();
    Пока Выборка.Следующий() Цикл
    Выборка.СсылкаНаВладельца=Объект.Ссылка
    КонецЦикла;

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

Выдает ошибку:

{Документ.ПредварительнаяКалькуляция.Форма.ФормаДокумента.Форма(250)}: Поле объекта недоступно для записи (СсылкаНаВладельца)
    Выборка.СсылкаНаВладельца=Объект.Ссылка;

Просто пытаюсь при создании из документа присвоить одному из реквизитов справочника нужное значение для отбора.
---
Да, просто подправить и все.

```1c
    Пока Выборка.Следующий() Цикл
    ВыборкаЗапись=Выборка.Ссылка.ПолучитьОбъект();
    ВыборкаЗапись.СсылкаНаВладельца=Объект.Ссылка;
    ВыборкаЗапись.Записать();
    КонецЦикла;
```
---
Сначала сделать Выборка.ПолучитьОбъект(), потом уже полученному объекту присваивать ссылку на владельца и записывать.
---
Если у тебя создание элемента спр.ПредварительнаяКалькуляцияПрисоединенныеФайлы из документа, то зачем делать выборку? Создавай сразу элемент через СоздатьОбъект(), присваивай объекту значения и потом записывай его.
---
```1c
    &НаСервере
    Процедура ПрисоединеннныеФайлыСозданиеНаСервере()
    Выборка = Справочники.ПредварительнаяКалькуляцияПрисоединенныеФайлы.Выбрать();
    Пока Выборка.Следующий() Цикл
    ВыборкаЗапись=Выборка.ПолучитьОбъект();
    ВыборкаЗапись.СсылкаНаВладельца=Объект.Ссылка;
    ВыборкаЗапись.Записать();
    КонецЦикла;

    КонецПроцедуры
```
---
Не вводите человека в заблуждение. Именно из выборки нельзя получить объект. Нужно обратиться к ссылке!

Правильней писать так

```1c
    Выборка.Ссылка.ПолучитьОбъект();
```
---
Не совсем понимаю, так же как написали в (4)?
---
Да, просто подправить и все.

```1c
    Пока Выборка.Следующий() Цикл
    ВыборкаЗапись=Выборка.Ссылка.ПолучитьОбъект();
    ВыборкаЗапись.СсылкаНаВладельца=Объект.Ссылка;
    ВыборкаЗапись.Записать();
    КонецЦикла;
```
---
(4)

```1c
    Вот что выходит при таком коде:
    &НаСервере
    Процедура ПрисоединеннныеФайлыСозданиеНаСервере()
    Выборка = Справочники.ПредварительнаяКалькуляцияПрисоединенныеФайлы.Выбрать();
    Пока Выборка.Следующий() Цикл
    ВыборкаЗапись=Выборка.Ссылка.ПолучитьОбъект();
    ВыборкаЗапись.СсылкаНаВладельца=Объект.Ссылка;
    ВыборкаЗапись.Записать();
    КонецЦикла;

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

Прикрепленные файлы:
---
Выборка.Ссылка.ПолучитьОбъект();
---
Да, исправил, результат тот же(
---
Могу подключиться, посмотреть?
---
не надо в отладчике смотреть обработчик записать. Отладчик пытается вывести результат метода, а для процедуры это сделать не может. Вот и ругается. Эта ошибка никаким боком к самому коду не относится.
---
Не вводите человека в заблуждение. Именно из выборки нельзя получить объект. Нужно обратиться к ссылке!
Это где такому учат? Вот как раз через дополнительное обращение через ссылку, хотя и будет работать, но совсем плохой вариант.
---
Да что вы говорите. Ну пробуйте по-своему и флаг вам в руки.
А проблемы мы уже решили.
---
для начала хоть бы в СП заглянули. Там даже пример есть.
---
Переменная выборка в том контексте в котором использовалась как раз и является Ссылкой!
При таком подходе Выборка.Ссылка.Ссылка.Ссылка.Ссылка.ПолучитьОбъект(); тоже будет работать
---
Вот что выходит при таком коде:
&НаСервере
Процедура ПрисоединеннныеФайлыСозданиеНаСервере()
   Выборка = Справочники.ПредварительнаяКалькуляцияПрисоединенныеФайлы.Выбрать();
   Пока Выборка.Следующий() Цикл
          ВыборкаЗапись=Выборка.ПолучитьОбъект();
          ВыборкаЗапись.СсылкаНаВладельца=Объект.Ссылка;
          ВыборкаЗапись.Записать();
   КонецЦикла;

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