Имя: Пароль:
1C
 
Программно установить обработчик ДекорацииФормы
,
0 tabarigen
 
10.01.19
13:25
Всем добра.
Создал программно ДекорацииФормы, также программно хочу установить для них обработчики.
Вроде как все по уму, делаю, а обработчик не срабатывает по нажатию.

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

    
КонецЦикла;    

В конфигураторе в режиме отладки если выполнить код
Кнопка.ПолучитьДействие("Нажатие") - возвращается строка "Нажатие", то есть вроде как обработчик установился, но вот почему он не срабатыает..
в общем хелпуйте
1 Вафель
 
10.01.19
13:26
у кнопки нужно устанавливать команду
2 tabarigen
 
10.01.19
13:27
(1) так у меня не кнопка, а декорация формы, с кнопкой проблем нет.
3 singlych
 
10.01.19
13:34
А че у тебя в параметрах ОбработчикЗапрос? Так-то у обработчиков нажатия и обработки навигационной ссылки разные параметры.
4 singlych
 
10.01.19
13:35
Кстати, "Запрос" с "Опрос" не перепутал часом?
5 tabarigen
 
10.01.19
14:21
(3) да там все дефолтно вроде..
&НаКлиенте
Процедура ОбработчикОпрос(Элемент)
    
    ПоказатьОповещениеПользователя("гагага");
    
КонецПроцедуры
6 singlych
 
10.01.19
14:27
(5) а в действии ОбработчикЗапрос
7 tabarigen
 
10.01.19
14:31
(6) так так..
а что за действие Обработчик запрос?
8 НЕА123
 
10.01.19
14:32
(7)
кто там?
9 tabarigen
 
10.01.19
14:33
(8) я кажется понял..
10 singlych
 
10.01.19
14:39
(7)
- А зовут вас как?
- Авас.
- Меня Николай Степанович, а вас?
11 tabarigen
 
10.01.19
14:44
(10)         Действие = Новый Действие("ОбработчикЗапрос");
        Кнопка.УстановитьДействие("Нажатие", Действие);

Пробую так..
странная ошибка.

Тип не определен (Действие)
        Действие = Новый <<?>>Действие("ОбработчикЗапрос");  (Проверка: Сервер)
12 singlych
 
10.01.19
14:48
Там просто строка же 2м параметром. У тебя же в (0) написано, только имя обработчика не то. И в (11) тоже не то.
13 tabarigen
 
10.01.19
14:51
(12) да все верно, как (0)  будет правильно, только толку то, если не работает
14 tabarigen
 
10.01.19
14:51
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

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

    
    КонецЦикла;    


КонецПроцедуры


&НаКлиенте
Процедура ОбработчикОпрос(Элемент) Экспорт
    
    ПоказатьОповещениеПользователя("гагага");
    
КонецПроцедуры
15 singlych
 
10.01.19
14:52
(14)
ОбработчикЗапрос
ОбработчикОпрос

найди десять отличий
16 singlych
 
10.01.19
14:53
(15) а, не увидел
17 tabarigen
 
10.01.19
14:53
(15) уппппппсссс....
ссори...
18 tabarigen
 
10.01.19
14:56
Спасибо большоое, все работает, действительно была опечатка.