0

Функция Вопрос

Функция выводит диалоговое окно, содержащее вопрос пользователю системы

Синтаксис

Функция Вопрос() имеет следующий синтаксис:

число Вопрос(Текст, [Режим = 0] [, Таймаут = 0])

А также альтернативный англоязычный синтаксис:

number DoQueryBox(Text, [Option = 0] [, Timeout = 0])

Параметры

Описание параметров функции Вопрос()

Имя параметра Тип Описание
Текст* Строка Текст вопроса пользователю (не забудьте указать вопросительный знак)
Режим Число Числовое выражение, определяющее режим отображения диалогового окна

Возможные варианты значений:
0 Доступна только кнопка «ОК» (значение по умолчанию)
1 Доступны кнопки «ОК» и «Отмена»
2 Доступны кнопки «Стоп», «Повтор» и «Пропустить»
3 Доступны кнопки «Да», «Нет» и «Отмена»
4 Доступны кнопки «Да» и «Нет»
5 Доступны кнопки «Повтор» и «Отмена»
Строка Строковое выражение, определяющее режим отображения диалогового окна

Возможные варианты значений:
ОК OK Доступна только кнопка «ОК» (значение по умолчанию)
ОК+Отмена OK+Cancel Доступны кнопки «ОК» и «Отмена»
Стоп+Повтор+Пропустить Stop+Retry+Ignore Доступны кнопки «Стоп», «Повтор» и «Пропустить»
Да+Нет+Отмена Yes+No+Cancel Доступны кнопки «Да», «Нет» и «Отмена»
Да+Нет Yes+No Доступны кнопки «Да» и «Нет»
Повтор+Отмена Retry+Cancel Доступны кнопки «Повтор» и «Отмена»
Таймаут Число Время ожидания реакции пользователя в секундах. По истечении указанного времени диалог ввода автоматически закрывается. Если значение равно 0 (нулю) или не указано, время ожидания не ограничено. Значение по умолчанию: 0
* — обязательный параметр

Возвращаемое значение

Число

Описание вариантов возвращаемых значений:

1 нажата кнопка «ОК»
2 нажата кнопка «Отмена»
3 нажата кнопка «Стоп»
4 нажата кнопка «Повтор»
5 нажата кнопка «Пропустить»
6 нажата кнопка «Да»
7 нажата кнопка «Нет»
-1 наступил таймаут (истекло время ожидания)

Строка

Описание вариантов возвращаемых значений:

ОК OK нажата кнопка «ОК»
Отмена Cancel нажата кнопка «Отмена»
Стоп Stop нажата кнопка «Стоп»
Повтор Retry нажата кнопка «Повтор»
Пропустить Ignore нажата кнопка «Пропустить»
Да Yes нажата кнопка «Да»
Нет No нажата кнопка «Нет»
Таймаут Timeout наступил таймаут (истекло время ожидания)

Описание

Функция Вопрос() выводит на экран диалоговое окно, содержащее вопрос пользователю и набор кнопок для выбора. При выборе пользователем какой-либо кнопки, диалоговое окно закрывается, а ее код возвращается функцией в точку вызова.
С помощью параметра Режим можно управлять составом кнопок, доступных пользователю. Тип значения, возвращаемого функцией, также зависит от способа задания режима. Если в параметре Режим Вы указали числовой код, функция вернет числовой код кнопки. Если в параметре Режим Вы указали символьное сочетание кнопок, функция вернет символьное имя выбранной кнопки.

Диалог вопроса на платформе 1С:Предприятие 7.7

Внимание!
Поскольку функция Вопрос() открывает диалог ввода в модальном режиме, избегайте ее использования в модуле проведения документов, а также в пределах открытой транзакции в многопользовательском режиме работы 1С:Предприятие 7.7

Пример использования

Пример кода с использованием функции Вопрос()

Ответ = Вопрос("В процессе выполнения обработки возникли ошибки.
	|Каковы будут дальнейшие указания?
	|
	| Нажмите ""Стоп"", чтобы прервать обработку
	| Нажмите ""Повтор"", чтобы повторить обработку
	| Нажмите ""Пропустить"", чтобы игнорировать ошибки и продолжить обработку", "Стоп+Повтор+Пропустить");

Если Ответ = "Стоп" Тогда
	Возврат;
ИначеЕсли Ответ = "Повтор" Тогда
	Перейти ~НачалоОбработки;
КонецЕсли;  

Состояние("Идет обработка...");

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *