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