Выводит на экран окно предупреждения.
Синтаксис
Предупреждение(<ТекстПредупреждения>, <Таймаут>, <Заголовок>)Примеры платформы
Предупреждение(НСтр("ru = 'Выберите документ!'; en = 'Select a document!'"), 10);Полное описание, параметры и ограничения
Глобальный контекст.Предупреждение (Global context.DoMessageBox)
Глобальный контекст (Global context)
Предупреждение (DoMessageBox)
Доступен, начиная с версии 8.0.
Синтаксис:
Предупреждение(<ТекстПредупреждения>, <Таймаут>, <Заголовок>)
Параметры:
<ТекстПредупреждения> (обязательный)
Тип: Строка, ФорматированнаяСтрока.
Текст предупреждения.
<Таймаут> (необязательный)
Тип: Число.
Интервал времени в секундах, в течение которого система будет ожидать ответа пользователя. По истечении интервала окно предупреждения будет закрыто. Если параметр не указан, то время ожидания не ограничено.
Если параметр имеет отрицательное значение, будет сгенерировано исключение.
Значение по умолчанию: 0.
<Заголовок> (необязательный)
Тип: Строка.
Содержит заголовок окна предупреждения.
Если не установлен, то у диалога заголовок не отображается.
Описание:
Выводит на экран окно предупреждения.
Доступность:
Тонкий клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).
Примечание:
Если для конфигурации свойство РежимИспользованияМодальности установлено в НеИспользовать, следует использовать метод ПоказатьПредупреждение.
Пример:
Предупреждение(НСтр("ru = 'Выберите документ!'; en = 'Select a document!'"), 10);
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Разобрать старое синхронное предупреждение без изменения модального режима
В старом клиентском коде предупреждение может блокировать продолжение. Показываем проверку количества и явный выход, а не включение модальности в рабочей базе.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
Создайте отдельную учебную внешнюю обработку с пустой управляемой основной формой. Каждую задачу запускайте в своей копии формы.
Не добавляйте вручную реквизит ЗначениеПримера, поле ПолеПримера и команду УчебноеДействие: их создаст код.
В свойствах формы → События свяжите ПриСозданииНаСервере с одноимённой процедурой. Вставьте весь модуль, включая клиентские и серверные процедуры.
Сохраните учебную EPF и откройте через Файл → Открыть в тонком или толстом клиенте Windows. Рабочие данные не читаются и не записываются.
Используйте новую пустую учебную базу и отдельную копию EPF для каждой задачи. Команды не должны обращаться к рабочим данным, внешним сервисам или процедурам записи.
Основной пример выполняется в тонком/толстом клиенте Windows. Доступность веб-клиента оговаривается отдельно; наличие Асинх в имени не гарантирует веб-доступность.
Дополнительное условие: синхронная модальность уже разрешена в собственной учебной конфигурации. Если нет — не запускайте этот урок и не меняйте рабочую настройку.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Новые = Новый Массив;
ТипРеквизита = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(12, 2));
Новые.Добавить(Новый РеквизитФормы("ЗначениеПримера", ТипРеквизита));
ЭтаФорма.ИзменитьРеквизиты(Новые);
ЭтаФорма.ЗначениеПримера = 3;
Поле = Элементы.Добавить("ПолеПримера", Тип("ПолеФормы"));
Поле.Вид = ВидПоляФормы.ПолеВвода;
Поле.ПутьКДанным = "ЗначениеПримера";
Поле.Заголовок = "Учебное количество";
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Проверить учебное количество";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Если ЗначениеПримера < 1 Или ЗначениеПримера > 100 Тогда
Предупреждение("Введите количество от 1 до 100.", 0, "Учебная проверка");
Возврат;
КонецЕсли;
Сообщить("Сумма только в памяти: " + Строка(ЗначениеПримера * 200));
КонецПроцедуры
Разбор по шагам
Этот вариант запускайте только в собственной базе, где синхронная модальность уже разрешена.
Предупреждение ожидает закрытия окна; оно не возвращает ответ Да/Нет.
После закрытия ошибочная ветка завершается Возврат.
При допустимом количестве выполняется только вычисление в памяти.
Как проверить результат
При 0 после закрытия окна расчёт не выполняется.
При 3 выводится 600. В конфигурации с НеИспользовать модальность этот вариант не запускайте — используйте другой урок.
Ожидаемый результат
Показано, как читать и безопасно ограничивать старый синхронный клиентский фрагмент.
На что обратить внимание
Не меняйте режим модальности рабочей базы ради запуска примера.
Этот метод не предназначен для веб-клиента.
Для нового кода учитывайте поддерживаемый клиент и используйте подходящий асинхронный/callback вариант.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.