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