Ребята, я пытаюсь сделать динамический список в обычных формах. В форму списка справочника одно поле (а конкретно Владелец) будет браться из регистра сведений, ну т.е. оно изменяемое и мне именно его и нужно отображать зрителям. Я сделала так:

```1c
    Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)

    ОтборВл = Новый Структура;

    Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл

    ЗначениеКолонка = ОформлениеСтроки.Ячейки.Наименование.Текст;

    ОтборВл.Вставить("Скважина", Справочники.Скважина.НайтиПоНаименованию(ЗначениеКолонка));

    РегВладелец = РегистрыСведений.ВладельцыСкважин.ПолучитьПоследнее(ТекущаяДата(), ОтборВл).Водозабор;
    Если РегВладелец <> Справочники.Водозабор.ПустаяСсылка() Тогда
    ОформлениеСтроки.Ячейки.Владелец.Значение = РегВладелец;
    КонецЕсли;

    КонецЦикла;

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

Но ругается, конечно, на то, что я пытаюсь ссылке присвоить значение. Но прикол в том, что список же будет меняется данным из регистра и применять ПолучитьОбъект(), чтобы насильно "засандалить" нового владельца не очень хочется, как быть в такой ситуации? Обычные формы.
---
Совсем не айс..
1. что мешает добавить новую колонку и в нее записывать нужное значение? (будет 2 колонки, а при сильном желании, основную можно так же программно скрыть)
2. гораздо производительнее будет переписать алгоритм так, что бы в цикле запрос не фигурировал.

например:

```1c
    Колонки = ЭлементыФормы.ИмяЭлементаСпискаЗначений.Колонки;
    Колонка = Колонки.Добавить("Водозабор", , "Водозабор")"; //Добавляем новую
    Колонки.Владелец.Видимость = ложь; //скрываем старую

    Запрос = Новый Запрос;
    Запрос.Текст = "Выбрать т.Скважина, т.Водозабор ИЗ РегистрыСведений.ВладельцыСкважин.СрезПоследних(,Скважина В (&МассивСкважин) И Водозабор <> Значение(Справочники.Водозабор.ПустаяСсылка)) КАК т";
    //Если не предполагается что в регистр записи могут попадать будущим числом - отбор по периоду можно не ставить.

    Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)

    МассивСкважин = новый Массив;

    Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    МассивСкважин.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка);
    КонецЦикла;

    Запрос.УстановитьПараметр("МассивСкважин",МассивСкважин);
    Результат = Выборка.Выполнить();

    Если НЕ Результат.Пустой() Тогда
    ТЗ = Результат.Выгрузить();

    Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    СтрокаВТЗ = ТЗ.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "Скважина");
    Если СтрокаВТЗ <> Неопределено Тогда
    ОформлениеСтроки.Ячейки.Владелец.УстановитьТекст(СтрокаВТЗ.Водозабор);
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;

    КонецПроцедуры
```
---
Совсем не айс..
1. что мешает добавить новую колонку и в нее записывать нужное значение? (будет 2 колонки, а при сильном желании, основную можно так же программно скрыть)
2. гораздо производительнее будет переписать алгоритм так, что бы в цикле запрос не фигурировал.

например:

```1c
    Колонки = ЭлементыФормы.ИмяЭлементаСпискаЗначений.Колонки;
    Колонка = Колонки.Добавить("Водозабор", , "Водозабор")"; //Добавляем новую
    Колонки.Владелец.Видимость = ложь; //скрываем старую

    Запрос = Новый Запрос;
    Запрос.Текст = "Выбрать т.Скважина, т.Водозабор ИЗ РегистрыСведений.ВладельцыСкважин.СрезПоследних(,Скважина В (&МассивСкважин) И Водозабор <> Значение(Справочники.Водозабор.ПустаяСсылка)) КАК т";
    //Если не предполагается что в регистр записи могут попадать будущим числом - отбор по периоду можно не ставить.

    Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)

    МассивСкважин = новый Массив;

    Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    МассивСкважин.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка);
    КонецЦикла;

    Запрос.УстановитьПараметр("МассивСкважин",МассивСкважин);
    Результат = Выборка.Выполнить();

    Если НЕ Результат.Пустой() Тогда
    ТЗ = Результат.Выгрузить();

    Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    СтрокаВТЗ = ТЗ.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "Скважина");
    Если СтрокаВТЗ <> Неопределено Тогда
    ОформлениеСтроки.Ячейки.Владелец.УстановитьТекст(СтрокаВТЗ.Водозабор);
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;

    КонецПроцедуры
```
---
ОформлениеСтроки.Ячейки.Владелец.Значение = РегВладелец;
В оформлении строк нельзя менять Владельца ячейки, так как оформление строк - подчиненный строкам объект, который реализует оформление данных строк (логично следует из названия).
Все что можно менять в объекте ОформлениеСтроки - это свойства оформления - цвета, шрифты, текст и т.п.
Владельца менять нельзя, потому что оформление привязано к конкретной ячейке, нет смысла менять привязку, все оформление "поплывет".
Изначально, ОформлениеСтроки задумано как объект, в котором будут доп. свойства ячеек Табличного документа в зависимости от контекста, в котором он выводится (на экран или на принтер).
Если вы поймете такие простые вещи, у вас больше не возникнет мысли менять привязку ячеек объекта ОформлениеСтроки к ячейкам Табличного документа.
А свойство поменять можно и нужно.
Например, текст
ОформлениеСтроки.Ячейки.Владелец.УстановитьТекст(СтрокаВТЗ.Водозабор);

Или шрифт и др. свойства
---
Я все поняла, спасибо за развернутые ответы!