Всем привет, пробую заполнить таблицу созданную программно в колонку Товары определенными данными из массива. Но у меня почему-то не получается это сделать.

Я пробовал прописывать вот такой код для заполнения колонки в ТЗ и я вижу ее успешно заполненной, но когда просматриваю в 1С Предприятие то моя созданная таблица становится пустой. Видно я что-то делаю не так.

Как выглядит моя пустая таблица созданная программно

Вот что я вижу в Таблице значений после выполнения всей процедуры

А получаю пустую Таблицу с Товарами

Отрывок кода заполнения таблицы:

```1c
    //заполняю строки колонки Товар
    МассивТ = Новый Массив;
    МассивТ.Добавить("Карандаш");
    МассивТ.Добавить("Ручка");
    МассивТ.Добавить("Пенал");
    МассивТ.Добавить("Тетрадь");

    Для Сч = 0 По МассивТ.Количество()-1 Цикл
    СтрокаТЗ = ТЗ.Добавить();
    СтрокаТЗ.Товар = МассивТ[Сч];
    КонецЦикла;
```

Пробовал также другой метод заполнения через метод ЗаполнитьЗначения, но в отладчике мои Товары в этом случае были пустые.

```1c
    //заполняю строки колонки Товар
    МассивТ = Новый Массив;
    МассивТ.Добавить("Карандаш");
    МассивТ.Добавить("Ручка");
    МассивТ.Добавить("Пенал");
    МассивТ.Добавить("Тетрадь");

    ТЗ.ЗаполнитьЗначения(МассивТ, "Товар");
```

Вот как создается моя таблица

```1c
    МассивТипаВыбора = Новый Массив;
    МассивТаблицыЗначений = Новый Массив;
    МассивРеквизитов = Новый Массив;
    ОписаниеТипаВыбора = Новый ОписаниеТипов("ТаблицаЗначений");
    МассивТаблицыЗначений.Добавить(Новый РеквизитФормы("Список" + ДаннаяСтраница, ОписаниеТипаВыбора, ", "ТЗН"));
    ИзменитьРеквизиты(МассивТаблицыЗначений);

    ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("Товар", Новый ОписаниеТипов("Строка"));

    Для Сч = 1 По ПоставщикиМенеджера.Количество() Цикл
    ТЗ.Колонки.Добавить("П" + Сч);
    КонецЦикла;

    Для Каждого Колонка Из ТЗ.Колонки Цикл
    МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "Список" + ДаннаяСтраница + "."));
    КонецЦикла;

    ИзменитьРеквизиты(МассивРеквизитов);
    ТаблицаПолейВыбора = Элементы.Добавить("ТЗН" + ДаннаяСтраница, Тип("ТаблицаФормы"), Элементы.ГруппаСтраницы.ПодчиненныеЭлементы[ДаннаяСтраница]);
    ТаблицаПолейВыбора.ПутьКДанным = "Список" + ДаннаяСтраница + ".";
    ТаблицаПолейВыбора.Отображение = ОтображениеТаблицы.Список;

    МассивТ = Новый Массив;
    МассивТ.Добавить("Карандаш");
    МассивТ.Добавить("Ручка");
    МассивТ.Добавить("Пенал");
    МассивТ.Добавить("Тетрадь");

    //заполняю строки колонки Товар
    Для Сч = 0 По МассивТ.Количество()-1 Цикл
    СтрокаТЗ = ТЗ.Добавить();
    СтрокаТЗ.Товар = МассивТ[Сч];
    КонецЦикла;

    //ТЗ.ЗаполнитьЗначения(МассивТ, "Товар");

    Ск = 0;
    Для Каждого Колонка Из ТЗ.Колонки Цикл

    Если Колонка.Имя = "Товар" Тогда
    ДобавитьНовыйЭлемент(Колонка.Имя + ДаннаяСтраница, Тип("ПолеФормы"),ТаблицаПолейВыбора, "Список" + ДаннаяСтраница + "." + Колонка.Имя);
    КонецЕсли;

    Если Колонка.Имя <> "Товар" Тогда
    ИмяСтаршейГруппы = Колонка.Имя + "Группа" + ДаннаяСтраница;
    ДобавитьГруппу(ИмяСтаршейГруппы, Тип("ГруппаФормы"), ТаблицаПолейВыбора);

    //ДобавитьНовыйЭлемент(Колонка.Имя,Тип("ПолеФормы"),Элементы[Колонка.Имя + "Группа"],"Список." + Колонка.Имя);

    ИмяМладшейГруппы = "ГруппаКолонок" + Колонка.Имя + ДаннаяСтраница;

    ДобавитьГруппу(ИмяМладшейГруппы, Тип("ГруппаФормы"), Элементы[ИмяСтаршейГруппы]);

    //Описание добавляемых реквизитов
    ДобавляемыеРеквизиты = Новый Массив;
    Тест = Новый РеквизитФормы("Цена" + Ск, Новый ОписаниеТипов("Строка"),"Список" + ДаннаяСтраница + "." , "Цена", Истина);
    ДобавляемыеРеквизиты.Добавить(Тест);
    //Изменение состава реквизитов
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);

    ДобавитьНовыйЭлемент(Колонка.Имя + "Цена" + ДаннаяСтраница, Тип("ПолеФормы"), Элементы[ИмяМладшейГруппы], "Список" + ДаннаяСтраница + "." + ДобавляемыеРеквизиты[0].Имя);

    //Описание добавляемых реквизитов
    ДобавляемыеРеквизиты = Новый Массив;
    Тест = Новый РеквизитФормы("Количество" + Ск, Новый ОписаниеТипов("Строка"),"Список" + ДаннаяСтраница + "." , "Количество", Истина);
    ДобавляемыеРеквизиты.Добавить(Тест);
    //Изменение состава реквизитов
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);

    ДобавитьНовыйЭлемент(Колонка.Имя + "Количество" + ДаннаяСтраница, Тип("ПолеФормы"), Элементы[ИмяМладшейГруппы], "Список" + ДаннаяСтраница + "." + ДобавляемыеРеквизиты[0].Имя);

    //Описание добавляемых реквизитов
    ДобавляемыеРеквизиты = Новый Массив;
    Тест = Новый РеквизитФормы("Комментарий" + Ск, Новый ОписаниеТипов("Строка"),"Список" + ДаннаяСтраница + "." , "Комментарий", Истина);
    ДобавляемыеРеквизиты.Добавить(Тест);
    //Изменение состава реквизитов
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);

    ДобавитьНовыйЭлемент(Колонка.Имя + "Комментарий" + ДаннаяСтраница, Тип("ПолеФормы"), Элементы[ИмяМладшейГруппы], "Список" + ДаннаяСтраница + "." + ДобавляемыеРеквизиты[0].Имя);

    Элементы[ИмяМладшейГруппы].Группировка = ГруппировкаКолонок.Горизонтальная;
    Элементы[ИмяМладшейГруппы].ОтображатьВШапке = Истина;

    КонецЕсли;

    Ск = Ск + 1;

    КонецЦикла;
```

