1С8, Пример программного добавления элементов на форму (управляемые формы)

 

//Добавление реквизитов
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("РеквизитСтрока1", Новый ОписаниеТипов("Строка")));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("РеквизитЧисло1", Новый ОписаниеТипов("Число")));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Таблица1", Новый ОписаниеТипов("ТаблицаЗначений")));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Таблица1НомерПП", Новый ОписаниеТипов("Строка"), "Таблица1"));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Таблица1Колонка1", Новый ОписаниеТипов("Число"), "Таблица1"));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Таблица1Колонка2", Новый ОписаниеТипов("Строка"), "Таблица1"));
ИзменитьРеквизиты(ДобавляемыеРеквизиты);

Группа1 = Элементы.Вставить("Группа1", Тип("ГруппаФормы"));
Группа1.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Группа1.ОтображатьЗаголовок = Ложь;
Группа1.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная;

ПолеФормы = Элементы.Вставить("РеквизитСтрока1", Тип("ПолеФормы"), Группа1);
ПолеФормы.Заголовок = "Реквизит Строка1";
ПолеФормы.Вид = ВидПоляФормы.ПолеВвода;
ПолеФормы.Ширина = 30;
ПолеФормы.ПутьКДанным = "РеквизитСтрока1";
ПолеФормы.РастягиватьПоГоризонтали = Ложь;

ПолеФормы = Элементы.Вставить("РеквизитЧисло1", Тип("ПолеФормы"), Группа1);
ПолеФормы.Заголовок = "Реквизит Число1";
ПолеФормы.Вид = ВидПоляФормы.ПолеВвода;
ПолеФормы.Ширина = 5;
ПолеФормы.ПутьКДанным = "РеквизитЧисло1";
ПолеФормы.РастягиватьПоГоризонтали = Ложь;

Таблица1 = Элементы.Вставить("Таблица1", Тип("ТаблицаФормы"));
Таблица1.ПутьКДанным = "Таблица1";

ПолеФормы = Элементы.Вставить("Таблица1Колонка1", Тип("ПолеФормы"), Таблица1);
ПолеФормы.Заголовок = "№ п/п";
ПолеФормы.Вид = ВидПоляФормы.ПолеВвода; ПолеФормы.Ширина = 5; ПолеФормы.ПутьКДанным = "Таблица1.Таблица1НомерПП"; ПолеФормы.РастягиватьПоГоризонтали = Ложь; ПолеФормы.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Центр; ПолеФормы = Элементы.Вставить("Таблица1НомерПП", Тип("ПолеФормы"), Таблица1); ПолеФормы.Заголовок = "Таблица1, Колонка1";
ПолеФормы.Вид = ВидПоляФормы.ПолеВвода; ПолеФормы.Ширина = 7; ПолеФормы.ПутьКДанным = "Таблица1.Таблица1Колонка1"; ПолеФормы.РастягиватьПоГоризонтали = Ложь; ПолеФормы = Элементы.Вставить("Таблица1Колонка2", Тип("ПолеФормы"), Таблица1); ПолеФормы.Заголовок = "Таблица1, Колонка2";
ПолеФормы.Вид = ВидПоляФормы.ПолеВвода; ПолеФормы.ПутьКДанным = "Таблица1.Таблица1Колонка2"; ПолеФормы.РастягиватьПоГоризонтали = Ложь; ПолеФормы.АвтоМаксимальнаяШирина = Ложь; ЭтотОбъект.РеквизитСтрока1 = "Значение реквизита Строка1"; ЭтотОбъект.РеквизитЧисло1 = 25; НовСтр = ЭтотОбъект.Таблица1.Добавить(); НовСтр.Таблица1НомерПП = 1; НовСтр.Таблица1Колонка1 = 10; НовСтр.Таблица1Колонка2 = "Строка1, колонка1"; НовСтр = ЭтотОбъект.Таблица1.Добавить(); НовСтр.Таблица1НомерПП = 2; НовСтр.Таблица1Колонка1 = 20; НовСтр.Таблица1Колонка2 = "Строка2, колонка1"; НовСтр = ЭтотОбъект.Таблица1.Добавить(); НовСтр.Таблица1НомерПП = 3; НовСтр.Таблица1Колонка1 = 30; НовСтр.Таблица1Колонка2 = "Строка3, колонка1";


Пример программного добавления элементов на форму (управляемые формы), скачать create-form.zip