From 62b410ed4ad697bf4b4f0cede251f1299f41e940 Mon Sep 17 00:00:00 2001
From: Dmitry <b4tm4n@mail.ru>
Date: Mon, 9 Aug 2021 17:05:17 +0300
Subject: [PATCH] parameter to load table at start

---
 РедакторТЗ_XML/Forms/Форма/Ext/Form.xml       | 11 ++++++++++
 .../Forms/Форма/Ext/Form/Module.bsl           | 20 +++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/РедакторТЗ_XML/Forms/Форма/Ext/Form.xml b/РедакторТЗ_XML/Forms/Форма/Ext/Form.xml
index 37b954e..ba7f662 100644
--- a/РедакторТЗ_XML/Forms/Форма/Ext/Form.xml
+++ b/РедакторТЗ_XML/Forms/Форма/Ext/Form.xml
@@ -346,4 +346,15 @@
 			<Action>ЗагрузитьКолонки</Action>
 		</Command>
 	</Commands>
+	<Parameters>
+		<Parameter name="ТаблицаJSON">
+			<Type>
+				<v8:Type>xs:string</v8:Type>
+				<v8:StringQualifiers>
+					<v8:Length>0</v8:Length>
+					<v8:AllowedLength>Variable</v8:AllowedLength>
+				</v8:StringQualifiers>
+			</Type>
+		</Parameter>
+	</Parameters>
 </Form>
\ No newline at end of file
diff --git a/РедакторТЗ_XML/Forms/Форма/Ext/Form/Module.bsl b/РедакторТЗ_XML/Forms/Форма/Ext/Form/Module.bsl
index 5a00c11..392d5e0 100644
--- a/РедакторТЗ_XML/Forms/Форма/Ext/Form/Module.bsl
+++ b/РедакторТЗ_XML/Forms/Форма/Ext/Form/Module.bsl
@@ -44,6 +44,7 @@
 		НовыйЭлемент = Элементы.Добавить(СтрОбТб+"_" +Колонка.Имя, Тип("ПолеФормы"), ЭлементДерево);
 		НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
 		НовыйЭлемент.ПутьКДанным = СтрОбТб+"."+Колонка.Имя;
+		НовыйЭлемент.Заголовок = Колонка.Заголовок; 
 		
 		Если Не ЗначениеЗаполнено(Колонка.Ширина) Тогда 
 			НовыйЭлемент.Ширина = 10;
@@ -194,4 +195,23 @@
 &НаСервере
 Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
 	Формат = "xml";
+	
+	Если Параметры.Свойство("ТаблицаJSON") Тогда
+		ТаблицаJSON = Параметры.ТаблицаJSON;
+		Если Не ПустаяСтрока(ТаблицаJSON) Тогда
+			ЧтениеJSON = Новый ЧтениеJSON;	
+			ЧтениеJSON.УстановитьСтроку(ТаблицаJSON);			
+			ТЗ = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON, Тип("ТаблицаЗначений"));
+			ЧтениеJSON.Закрыть();
+			
+			ВывестиТЗНаФорму(ТЗ, "РеквизитТЗ");
+			Элементы.ГрСтраницы.ТекущаяСтраница = Элементы.Редактирование;
+			
+			Для Каждого ТекКолонка Из ТЗ.Колонки Цикл
+				НовСтр = КолонкиНовойТЗ.Добавить();
+				ЗаполнитьЗначенияСвойств(НовСтр, ТекКолонка, "Имя,Заголовок,Ширина");
+				НовСтр.ТипКолонки = ТекКолонка.ТипЗначения;
+			КонецЦикла;
+		КонецЕсли;
+	КонецЕсли;
 КонецПроцедуры