Как программно добавить колонки и не потерять настройки колонок созданных в Табличном поле формы?

Версия для печатиPDF-версия
Имеется Табличное поле, в которое выводится дерево значения, формируемое циклами из трех таблиц, заполняющихся из запросов.
 
В табличном полеимеется ряд колонок, которые имеют настройки. 
Также в табличном поле 2 процедуры ПриИзмененииФлажка и ПриВыводеСтроки.
Все работает, как нужно (ну, или по крайней мере, пока сгодится…)
 
Но стоит задача, по одной из таблиц выводить (добавлять) колонки, в зависимости от количества и значений строк таблиц (циклом)

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


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

		Для Каждого СтрокаДатыПоступления Из ТаблицаРезультатДатаПоступления Цикл
		
		
		мДатаПоступления = СтрЗаменить(Формат(СтрокаДатыПоступления.ДатаПоступления, "ДЛФ=D" ),".","");
		мДатаПоступления = СтрЗаменить(мДатаПоступления," ","");
		нИмяКолонки = "Д" + мДатаПоступления + "";

		НовыйЭлемент = ЭлементыФормы.ТеблицаДереваЗначенийЗаказов.Колонки.Добавить(нИмяКолонки);
		НовыйЭлемент.УстановитьЭлементУправления(Тип("ПолеВвода"));
		НовыйЭлемент.Видимость = Истина;
		НовыйЭлемент.Доступность = Истина;
		НовыйЭлемент.Ширина = 10;
		НовыйЭлемент.ТекстШапки = Формат(СтрокаДатыПоступления.ДатаПоступления, "ДЛФ=D" );		

	КонецЦикла;
 Но второй Вариант не работает на заполнение…
 
Заполняю колонки в цикле, по другой таблице:

		мДатаПоступления = СтрЗаменить(Формат(ТекЗаказ.ДатаПоступления, "ДЛФ=D" ),".","");
		мДатаПоступления = СтрЗаменить(мДатаПоступления," ","");
		нИмяКолонки = "Д" + мДатаПоступления + "";				

				
				НовыйЗаказПоставщика[нИмяКолонки] = ТекЗаказ.ДатаПоступления;
 Отражения на экранет нет без:

ЭлементыФормы.ТеблицаДереваЗначенийЗаказов.СоздатьКолонки();

 

 
И тут начинаются проблемы…
 
Таблица теряет процедуры и все настройки
Пробовал настроить каждую колонку, но все это не то.
 
Вопрос:
 
Подскажите, пожалуйста, как можно вывести значения (данные) на экран, не ломая ТабличноеПоле?

Путем множества экспериментов, проб и ошибок, нашел решение:


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

		           ТаблицаПолучатель = ДеревоЗначенийЗаказов;
				   ЭфТаблицаПолучатель = ЭлементыФормы.ТаблицаДереваЗначенийЗаказов;

				Имя = мИмяКолонки; 
				ТипЗначения = Новый ОписаниеТипов ("Дата");
				Заголовок = мЗаголовок; 
				Ширина = 6; 
			
				ТаблицаПолучатель.Колонки.Добавить(Имя, ТипЗначения, Заголовок, Ширина);
				
				СовпадающаяКолонка = ТаблицаПолучатель.Колонки.Найти(Имя);
				
			Если СовпадающаяКолонка <> Неопределено Тогда 

			    Индекс = ТаблицаПолучатель.Колонки.Индекс(СовпадающаяКолонка);
				
				НоваяКолонкаДаты = ЭфТаблицаПолучатель.Колонки.Вставить(Индекс, Имя, , Заголовок, Ширина); 
				НоваяКолонкаДаты.Данные = Имя;
				НоваяКолонкаДаты.ТекстШапки = Заголовок;
				
			КонецЕсли;
		
	     КонецЦикла;

Создает необходимое количество колонок с необходимыми характеристикам, все адекватно отражается.