Имя: Пароль:
1C
1С v8
ПоказатьОповещениеПользователя не открывает ссылку на объект (УПП)
0 St-Anger
 
30.10.17
12:00
Всем привет.
Имеется УПП 8.3 в режиме совместимости (Версия 8.2.16)
Пытаюсь прикрутить оповещение пользователей через ПоказатьОповещениеПользователя. Нужно, чтоб при нажатии на ссылку открывалась форма задачи. Окошко всплывает, в нем видна ссылка на задачу, но при нажатии на ссылку ничего не происходит. Это если использовать НавигационнуюСсылку.


НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Стр.Задача);
ПоказатьОповещениеПользователя(Стр.Описание, НавигационнаяСсылка , Стр.Задача, БиблиотекаКартинок.ВыполнитьЗадачу);

Если в действие при нажатии вставить ОписаниеОповещения, то вылазит ошибка: "В методе Открыть количество параметров 0. Ожидаемое количество - 1".

опФорма = Стр.Задача.ПолучитьФорму("ФормаЗадачи");
Оп = Новый ОписаниеОповещения("Открыть", опФорма);
ПоказатьОповещениеПользователя(Стр.Описание, Оп, Стр.Задача, БиблиотекаКартинок.ВыполнитьЗадачу);

Просит параметр, а какой, не пойму.
Форма у объекта "задачи" обычная. Возможно в этом причина.Если да, то как-то можно все-таки открывать форму через ПоказатьОповещениеПользователя?
1 mehfk
 
30.10.17
12:08
Не использовать имя предопределенного метода "Открыть".
2 St-Anger
 
30.10.17
12:10
(1) так мне нужно именно открыть форму
3 Гипервизор
 
30.10.17
12:12
(0) Навигационные ссылки работают в управляемых формах.
Как вариант посмотрите вот такую реализацию: http://1clancer.ru/article/navigatsionnaya_ssylka_v_obychnom_prilozhenii_842
4 St-Anger
 
30.10.17
12:18
(3) Интересная реализация. Попробую. Спасибо!
5 St-Anger
 
30.10.17
13:27
Нашел проще способ это сделать.
В общем модуле (с галочкой клиент) прописываем процедуру:

    Попытка
        ОбъектИБ.ПолучитьФорму().Открыть();
    Исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;


А в основной процедуре:

Оп = Новый ОписаниеОповещения("ОткрытьФормуОбъекта", ОбщийМодульВнеПоставки,  Стр.Задача);
ПоказатьОповещениеПользователя(Стр.Описание, Оп, Стр.Задача, БиблиотекаКартинок.ВыполнитьЗадачу);