HelpF.pro

Как вывести всплывающее сообщение пользователю?

В 8.2 нужно воспользоваться функцией ПоказатьОповещениеПользователя
Код 1C v 8.2 УП
 ПоказатьОповещениеПользователя("Документ не записан!", 
"http://doc.ru",
"О правилах заполнения документа, читайте здесь!",
БиблиотекаКартинок.Важно);


Код 1C v 8.х
 #Если Клиент Тогда
Форма = Источник.ПолучитьФорму();
Если Форма.Открыта() Тогда
ПоказатьОповещениеПользователя("Ошибка", ПолучитьНавигационнуюСсылку(Источник.Ссылка), "Не указана организация. Невозможно распределить платежи по документам расчетов с контрагентом", БиблиотекаКартинок.Ошибка32);
КонецЕсли;
#КонецЕсли



В 7.7 и 8.1 всплывающие окна отсутствуют, но это легко решается использованием:
Код 1C v 7.x
 WshShell=СоздатьОбъект("WScript.Shell");
WshShell.Popup("Текст сообщения",,"Текст заголовка",20);

или внешних компанент, например:
MiracleV8: Универсальная компонента для 1С 7.7 и 1С 8.x
[Tray1C] Сворачивание 1С в системный трей


Вывод иконки с восклицательным знаком в трей! Используя AutoHotkey:
Код 1C v 8.х
  //Процедура выводит или убирает сообщение мессенджера и иконку, в зависимости от бПарам
Процедура ВывестиСообщениеМессенджера(бПарам = Истина) Экспорт
#Если Клиент Тогда

сКаталог = СокрЛП(Константы.КаталогПолногоДоступа.Получить())+"БП\MessageService";
ИмяФайла = сКаталог + "\autohotkey.exe";
Файл = Новый Файл(ИмяФайла);

ИмяФайлаИНИ = сКаталог + "\autohotkey.ini";

Если бПарам Тогда
ИмяФайлаИНИ_Задачи = сКаталог + "\autohotkey_Yes.ini";
Иначе
ИмяФайлаИНИ_Задачи = сКаталог + "\autohotkey_No.ini";
КонецЕсли;

ФайлИНИ_Задачи = Новый Файл(ИмяФайлаИНИ_Задачи);

Если Файл.Существует() И ФайлИНИ_Задачи.Существует() Тогда

Попытка
КопироватьФайл(ИмяФайлаИНИ_Задачи,ИмяФайлаИНИ);
ЗапуститьПриложение(ИмяФайла, сКаталог);
Если бПарам Тогда
ПараметрыСеанса.бСостояниеМессенджера = Истина;
Иначе
ПараметрыСеанса.бСостояниеМессенджера = Ложь;
КонецЕсли;
Исключение

КонецПопытки;

КонецЕсли;
#КонецЕсли
КонецПроцедуры

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/951.html