Вход | Регистрация
 

Программно установить обработчик ДекорацииФормы

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

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

    
КонецЦикла;    

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

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

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

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Создадим команду

        //Команда            = ЭтаФорма.Команды.Добавить("Опрос" + Число(ВыборкаДетальныеЗаписи.Ссылка.Номер));

        //Команда.Действие    = "ОбработчикОпрос";

        
        // Создадим кнопку и привяжем к ней команду

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

        //Действие = Новый Действие(""); 

        Кнопка.УстановитьДействие("ОбработкаНавигационнойСсылки", "ОбработчикЗапрос");
        Кнопка.УстановитьДействие("Нажатие", "ОбработчикОпрос");

    
    КонецЦикла;    


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


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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.