Имя: Пароль:
1C
1С v8
Как программно создать страницу на управляемой форме 8.2
, ,
0 DoctorRoza
 
14.08.12
21:42
Коллеги, подскажите пожалуйста. Как программно создать на форме страницу. Заранее спасибо.
1 acsent
 
14.08.12
21:45
группа формы, вид - страница
2 DoctorRoza
 
14.08.12
21:58
пробую сделать так:

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

получаю ошибку, что недопустимый тип реквизита. Имя: РеквизитСтраница
что не так?
3 andrewks
 
14.08.12
22:03
а при чём здесь реквизиты?
4 andrewks
 
14.08.12
22:04
тебе эл-т формы нужен
5 DoctorRoza
 
14.08.12
22:10
ну так в начале нужно создать реквизит, потом создавать элемент и связывать его с резквизитом
6 Живой Ископаемый
 
14.08.12
22:11
даже вот интересно, для какого реквизита в принципе возможен элемент управления - страница?
7 Живой Ископаемый
 
14.08.12
22:11
ну вот если делать это не программно
8 DoctorRoza
 
14.08.12
22:17
тоже верно ..
9 DoctorRoza
 
14.08.12
22:18
что то не так делаю ..
10 b159263
 
14.08.12
22:18
Надо программно создать элемент формы смотри как:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
   ТипСтрока = Новый ОписаниеТипов("Строка");
   
   ЭлементСтраницы = Элементы.Добавить("ГруппаСтраницы", Тип("ГруппаФормы"), ЭтаФорма);
   ЭлементСтраницы.Вид = ВидГруппыФормы.Страницы;
   ЭлементСтраницы.Заголовок = "Группа страниц";
   
   ЭлементСтраница1 =Элементы.Добавить("Страница1", Тип("ГруппаФормы"), ЭлементСтраницы);
   ЭлементСтраница1.Вид = ВидГруппыФормы.Страница;
   ЭлементСтраница1.Заголовок = "Страница 1";
   
   ЭлементСтраница2 =Элементы.Добавить("Страница2", Тип("ГруппаФормы"), ЭлементСтраницы);
   ЭлементСтраница2.Вид = ВидГруппыФормы.Страница;
   ЭлементСтраница2.Заголовок = "Страница 2";
   
   МассивДобавляемыхРеквизитов = Новый Массив;
   
   Реквизит1 = Новый РеквизитФормы("Реквизит1", ТипСтрока, "", "Реквизит 1");
   МассивДобавляемыхРеквизитов.Добавить(Реквизит1);
   
   Реквизит2 = Новый РеквизитФормы("Реквизит2", ТипСтрока, "", "Реквизит 2");
   МассивДобавляемыхРеквизитов.Добавить(Реквизит2);
   
   МассивУдаляемыхРеквизитов = Новый Массив;
   
   Для каждого РеквизитФормы Из ПолучитьРеквизиты() Цикл
       
       Если НЕ ПустаяСтрока(РеквизитФормы.Путь) Тогда
           
           МассивУдаляемыхРеквизитов.Добавить(РеквизитФормы.Путь);
           
       КонецЕсли;
       
   КонецЦикла;
   
   ИзменитьРеквизиты(МассивДобавляемыхРеквизитов, МассивУдаляемыхРеквизитов);
   
   ЭлементФормы1 = Элементы.Добавить("ЭлементФормы1", Тип("ПолеФормы"), ЭлементСтраница1);
   ЭлементФормы1.Вид = ВидПоляФормы.ПолеВвода;
   ЭлементФормы1.ПутьКДанным = "Реквизит1";
   
   ЭлементФормы2 = Элементы.Добавить("ЭлементФормы2", Тип("ПолеФормы"), ЭлементСтраница2);
   ЭлементФормы2.Вид = ВидПоляФормы.ПолеВвода;
   ЭлементФормы2.ПутьКДанным = "Реквизит2";
   
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   
   Реквизит1 = "Привет";
   Реквизит2 = "МИР";
   
КонецПроцедуры

Разработка управляемого интерфейса (+CD). Серия "1С:Профессиональная разработка" (артикул 4601546069634)
_http://v8.1c.ru/metod/books/book.jsp?id=231
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн