Добрый день, столкнулся с проблемой программного создания табицы на форме, создаю реквизит формы(таблица, ПутьКДанным - Объект.Движения.Таблица), создаю элемент формы, но проблема заключается в том, что когда я выгружаю набор записей, чтобы создать колонки, то там у меня нет колонки с типом картинка(как это было на ОФ), и не совсем понимаю, как мне в программный элемент формы(таблицу) добавить колонку с картинкой, подскажите пожалуйста, уже всё перепробовал, что можно
---
Цитата "Колонку с картинкой можно связать с колонкой данных, содержащих значение типов Число или Булево" из https://its.1c.ru/db/metod8dev/content/4271/hdoc
Смоделировал на примере документа ПереносДанных или КорректировкаРегистров в ERP.
Т.е. если мы используем именно произвольную таблицу движений в документе, то в ней:
1. Добавляем к каждой таблице движений реквизит Картинка

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

2. Добавляем новое поле на форму

```1c
    ПолеФормы = Элементы.Вставить(ТаблицаФормы.Имя + "Картинка", Тип("ПолеФормы"), ТаблицаФормы, Элементы[ТаблицаФормы.Имя + "Период"]);
    ПолеФормы.ПутьКДанным = ТаблицаФормы.ПутьКДанным + ".Картинка";
    ПолеФормы.Вид = ВидПоляФормы.ПолеКартинки;
    ПолеФормы.КартинкаЗначений = БиблиотекаКартинок.Наборы;
    ПолеФормы.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
```

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

```1c
    Для Каждого Строка Из Объект.Движения[ИмяРегистра] Цикл
    Строка.Картинка = Строка.ВидДвижения = ВидДвиженияНакопления.Приход;
    КонецЦикла;
```

Сразу уточню, что обход всех движений и заполнение индекса картинки в цикле мне не нравится, но если этих данных изначально нет в регистре и это именно таблица движений, а не произвольный запрос (например в динамическом списке), то вариантов не вижу, чтобы привязать картинку к данным.
---
По идее, указываешь вид элемента колонки - поле картинки и заполняешь поле Картинка значений
---
Как сделать не программно, это понятно, у меня создаётся программно сначала реквизиты формы (таблица формы и поле формы), у них ПутьКДанным = Объект.Движения.Таблица(у обоих), после создаётся таблица на форме и добавляются все реквизиты, форма отрисовывается, всё отлично, после создания колонок, я делаю ЭтотОбъект[ИмяТаблицы].Добавить() и по итогу у меня есть все реквизиты, кроме программно созданного реквизита(картинка), не пойму в чем проблема...
---
Возможно кто-то подскажет, вот весь код по созданию реквизита форма + элемента формы, заполнение колонок и его заполнение значениями

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

    НовыйРеквизит = Новый РеквизитФормы("КартинкаРегистра", Новый ОписаниеТипов("Картинка"), "Объект.Движения.Таблица" , , Истина);
    ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);

    ИзменитьРеквизиты(ДобавляемыеРеквизиты);;

    // На странице регистра создаем таблицу
    ИмяТаблицы = СтрокаРегистров.Имя + "1";
    ТекТаблица = Элементы.Найти(ИмяТаблицы);
    Если ТекТаблица <> Неопределено Тогда
    Элементы.Удалить(ТекТаблица);
    КонецЕсли;
    ТекТаблица = Элементы.Добавить(ИмяТаблицы, Тип("ТаблицаФормы"), НоваяСтраница);
    ПутьКДаннымТаблицы = СтрокаРегистров.Имя + "НаборЗаписей";
    ТекТаблица.ПутьКДанным = "Объект.Движения." + СтрокаРегистров.Имя;

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

    РеквизитыНабораЗаписей = Объект["Движения"][СтрокаРегистров.Имя].Выгрузить(Новый Массив);

    Если РеквизитыНабораЗаписей.Колонки.Найти("ИсходныйНомерСтроки") <> Неопределено Тогда
    РеквизитыНабораЗаписей.Колонки.Удалить("ИсходныйНомерСтроки");
    КонецЕсли;

    // Создаем колонки таблицы
    Для каждого КолонкаРеквизита Из РеквизитыНабораЗаписей.Колонки Цикл
    Если КолонкаРеквизита.Имя = "КартинкаРегистра" Тогда
    Продолжить;
    КонецЕсли;

    ИмяКолонки = ИмяТаблицы + КолонкаРеквизита.Имя;
    ТекКолонка = Элементы.Найти(ИмяКолонки);

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

    ТекКолонка.Заголовок = КолонкаРеквизита.Заголовок;
    ТекКолонка.Вид = ВидПоляФормы.ПолеВвода;
    ТекКолонка.ПутьКДанным = ТекТаблица.ПутьКДанным + "." + КолонкаРеквизита.Имя;

    Если КолонкаРеквизита.Имя = "НомерСтроки" Тогда
    ТекКолонка.Ширина = 2;
    ТекКолонка.Заголовок = "№";
    ТекКолонка.Вид = ВидПоляФормы.ПолеВвода;
    ИначеЕсли КолонкаРеквизита.Имя = "ВидДвижения" Тогда
    ТекКолонка.Ширина = 11;
    КонецЕсли;

    ВидимостьКолонки = КолонкаРеквизита.Имя = "Регистратор" Или КолонкаРеквизита.Имя = "Период" Или КолонкаРеквизита.Имя = "Активность";
    ТекКолонка.Видимость = НЕ ВидимостьКолонки;

    КонецЦикла;

    КартинкаПриход = БиблиотекаКартинок.СоздатьЭлементСписка;
    КартинкаРасход = БиблиотекаКартинок.Удалить;
    // Заполним таблицу формы
    Для Каждого СтрокаДвижения Из Объект.Движения[СтрокаРегистров.Имя] Цикл

    ИмяТаблицаДобавления = Лев(ТекТаблица.Имя, СтрДлина(ТекТаблица.Имя) - 1) + "НаборЗаписей";
    НовСтр = ЭтотОбъект[ИмяТаблицаДобавления].Добавить();
    ЗаполнитьЗначенияСвойств(НовСтр, СтрокаДвижения);

    КонецЦикла;
```
---
Цитата "Колонку с картинкой можно связать с колонкой данных, содержащих значение типов Число или Булево" из https://its.1c.ru/db/metod8dev/content/4271/hdoc
Смоделировал на примере документа ПереносДанных или КорректировкаРегистров в ERP.
Т.е. если мы используем именно произвольную таблицу движений в документе, то в ней:
1. Добавляем к каждой таблице движений реквизит Картинка

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

2. Добавляем новое поле на форму

```1c
    ПолеФормы = Элементы.Вставить(ТаблицаФормы.Имя + "Картинка", Тип("ПолеФормы"), ТаблицаФормы, Элементы[ТаблицаФормы.Имя + "Период"]);
    ПолеФормы.ПутьКДанным = ТаблицаФормы.ПутьКДанным + ".Картинка";
    ПолеФормы.Вид = ВидПоляФормы.ПолеКартинки;
    ПолеФормы.КартинкаЗначений = БиблиотекаКартинок.Наборы;
    ПолеФормы.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
```

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

```1c
    Для Каждого Строка Из Объект.Движения[ИмяРегистра] Цикл
    Строка.Картинка = Строка.ВидДвижения = ВидДвиженияНакопления.Приход;
    КонецЦикла;
```

Сразу уточню, что обход всех движений и заполнение индекса картинки в цикле мне не нравится, но если этих данных изначально нет в регистре и это именно таблица движений, а не произвольный запрос (например в динамическом списке), то вариантов не вижу, чтобы привязать картинку к данным.
---
Спасибо за помощь, сглупил когда начал создавать реквизит формы "набор записей"(увидел в какой-то статье и там советовали сделать именно так), собрал свой код заново по вашим пунктам и всё отлично заработало, потому что таблицу на форму тянул напрямую из движений, а свою созданную. Благодарю еще раз!