В 1С множество возможных предупреждений пользователя об "опасности"
1. Сообщить (Message)
2. Предупреждение(<ТекстПредупреждения>, <Таймаут>, <Заголовок>)
3. ПоказатьПредупреждение(<ОписаниеОповещенияОЗавершении>, <ТекстПредупреждения>, <Таймаут>, <Заголовок>)
подозреваю, что все эти сообщения предназначены для разных способов предупреждения.
Я пока только понял, что п.1 - предупреждение выходит строкой в нижней части экрана.
п2-3 в виде окна с заголовком в окне. Но вот чем отличаются п2 и п.3 не очень понял из СП. А в инете не однозначно это объясняют, можете ли кратко пояснить, в каких случаях какое предупреждение лучше применять?
---
Предупреждение() и Сообщить() были в 8-ке изначально в толстом клиенте.
С появлением требований асинхронности (тонкий клиент и веб) появилось немодальное ПоказатьПредупреждение. По такому же принципу появились немодальные версии и других старых модальных диалоговых вызовов (со словом "Показать" впереди). В тонком клиенте Предупреждение() уже не используют, а если в свойствах конфы стоит запрет использования модальных окон, то использовать его и не получится.
Также с появлением УФ появилось СообщениеПользователю, более функциональное для УФ, чем Сообщить. Его можно выводить в привязке к к данным формы. В целом идея такая: хочешь отдельным окошком, требующим реакции пользователя для продолжения работы - используешь ПоказатьПредупреждение. Хочешь просто выдать сообщение в "консоль" (или не одно, а много сообщений) - используешь СообщениеПользователю (в типовых для удобства есть функция БСП ОбщегоНазначенияКлиентСервер.СообщитьПользователю()
Вот хорошая статья по теме: https://infostart.ru/public/1004554/
---
какое предупреждение лучше применять? оплеуху или линейку (зависит от уровня опасности) ))
---
Предупреждение() и Сообщить() были в 8-ке изначально в толстом клиенте.
С появлением требований асинхронности (тонкий клиент и веб) появилось немодальное ПоказатьПредупреждение. По такому же принципу появились немодальные версии и других старых модальных диалоговых вызовов (со словом "Показать" впереди). В тонком клиенте Предупреждение() уже не используют, а если в свойствах конфы стоит запрет использования модальных окон, то использовать его и не получится.
Также с появлением УФ появилось СообщениеПользователю, более функциональное для УФ, чем Сообщить. Его можно выводить в привязке к к данным формы. В целом идея такая: хочешь отдельным окошком, требующим реакции пользователя для продолжения работы - используешь ПоказатьПредупреждение. Хочешь просто выдать сообщение в "консоль" (или не одно, а много сообщений) - используешь СообщениеПользователю (в типовых для удобства есть функция БСП ОбщегоНазначенияКлиентСервер.СообщитьПользователю()
Вот хорошая статья по теме: https://infostart.ru/public/1004554/
---
Ну как минимум наличием в одном из них оповещения))
---
Оповещение да , это понятно из текста СП, но оповещение ведь можно не использовать (и кстати я не совсем понял для чего оно и как работает), но еще вычитал, что п.3 открывает окно НЕ модальное и программа не ждет клика пользователя, а выдает сообщение и работает себе дальше, это так? Т.е экономится время выполнения программы
---
1с уходит от модальности в сторону асинхронности.
Оповещение - это та процедура, которая будет выполнятся после закрытия окна предупреждения. Можно не использовать, можете считать оповещения бонусом к старой функции)
---
Так в СП явно написано.
Предупреждение(<ТекстПредупреждения>, <Таймаут>, <Заголовок>) - это старое модальное плохое предупреждение.

ПоказатьПредупреждение(<ОписаниеОповещенияОЗавершении>, <ТекстПредупреждения>, <Таймаут>, <Заголовок>) - это новое асинхронное хорошее предупреждение.
---
Да я это прочитал и вроде бы понял, но не понял, что делает оповещение в этом случае?
---
У автора УПП1. А показатьПердупреждение() разве в обычных формах работает?
---
да работает, по крайней мере ошибку не выдает, и в UPP ведь не все формы обычные, часть форм управляемые, хотя конечно в меньшем количестве
---
Да, проверил. Работает.
---
общая тенденция - это отказ от модальных окон
---
Если проще - все, что на обычных формах - "Предупреждение()", все что на управляемых - "Показать предупреждение()" с описанием коллбэка. Потому как "Показать предупреждение" - это отказ от модальности в первую очередь пошедшее из глюков при работе в веб клиенте, который работает на конфигурациях в управляемых формах.
---
В принципе всё от задачи зависит. Как по мне, так самое универсальное и простое Сообщить();
---
ну это на вкус и цвет, как говорится, на сообщение можно не обратить внимание в творческом порыве пользователя
---
Так я и говорю - от ситуации зависит. Обычно делю такие вещи на два лагеря:

- Нужно просто дать пользователю информацию к размышлению, но не сильно отвлекать его. Для этого подходит Сообщить(); Ну к примеру (из своей специфики) нет цен на какой-то товар в конкретном магазине, используем среднюю по сети. Должны сказать об этом кассиру, но не отвлекать его от работы. Если использовать предупреждение он каждый раз пробивая этот товар будет жать кнопку ОК и терять время. Хотя он и так уже знает, что цены этой нет и сообщил уже об этом куда нужно.

- Нужно чтобы пользователь прям обязательно прочитал информацию и крепко задумался. Тут используется вопрос. Прочитал? Прочитал! понял? Понял! Подтверди. что понял!Если не понял, но подтвердил, при разборе полетов будь готов)
---
Спасибо, очень понравился ответ, с примерами)