Периодически возникает необходимость обновить форму документа или справочника после его программного обновления
Для таких событий присутствует операторы обработчики событий оповещения
1 форма родитель
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
//Только в базе "1" в расходном ордере, При создании на основании Задания на отбор,
//надо добавить всплывающее окно, которое просит указать количество отборов у клиента и их номера
Если ТипЗнч(Объект.Распоряжение) = Тип("ДокументСсылка.РасходныйОрдерНаТовары") Тогда
Если ОбъектНовый = Истина Тогда
УказатьКоличествоОтборовУКлиента(); //Открытие "2" формы
КонецЕсли;
КонецЕсли;
2 форма потомок
&НаКлиенте
Процедура НажатиеОК(Команда)
ПроизвестиДобавлениеДанных();
ЭтаФорма.Закрыть();
//Необходимо вызвать команду Оповестить(),
//так вызовет в форме-родителе ОбработкаОповещения()
Оповестить();
КонецПроцедуры
1 форма родитель
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
//Обновляет форму после измений с сохранением
ЭтаФорма.ОбновитьОтображениеДанных();
ЭтаФорма.Прочитать();
Оповестить(<ИмяСобытия>,
<Параметр>, <Источник>)
Тип: Строка.
Имя события. Может быть использовано для идентификации сообщений принимающими их формами.
Тип: Произвольный.
Параметр сообщения. Могут быть переданы любые необходимые данные.
Тип: Произвольный.
Источник события. Например, в качестве источника может быть указана другая форма.
Посылает
оповещение всем созданным формам и всем подключенным через метод ПодключитьОбработчикОповещения
процедурам модуля управляемого приложения (модуля обычного приложения) или
общего модуля. Если для формы задана процедура-обработчик события ОбработкаОповещения,
то она будет запущена, в процедуру будут переданы указанные параметры.
Данный механизм может, например, применяться для организации обмена сообщениями между открытыми формами.
Тонкий
клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Для таких событий присутствует операторы обработчики событий оповещения
1 форма родитель
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
//Только в базе "1" в расходном ордере, При создании на основании Задания на отбор,
//надо добавить всплывающее окно, которое просит указать количество отборов у клиента и их номера
Если ТипЗнч(Объект.Распоряжение) = Тип("ДокументСсылка.РасходныйОрдерНаТовары") Тогда
Если ОбъектНовый = Истина Тогда
УказатьКоличествоОтборовУКлиента(); //Открытие "2" формы
КонецЕсли;
КонецЕсли;
...
КонецПроцедуры
2 форма потомок
&НаКлиенте
Процедура НажатиеОК(Команда)
ПроизвестиДобавлениеДанных();
ЭтаФорма.Закрыть();
//Необходимо вызвать команду Оповестить(),
//так вызовет в форме-родителе ОбработкаОповещения()
Оповестить();
КонецПроцедуры
1 форма родитель
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
//Обновляет форму после измений с сохранением
ЭтаФорма.ОбновитьОтображениеДанных();
ЭтаФорма.Прочитать();
...
КонецПроцедуры
Контекст:
Глобальный контекст (Global context)
Оповестить (Notify)
Синтаксис:
Параметры:
<ИмяСобытия>
(необязательный)
Имя события. Может быть использовано для идентификации сообщений принимающими их формами.
<Параметр>
(необязательный)
Параметр сообщения. Могут быть переданы любые необходимые данные.
<Источник>
(необязательный)
Источник события. Например, в качестве источника может быть указана другая форма.
Описание:
Данный механизм может, например, применяться для организации обмена сообщениями между открытыми формами.
Доступность:
Пример:
Оповестить("ЗакрытьФорму"); |
Глобальный контекст (Global context)
ПодключитьОбработчикОповещения (AttachNotificationHandler)
Синтаксис:
ПодключитьОбработчикОповещения(<ИмяПроцедуры>)
Параметры:
<ИмяПроцедуры> (обязательный)
Тип: Строка.
Имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или общего глобального модуля.
Процедура должна располагаться на клиенте.
Процедура не должна содержать параметров.
Описание:
Подключает вызов указанной экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля для обработки оповещения при вызове метода Оповестить. Процедура должна быть экспортируемой и иметь три параметра - <Имя события>, <Параметр>, <Источник>.
Доступность:
Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Пример:
Процедура глОбработкаОповещения(Событие, Параметр, Источник) Экспорт
Сообщить("глОбработкаОповещения ИмяСобытия = " + Событие);
КонецПроцедуры
Процедура ПриНачалеРаботыСистемы()
//...
ПодключитьОбработчикОповещения("глОбработкаОповещения");
//...
КонецПроцедуры // ПриНачалеРаботыСистемы()