Имя: Пароль:
1C
 
Программно добавить обработчик события к программно добавленному элементу формы
0 almar
 
09.11.09
11:28
Программно добавил на форму несколько картинок. Установил им Гиперссылка=Истина. Теперь надо назначить обработчик события "Нажатие".
Строка
ДобавитьОбработчик ЭтаФорма["Картинка"+Стр.Картинка.Код].Нажатие, КартинкаНажатие;
ругается - Событие объекта не обнаружено (Нажатие).
Подскажите, пожалуйста, что я делаю не так?
1 ТелепатБот
 
гуру
09.11.09
11:28
2 mikecool
 
09.11.09
11:34
тип ЭтаФорма["Картинка"+Стр.Картинка.Код] точно ПолеКратинки?
3 lxs
 
09.11.09
11:35
в отладчике все покажет.
4 Живой Ископаемый
 
09.11.09
11:36
(0) Процедура для действия должна быть определена в модуле формы
5 almar
 
09.11.09
11:36
(3) Как?
6 Живой Ископаемый
 
09.11.09
11:36
а, вообще тут другое... ответь на (2)
7 almar
 
09.11.09
11:37
(4) На процедуру не ругается, ругается "Событие не обнаружено (Нажатие)
8 Живой Ископаемый
 
09.11.09
11:39
я понял
9 almar
 
09.11.09
11:40
(2) Вот весь код

Для каждого Стр из Объект.Картинки Цикл

//Добавление реквизита
Массив=Новый Массив;
Массив.Добавить(Тип("Строка"));
ОписаниеТиповС = Новый ОписаниеТипов(Массив, ,);

ДобавляемыеРеквизиты = Новый Массив();
Реквизит = Новый РеквизитФормы("Картинка" + Стр.Картинка.Код,ОписаниеТиповС);
Реквизит.СохраняемыеДанные = Ложь;    
ДобавляемыеРеквизиты.Добавить(Реквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
       
//Добавление элемента, заполнение данных
Элемент =Элементы.Добавить("Картинка" + Стр.Картинка.Код, Тип("ПолеФормы"),Элементы.СтраницаКартинки);    
Элемент.Вид = ВидПоляФормы.ПолеКартинки;
Элемент.Заголовок = Стр.Картинка.Наименование;
       
ЭтаФорма["Картинка" + Стр.Картинка.Код] = ПолучитьНавигационнуюСсылку(Стр.Картинка, "ДанныеФайла");
Элемент.ПутьКДанным = "Картинка" + Стр.Картинка.Код;
Элемент.РазмерКартинки=РазмерКартинки.Пропорционально;
Элемент.Гиперссылка=Истина;
ДобавитьОбработчик ЭтаФорма["Картинка" +Стр.Картинка.Код].Нажатие,КартинкаНажатие;
КонецЦикла;
10 almar
 
09.11.09
13:44
Up, кто-нибудь разбирался с "ДобавитьОбработчик" ?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн