Имя: Пароль:
1C
1С v8
Метод "обработкаОповещения" в регистрах сведений
, ,
0 johnniepasta
 
16.01.17
17:01
Скажите пожалуйста, почему может не работать ОбработкаОповещения?
Через документ запуливаю оповещение

&НаКлиенте
Процедура УдалениеЭтапов(Команда)
    ПараметрыУдаления = новый Структура;
    ПараметрыУдаления.Вставить("НомерЗадачи", Объект.Номер);
    ПараметрыУдаления.Вставить("Сотрудник", ОбщийСервер.ВернутьТекущегоСотрудника());
    Оповестить("УдалитьЭтапы",ПараметрыУдаления,Объект);    
КонецПроцедуры

после чего в РегистреСведений, на форме списка ставлю ОбработкаОповещения

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    Если ИмяСобытия = "УдалитьЭтапы" тогда
        ФормаСпискаРегистровХронология = ПолучитьФорму("РегистрСведений.ЭтапыХронология.ФормаСписка");
        ФормаСпискаРегистровХронология.Открыть();
    КонецЕсли;
КонецПроцедуры

Ошибок не выдает, само оповещение кушается, а вот обработка не стартует. В чем может быть проблема?
1 Волшебник
 
модератор
16.01.17
17:06
что в ФормаСпискаРегистровХронология ?
2 Fragster
 
гуру
16.01.17
17:07
чтобы это отработало - форма должна быть открыта
3 johnniepasta
 
16.01.17
17:12
(1) Форма списка регистра сведений
(2) какая форма? Вы хотите сказать, для того, что бы сработало оповещение, до этого оповещения форма уже должна быть открыта?
4 Fragster
 
гуру
16.01.17
17:16
(3) да, обработка оповещения формы работает только когда эта форма есть.
5 FIXXXL
 
16.01.17
17:16
(3) ну ты ж в форме "ловишь" событие
нет формы - нечего ловить
6 johnniepasta
 
16.01.17
17:20
(4) (5) Сама форма есть, но я ее не открываю до оповещения
т.е. надо добавить что то вроде

&НаКлиенте
Процедура УдалениеЭтапов(Команда)
    ОткрытьФормуРегистра();
    Оповестить("УдалитьЭтапы");    
КонецПроцедуры

&НаСервере
Процедура ОткрытьФормуРегистра()
    ФормаСпискаРегистровХронология = РегистрыСведений.ЭтапыХронология.ПолучитьФормуСписка("РегистрСведений.ЭтапыХронология.ФормаСписка");
    ФормаСпискаРегистровХронология.Открыть();
КонецПроцедуры
7 xxTANATORxx
 
16.01.17
17:23
(0)ИМХО Оповестить не для этого предназначено
8 FIXXXL
 
16.01.17
17:26
(6) ну почитай про Оповестить
оно оповещает ОТКРЫТЫЕ формы
9 johnniepasta
 
16.01.17
17:28
(7) (4) Спасибо большое, да, где были мои глаза. Открываю перед оповещением форму, все работает!

(8) Ну, если намекнете на более изящное решение, буду благодарен.
Мне из формы документа необходимо вызывать форму списка регистра сведений с определенным отбором.
10 singlych
 
16.01.17
17:33
11 Вафель
 
16.01.17
17:38
оповещение нужно для того чтоб в открытых формах перечитать данные и циферки обновить
12 johnniepasta
 
16.01.17
17:57
(10) Спасибо)