Определяет набор вариантов состава кнопок окна диалога вопроса. Используется в качестве параметра функции Вопрос.
Полное описание, параметры и ограничения
РежимДиалогаВопрос (QuestionDialogMode)
РежимДиалогаВопрос (QuestionDialogMode)
Доступен, начиная с версии 8.0.
Значения
ДаНет (YesNo)
ДаНетОтмена (YesNoCancel)
ОК (OK)
ОКОтмена (OKCancel)
ПовторитьОтмена (RetryCancel)
ПрерватьПовторитьПропустить (AbortRetryIgnore)
Описание:
Определяет набор вариантов состава кнопок окна диалога вопроса. Используется в качестве параметра функции Вопрос.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).
См. также:
Глобальный контекст, метод Вопрос
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Обработать ответ вопроса: ДаНет / Да
Настоящий немодальный вопрос возвращает ответ в экспортную процедуру. Подтверждение меняет только статус своей формы, не удаляет данные и не отправляет сообщение.
Где и как запускать
Клиентский модуль своей управляемой формы. Callback с Экспорт размещается отдельно на уровне модуля.
Подготовка
Создайте внешнюю учебную обработку с управляемой формой. Добавьте Статус (Строка 200), поле для его просмотра, команду ЗадатьУчебныйВопрос и кнопку.
Основной блок — обработчик команды, дополнительный — отдельная экспортная процедура в том же модуле формы. Имя ПослеУчебногоВопроса должно точно совпадать со строкой в ОписаниеОповещения.
Не пытайтесь присвоить результат вызова ПоказатьВопрос переменной ответа: управление возвращается до выбора пользователя.
Для Таймаут не нажимайте кнопки три секунды. Для остальных вариантов нажмите кнопку Да либо сравните с другим ответом.
&НаКлиенте
Процедура ЗадатьУчебныйВопрос(Команда)
Завершение = Новый ОписаниеОповещения("ПослеУчебногоВопроса", ЭтаФорма);
ПоказатьВопрос(Завершение, "Обработать собственную учебную строку?", РежимДиалогаВопрос.ДаНет);
Сообщить("Вопрос открыт; ответ будет получен в отдельной процедуре");
КонецПроцедурыТа же форма: экспортная процедура реального завершения вопроса
&НаКлиенте
Процедура ПослеУчебногоВопроса(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
Статус = "Получен ожидаемый ответ: " + Строка(РезультатВопроса);
Иначе
Статус = "Получен другой ответ: " + Строка(РезультатВопроса);
КонецЕсли;
Сообщить(Статус);
КонецПроцедурыРазбор по шагам
Создаём реальное описание завершения и задаём поддерживаемый состав кнопок.
После закрытия вопроса платформа передаёт фактический результат в callback.
Сравниваем с типизированным КодВозвратаДиалога, а не локализованным текстом кнопки.
Как проверить результат
Для ожидаемого результата Да статус сообщает Получен ожидаемый ответ.
Другой ответ попадает в отдельную ветвь; закрытие окна и таймаут не выдаются автоматически за подтверждение.
Ожидаемый результат
Режим вопроса и конкретный код результата использованы в настоящем пользовательском диалоге.
На что обратить внимание
РежимДиалогаВопрос задаёт кнопки, КодВозвратаДиалога — фактический ответ; это разные перечисления.
Надписи кнопок зависят от локализации; сравнивайте значения, не строки Да / Yes.
Пример не выполняет хозяйственную операцию после подтверждения и не исполняется браузером справочника.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.