Открыть окно для интерактивного выбора значения из списка.
Синтаксис:
ВыбратьЗначение(<Значение>, <3аголовок>, <Позиция> , <Таймаут>, <Спосо6Выбора>)
Англоязычный синоним:
ChooseValue
Параметры:
<Значение> |
Идентификатор переменной, куда помещается значение — результат выбора. |
<3аголовок> |
Строковое выражение, значение которого отображается в заголовке диалогового окна. Может использоваться для подсказки пользователю. |
<Позиция> |
Идентификатор переменной, куда помещается номер позиции выбранного значения в списке. |
<Таймаут> |
Необязательный параметр. Числовое выражение, значение которого задает время ожидания системы (в секундах) на отклик пользователя. |
<СпособВыбора> |
Необязательный параметр. Числовое выражение, значение которого задает способ выбора значения: 0 — в виде диалога; 1 — выбор производится в виде меню, которое подстраивается по месту текущего элемента диалога или ячейки таблицы, откуда вызвано; 2 — выбор маленьким списком (список похож на выбор значения перечисления), также привязанным к позиции элемента диалога. Значение по умолчанию — 0. |
Возвращаемое значение:
Число: 1 — если выбор произведен (нажата кнопка «ОК»); 0 — если выбор не призведен (нажата кнопка «ОТМЕНА»); -1 (минус единица) — закончилось время <Таймаут> ожидания отклика пользователя.
Описание:
Метод ВыбратьЗначение вызывает диалоговое окно для интерактивного выбора значения из заранее подготовленного списка. Возвращаемое числовое значение: 1 — если выбор произведен, 0 — если нет. Параметр <Значение> указывает на значение того элемента списка, на котором будет установлен курсор при открытии окна выбора. В этот же параметр возвращается выбранное значение. В параметр <Позиция> возвращается номер позиции выбранного значения в списке. Если выбор отменен, то значение параметров не меняются.
Данный метод может использоваться только для переменных созданных функцией СоздатьОбъект.
Пример:
Процедура ВыбратьКредит(ДокКредита)
Список = СоздатьОбъект("СписокЗначений");
Рег = СоздатьОбъект("Регистр.ТоварныйКредит");
Per.УстановитьФильтр(Клиент, );
Per.ВыбратьИтоги();
Пока Per.ПолучитьИтог() = 1 Цикл
Док = Рег.Документ;
Список.ДобавитьЗначение(Док, "" + Док + " — Остаток = " + Рег.Долг);
КонецЦикла;
Если Список.ВыбратьЗначение(ВыбДок, "Выберите кредит") = 1 Тогда
ДокКредита = ВыбДок;
КонецЕсли;
КонецПроцедуры