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