Имя: Пароль:
1C
1С v8
Динамическое создание объектов на форме
0 Besometr
 
18.10.12
13:29
Приветствую!

Преамбула:
Хочется при открытии формы модально, нарисовать на ней несколько панелей. при этом их не больше 5 и как минимум одна должна быть точно. Ее я рисую на форме и при создании новых панелей просто сдвигаю.

Амбула:

Код простейший, только панели рисуются:

   //создадим панели для контрагентов
   Номер = 1;
   Сдвиг = 0;
   
   ЭтаФорма.Ширина = (4+1) * 270;
       
   Для Номер =1 по 4 Цикл
       
       //Новая панель
       нПанель = ЭлементыФормы.Добавить(Тип("Панель"), "Панель"+Номер, Истина);    
       
       нПанель.Верх = 33;
       нПанель.Лево = 7 + Сдвиг;
       нПанель.Ширина = 250;
       нПанель.Высота = 250;

       
       нПанель.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
       нПанель.ОтображениеЗакладок = ОтображениеЗакладок.НеИспользовать;
                       
               
       Сдвиг = (255) * Номер;
       //Номер = Номер +1;
               
   КонецЦикла;
   
   
   
   //Подвинем стандартную панель
   Сдвиг = Номер * 250 +5;
   ЭлементыФормы.Панель5.Лево = (4+1) * 205;
   ЭлементыФормы.Панель5.Ширина = 250;
   ЭлементыФормы.Панель5.Высота = 250;


Если код запихнуть в событие кнопки, все отрабатывает корректно, если попробовать выполнить его в "ПриОткрытии" панели рисуются одна на одной, у второй панели Панель2.Лево = 15 вместо 262.
1 НЕА123
 
18.10.12
13:45
попробовать в ОбновлениеОтображения() засунуть.
2 Besometr
 
18.10.12
13:46
Дык он их будет рисовать и по новой ОбновлятьОтображение, разве нет?
3 vmv
 
18.10.12
13:49
(0) это создание, ты создаешь нечто на форме и если это окрытие, то создание должно быть в создании хотя звучит и абсурдно
4 НЕА123
 
18.10.12
13:50
(2)
хм. скорее всего.
не помню: 1С тормозит на команде при открытии модально?
если нет, то попробовать из вызывающей процедуры.
5 vmv
 
18.10.12
13:50
а это обычная форма, ну извращенец - уже года 3 как все перестали этой фигней страдать
6 Mkonst
 
18.10.12
13:51
нужно сначала привязки на форме убрать, потом добавлять свои объекты
7 НЕА123
 
18.10.12
13:52
ПодключитьОбработчикОжидания()
8 Besometr
 
18.10.12
13:54
НЕА123, и все таки ты прав! :)
в ОбновлениеОтображения() все работает, чего то я не понимаю :)
9 vmv
 
18.10.12
13:55
(6) еще раз скажешь свлово "привязки" и я стану кричать, совести ваще нет - эти привязки остались только в кошмарах