Все привет! Ненавижу обычные формы... Но жизнь заставляет с ними работать.

Описание:
Есть форма обработки.
На форме есть ТаблицаЗначений, далее после "каких-то" действий я ее переопределяю в ДокументСписок, таким образом:

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

Ну, что сказать данные выводятся шикарно, все как нужно НО когда я хочу сделать отбор, то я не вижу колонок для отбора, как мне добавить колонку для возможности отбора по ней.
Смотрите скрин.
---
```1c
    НоваяКолонка = ЭлементыФормы.СписокДокументов.Колонки.Добавить(Колонка.Имя);
    ЗаполнитьЗначенияСвойств(НоваяКолонка, Колонка);
    Если СписокДокументов.Отбор.Найти(Колонка.Имя)<>Неопределено Тогда
    ЭлементыФормы.СписокДокументов.НастройкаОтбора[Колонка.Имя].Доступность=Истина;
    КонецЕСли;
```
---
```1c
    СписокДокументов.Отбор.Добавить(
```
---
Не сработает, так как данные для табличного поля не заданы (смотрите мой пост (4) ).
---
```1c
    НоваяКолонка = ЭлементыФормы.СписокДокументов.Колонки.Добавить(Колонка.Имя);
    ЗаполнитьЗначенияСвойств(НоваяКолонка, Колонка);
    Если СписокДокументов.Отбор.Найти(Колонка.Имя)<>Неопределено Тогда
    ЭлементыФормы.СписокДокументов.НастройкаОтбора[Колонка.Имя].Доступность=Истина;
    КонецЕСли;
```
---
Спасибо! Почти заработало. рассказываю по строчкам вашего кода:

```1c
    Если СписокДокументов.Отбор.Найти(Колонка.Имя)<>Неопределено Тогда
```

не работает, так как это идет обращение к источнику данных, а у меня источник данных для табличного поля не задан(см. картинку), т.к. если я его в конфигураторе задам то потом не смогу переопределить ЭлементыФормы.СписокДокументов.ТипЗначения, вылетет ошибка... И насколько я понял то программно его задать нельзя(если можно то подскажите, как?)

Однако, вот этот код отработал, хорошо

```1c
    ЭлементыФормы.СписокДокументов.НастройкаОтбора[Колонка.Имя].Доступность=Истина;
```
---
Тип значения как раз и можно менять только если нет связи с данными. Набросала вот
---
Спасибо catena за помощь.
Вот мой метод решения на моем примере, с пояснениями:

```1c
    // Переопределяем табличное поле
    ЭлементыФормы.СписокДокументов.ТипЗначения = Новый ОписаниеТипов("ДокументСписок."+ЭтаФорма.ВидДокументов);
    // Получаем форму списка по умолчанию для выранного документа
    ФормаСписка = Документы[ЭтаФорма.ВидДокументов].ПолучитьФормуСписка();
    // Ищем таблицу в полученной форме
    ЭлементФормы = ФормаСписка.ЭлементыФормы.Найти("ДокументСписок");
    Если ЭлементФормы = Неопределено Тогда
    Возврат;
    КонецЕсли;
    // Перебираем все колонки найденной таблицы, для того чтобы в своей таблице создать такие же
    Для Каждого Колонка Из ЭлементФормы.Колонки Цикл
    // Создаем в своей таблице новую колонку такую же как и в найденной таблице
    НоваяКолонка = ЭлементыФормы.СписокДокументов.Колонки.Добавить(Колонка.Имя);
    ЗаполнитьЗначенияСвойств(НоваяКолонка, Колонка);
    // Проверяем разрешен ли отбор в найденной таблице по текущей колонке и если "да", то разрешаем и у себя
    Если ЭлементыФормы.СписокДокументов.НастройкаОтбора.Найти(Колонка.Имя) <> Неопределено Тогда
    ЭлементыФормы.СписокДокументов.НастройкаОтбора[Колонка.Имя].Доступность = Истина;
    КонецЕсли;
    // Проверяем разрешена ли сортировка в найденной таблице по текущей колонке и если "да", то разрешаем и у себя
    Если ЭлементыФормы.СписокДокументов.НастройкаПорядка.Найти(Колонка.Имя) <> Неопределено Тогда
    ЭлементыФормы.СписокДокументов.НастройкаПорядка[Колонка.Имя].Доступность = Истина;
    КонецЕсли;
    КонецЦикла;
```