Доброго времени суток!

Подскажите пожалуйста новичку. Почему когда записываю данные в структуру данных типа ТаблицаЗначений, то при записи все данные записываются так как нужно (Строки строками, объекты типом Объект), но когда начинаю перебирать строки с помощью цикла "Для каждого" объекты превращаются в строки?

```1c
    ТаблицаДействий = Новый ТаблицаЗначений;
    ТаблицаДействий.Колонки.Добавить("Наименование");
    ТаблицаДействий.Колонки.Добавить("ИсточникДляЗаполнения");

    Пока Выборка.Следующий() Цикл
    СтрокаТаблицаДействий = ТаблицаДействий.Добавить();
    СтрокаТаблицаДействий.Наименование = Выборка.Ссылка;
    СтрокаТаблицаДействий.ИсточникДляЗаполнения = Выборка.ИсточникДляЗаполнения;
    КонецЦикла;

    Для каждого ТекущаяСтрока из СтрокаТаблицаДействий Цикл //Здесь в СтрокаТаблицаДействий поле Наименование - Объект
    СтрТЧ=Объект.ЗаполнениеРеквизитовДоговора.Добавить();
    СтрТЧ.РеквизитДоговора=ТекущаяСтрока.Наименование; //Здесь в ТекущаяСтрока поле Наименование - Строка
    СтрТЧ.Комментарий=ТекущаяСтрока.ИсточникДляЗаполнения;
    КонецЦикла;
```

Как сделать, чтобы оставалась ссылка?
---
Для каждого ТекущаяСтрока из СтрокаТаблицаДействий Цикл //Здесь в СтрокаТаблицаДействий поле Наименование - Объект
        СтрТЧ=Объект.ЗаполнениеРеквизитовДоговора.Добавить();
        СтрТЧ.РеквизитДоговора=ТекущаяСтрока.Наименование;

Потому что вот здесь ТекущаяСтрока это ссылка уже.
А ТекущаяСтрока.Наименование это наименование договора.

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

```1c
    ТаблицаДействий = Новый ТаблицаЗначений;
    ТаблицаДействий.Колонки.Добавить("Наименование");
    ТаблицаДействий.Колонки.Добавить("ИсточникДляЗаполнения");
```

Таблица значений, а записываю в табличную часть, у которой тип объект, мне и нужно записать объект, но в таблицеЗначений в цикле он превращается в строку и программа ругается, что "Наименование" не является объектом
---
Для каждого ТекущаяСтрока из СтрокаТаблицаДействий Цикл
Вот это зачем вообще?

Почему сразу не заполнять все что надо в Пока Выборка.Следующий() Цикл
Зачем еще таблица значений ТаблицаДействий
---
ну сперва думал передать на клиент эту таблицу и заполнить там

Попробую заполнить на прямую, но всё равно остается вопрос почему так происходит и как с этим бороться?
---
Для каждого ТекущаяСтрока из СтрокаТаблицаДействий Цикл //Здесь в СтрокаТаблицаДействий поле Наименование - Объект
        СтрТЧ=Объект.ЗаполнениеРеквизитовДоговора.Добавить();
        СтрТЧ.РеквизитДоговора=ТекущаяСтрока.Наименование;

Потому что вот здесь ТекущаяСтрока это ссылка уже.
А ТекущаяСтрока.Наименование это наименование договора.

В отладке посмотрите
---
Но это ведь должна быть колонка с названием "Наименование"?

```1c
    ТаблицаДействий.Колонки.Добавить("Наименование");
```

Как тогда обращаться к конкретной колонке?
---
Понял - в цикле нужно перебирать ТаблицаДействий, а не СтрокаТаблицаДействий.
Спасибо!
---
Понял - в цикле нужно перебирать ТаблицаДействий, а не СтрокаТаблицаДействий.
Спасибо!