Я понимаю что Таблица Значений хранит промежуточные значения, но пока не знаю некоторые ее особенности. Наверно нужно делать это как-то по другому чтобы заполнить мою колонку
---
Для Сч = 0 По МассивТ.Количество()-1 Цикл
          СтрокаТЗ = ТЗ.Добавить();
          СтрокаТЗ.Товар = МассивТ[Сч];
КонецЦикла;

Вы заполняете ТЗ, а нужно реквизит формы заполнять, т.е. должно быть:

```1c
    Для Сч = 0 По МассивТ.Количество()-1 Цикл
    СтрокаТЗ = ЭтотОбъект.["Список" + ДаннаяСтраница].Добавить();
    СтрокаТЗ.Товар = МассивТ[Сч];
    КонецЦикла;
```

Либо после заполнения ТЗ сделать:

```1c
    ЭтотОбъект.["Список" + ДаннаяСтраница].Загрузить(ТЗ);
```
---
Для Сч = 0 По МассивТ.Количество()-1 Цикл
          СтрокаТЗ = ТЗ.Добавить();
          СтрокаТЗ.Товар = МассивТ[Сч];
КонецЦикла;

Вы заполняете ТЗ, а нужно реквизит формы заполнять, т.е. должно быть:

```1c
    Для Сч = 0 По МассивТ.Количество()-1 Цикл
    СтрокаТЗ = ЭтотОбъект.["Список" + ДаннаяСтраница].Добавить();
    СтрокаТЗ.Товар = МассивТ[Сч];
    КонецЦикла;
```

Либо после заполнения ТЗ сделать:

```1c
    ЭтотОбъект.["Список" + ДаннаяСтраница].Загрузить(ТЗ);
```