3
dark70
04.05.25
✎
18:35
|
Можно проще.
ТабВКоде - ТЗ программно
ТабРеквизит - реквизит на форме ТаблицаЗначений
ТабНаФорме - элемент формы->ТабРеквизит
&НаСервере
Процедура ВывестиТаблицуЗначенияВКодеВТаблицуНаФорме(ТабВКоде, ТабРеквизит, ТабНаФорме)
НовыеРеквизиты = Новый Массив;
Для Каждого Колонка Из ТабВКоде.Колонки Цикл
НовыеРеквизиты.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения,ТабРеквизит));
КонецЦикла;
ИзменитьРеквизиты(НовыеРеквизиты);
Для Каждого Колонка Из ТабВКоде.Колонки Цикл
НовыйЭлемент = Элементы.Добавить(
ТабРеквизит + "_" + Колонка.Имя, Тип("ПолеФормы"), Элементы[ТабНаФорме]
);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = ТабРеквизит + "." + Колонка.Имя;
КонецЦикла;
ЗначениеВРеквизитФормы(ТабВКоде, ТабРеквизит);
КонецПроцедуры
&НаСервере
Процедура СоздатьТаблицуНаФормеНаСервере()
ТабВКоде = Новый ТаблицаЗначений;
ТабВКоде.Колонки.Добавить("Колонка1", Новый ОписаниеТипов("Строка"));
ТабВКоде.Колонки.Добавить("Колонка2", Новый ОписаниеТипов("Строка"));
ТабВКоде.Колонки.Добавить("Колонка3", Новый ОписаниеТипов("Строка"));
СтрВКоде = ТабВКоде.Добавить();
СтрВКоде.Колонка1 = "111";
СтрВКоде.Колонка2 = "222";
СтрВКоде.Колонка3 = "333";
ВывестиТаблицуЗначенияВКодеВТаблицуНаФорме(ТабВКоде, "ТабРеквизит", "ТабНаФорме");
КонецПроцедуры
&НаКлиенте
Процедура СоздатьТаблицуНаФорме(Команда)
СоздатьТаблицуНаФормеНаСервере();
КонецПроцедуры
|
|