1С. Как показать сообщение, предупреждение, оповещение пользователю.

В программах на платформе 1С:Предприятие сообщение пользователю можно показать разными способами.
1. Метод ПоказатьПредупреждение .
ПоказатьПредупреждение(ОписаниеОповещенияОЗавершении>, ТекстПредупреждения>, Таймаут>, Заголовок>)
При использовании этой конструкции окно с предупреждением возникает в центре интерфейса программы.
ОписаниеОповещенияОЗавершении (необязательный)
Тип: ОписаниеОповещения. Содержит описание процедуры, которая будет вызвана после закрытия окна предупреждения со следующими параметрами: ДополнительныеПараметры — значение, которое было указано при создании объекта ОписаниеОповещения. Если параметр не указан, то по завершении никакая процедура вызвана не будет.
ТекстПредупреждения (обязательный)
Тип: Строка; ФорматированнаяСтрока. Текст предупреждения.
Таймаут (необязательный)
Тип: Число. Интервал времени в секундах, в течение которого система будет ожидать ответа пользователя. По истечении интервала окно предупреждения будет закрыто. Если параметр не указан, то время ожидания не ограничено. Если параметр имеет отрицательное значение, будет сгенерировано исключение. Значение по умолчанию: 0.
Заголовок (необязательный)
Тип: Строка. Содержит заголовок окна предупреждения. Описание: Выводит на экран окно предупреждения, но не ожидает его закрытия.
Доступность: Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Примечание: Если после закрытия пользователем окна предупреждения должен быть выполнен какой-либо код, то его нужно разместить в отдельной процедуре модуля и описать ее в параметре.
2. Метод Предупреждение .
Окно с предупреждением возникает в центре интерфейса программы. Однако, если для конфигурации свойство РежимИспользованияМодальности установлено в НеИспользовать , то метод не работает.
Доступность: Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение(клиент).
3. Метод ПоказатьОповещениеПользователя .
ПоказатьОповещениеПользователя(Текст>, ДействиеПриНажатии>, Пояснение>, Картинка>, СтатусОповещенияПользователя>, КлючУникальности>)
При использовании этого метода сообщение появляется в правом нижнем углу интерфейса.
Доступность: Тонкий клиент, веб-клиент, толстый клиент.
4. Метод Сообщить .
Сообщить(ТекстСообщения>, Статус>)
Сообщение появляется в нижней части интерфейса, в строке.
Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
5. Объект СообщениеПользователю .
Предназначен для хранения параметров сообщения, которые необходимо вывести пользователю. Если сообщение еще не было показано пользователю (такое может быть при работе на стороне сервера, в фоновом задании, внешнем соединении или Web-сервисах), можно получить накопленные сообщения методом ПолучитьСообщенияПользователю .
Свойства: ИдентификаторНазначения (TargetID); КлючДанных (DataKey); Поле (Field); ПутьКДанным (DataPath); Текст (Text).
Методы: Сообщить (Message); УстановитьДанные (SetData).
Сообщение появляется в нижней части интерфейса, в строке.
Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "Не хватает номенклатуры "; Сообщение.Поле = "Номенклатура[5].Количество"; Сообщение.УстановитьДанные(ОбъектДанных); Сообщение.Сообщить();
- 1С
- Приёмы разработки
- Программирование 1С
Сообщения в 1С
В этой статье разберем, как работать с сообщениями в 1С. Узнаем такие методы, как Сообщить, Предупреждение и ПоказатьПредупреждение.
Метод Сообщить в 1С
Самый простой способ вывести сообщение пользователю 1С — это метод Сообщить. Замечу, что данный метод работает практически на всех видах клиентов. Синтаксис у него достаточно простой: Сообщить(). Вы просто в скобках пишите или текстовое сообщение в кавычках, или указываете в качестве параметра переменную с типом строка.
В коде ниже, при открытии управляемой формы обработки выводится сообщение.
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Сообщить("Привет с сервера. "); КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) СтрокаПривет = "Привет с клиента. " Сообщить(СтрокаПривет); КонецПроцедуры
Причем, первое сообщение выводится, когда код выполняется в серверном контексте, а второе, когда код выполняется в клиентском контексте. Результатом выполнения этого кода будут сообщения внизу формы.

Метод Предупреждение в 1С
Метод Предупреждение выводит сообщение пользователю в виде отдельного окна, и в отличие от метода Сообщить, этот метод работает на тонком, толстом и мобильном клиенте, т.е. использовать его в серверном контексте не получится, как мы это сделали в предыдущем примере с методом Сообщить.
Этот метод имеет следующий синтаксис:
Текст предупреждения – или непосредственно текст предупреждения, или переменная с типом строка;
Таймаут — число, которое указывает, сколько секунд будет отображаться окно с предупреждением, необязательное поле, по умолчанию 0;
Заголовок окна – текст или переменная с типом строка, это значение будет в заголовке окна с предупреждением.
В качестве примера, на форме обработки я создал команду, в которой вывожу предупреждение:
&НаКлиенте Процедура ВывестиПредупреждение(Команда) перемНазваниеОкна = "Это наше окно"; Предупреждение("Вывели текст предупреждения",,перемНазваниеОкна); КонецПроцедуры
И результат работы:

А если установить таймаут (второй параметр), то через указанное количество секунд окно закроется.
перемНазваниеОкна = "Это наше окно"; Предупреждение("Вывели текст предупреждения",10,перемНазваниеОкна);
Замечу, что этот метод работает только тогда, когда у конфигурации включен режим использования модальности. Посмотреть на то, какое значение у этого режима можно в палитре свойств конфигурации:

Если у свойства «Режим использования модальности» установлено значение «Использовать» или «Использовать с предупреждениями», то методом Предупреждение можно пользоваться, иначе, если установлено значении «Не использовать», возникнет ошибка «Использование модальных окон в данном режим запрещено!».

В конфигурациях с таким режимом использования модальности следует применять метод ПоказатьПредупреждение.
Метод ПоказатьПредупреждение в 1С
У этого метода похожий синтаксис:
Описание оповещения о Завершении – описание процедуры, которая будет вызвана после закрытия окна предупреждения.
В остальном синтаксис, кроме первого параметра, такой же, как и у метода Предупреждение, поэтому, если мы хотим просто вывести сообщение, без отработки закрытия окна, то решение будет следующим:
перемНазваниеОкна = "Это наше окно"; ПоказатьПредупреждение(,"Вывели текст предупреждения",,перемНазваниеОкна);
Просто, первый параметр оставляем пустым.
Замечу, что метод ПоказатьПредупреждение работает как с включенной, так и с выключенной модальностью, поэтому в Ваших разработках я рекомендую применять именно этот метод!
Подробно о том, как работает метод ПоказатьПредупреждение с первым параметром «Описание оповещения о завершении» читайте в статье ниже:
Более подробно и основательно начальные вопросы программирования в 1С вы можете изучить в
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Предупреждение – выводит сообщение в окно сообщений [Функция 1С]
Выводит на экран сообщение. Данное сообщение называется предупреждение т.к. оно находится в отдельном окне, в отличии от сообщения и его пропустить сложно.
Синтаксис
Предупреждение(<Текст>, , )Текст>
Параметры
<Текст>— текст предупреждения. [строка]
— время ожидания ответа, задается в секундах. [число]
— задает заголовок окна предупреждения. [строка]Текст>
Прочее
Доступность (для версии 8.2):
Тонкий клиент, веб-клиент, толстый клиент.
Пример
// создали и вывели предупреждение с ожиданием ответа в 1 минуту Предупреждение("Сотрудник был уволен!", 60);
Как предпочтительнее предупреждать пользователя?
В 1С множество возможных предупреждений пользователя об «опасности»
1. Сообщить (Message)
2. Предупреждение(, , )
3. ПоказатьПредупреждение(, , , )
подозреваю, что все эти сообщения предназначены для разных способов предупреждения.
Я пока только понял, что п.1 — предупреждение выходит строкой в нижней части экрана.
п2-3 в виде окна с заголовком в окне. Но вот чем отличаются п2 и п.3 не очень понял из СП. А в инете не однозначно это объясняют, можете ли кратко пояснить, в каких случаях какое предупреждение лучше применять?
По теме из базы знаний
- Перенос данных из Парус 7.хх в ЗГУ ред.3
- Пометка тестовой копии рабочей базы через механизм оповещений и раскрашивание форм (Управляемое приложение)
- Перенос данных из Парус 7.хх в ЗУП ред.3
Найденные решения
16. herfis 491 13.03.20 10:18 Сейчас в теме
(1) Предупреждение() и Сообщить() были в 8-ке изначально в толстом клиенте.
С появлением требований асинхронности (тонкий клиент и веб) появилось немодальное ПоказатьПредупреждение. По такому же принципу появились немодальные версии и других старых модальных диалоговых вызовов (со словом «Показать» впереди). В тонком клиенте Предупреждение() уже не используют, а если в свойствах конфы стоит запрет использования модальных окон, то использовать его и не получится.
Также с появлением УФ появилось СообщениеПользователю, более функциональное для УФ, чем Сообщить. Его можно выводить в привязке к к данным формы. В целом идея такая: хочешь отдельным окошком, требующим реакции пользователя для продолжения работы — используешь ПоказатьПредупреждение. Хочешь просто выдать сообщение в «консоль» (или не одно, а много сообщений) — используешь СообщениеПользователю (в типовых для удобства есть функция БСП ОбщегоНазначенияКлиентСервер.СообщитьПользователю()
Вот хорошая статья по теме: https://infostart.ru/public/1004554/
ilnazio; agentesecreto; __MaxImuS__; VAAngelov; xxart; user1194102; + 6 – Ответить