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