Не работает метод ОчиститьСообщения()
Здравствуйте, уважаемые читатели.
Встретился с проблемой применения глобального метода 1С ОчиститьСообщения(), а именно то, что метод не очищал мне то, что нужно. В интернете и ИТС информации я не нашел. Проблему я решил, и хочу поделиться своими знаниями.
Сначала опишем условия задачи:
Есть документ «Поступление товаров розницы»(далее ПТР), при его проведении проводится проверка, есть ли документ «Журнал входного контроля», введенный на его основании («Журнал…» вводится на основании ПТР). Если документа нет, то не проводить документ и выводить сообщение «Создайте журнал входного контроля». Далее пользователь нажимает на форме ПТР кнопку «Ввести на основании» и вводит документ «Журнал входного контроля», проводит его и закрывает, но у документа ПТР так и висит сообщение «Введите документ журнла входного контроля», и надо было это сообщение очищать.
Как я сделал:
Первое: сделал оповещение при записи документа «Журнал входного Контроля» Рис.1
Если ОповеститьПоступлениеТовараРозница тогда
ПараметрОповещения = Новый Структура;
ПараметрОповещения.Вставить("ЖВК",Объект.Ссылка);
Оповестить("ЗаписьЖВК", ПараметрОповещения);
КонецЕсли;
Рис.1
Вставил обработку этого оповещения в модуль формы документа «Поступления товаров розницы» Рис.2
ИначеЕсли ИмяСобытия = "ЗаписьЖВК" Тогда
ЭтаФорма.Прочитать();
ЖВК = Параметр.ЖВК;
Элементы.ЖВК.Видимость = Истина;
СписокОконПриложения = ПолучитьОкна();
Для Каждого ОкноПриложения Из СписокОконПриложения Цикл
Если Найти(Строка(ОкноПриложения.Заголовок),"Поступление товаров")>0 Тогда
ОкноПриложения.Активизировать();
ОчиститьСообщения();
КонецЕсли;
КонецЦикла;
Рис.2
Самое главное, я активизировал окно документа «Поступление товаров розницы» и только после использовал метод ОчиститьСообщения(). Этот метод работает только в активном окне, и чтобы очистить сообщения относящиеся к определенному окну, его надо сначала активизировать.
На этом всё! Ставьте лайк, если статья вам была полезна.
Вступайте в нашу телеграмм-группу Инфостарт
