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