Для того чтобы предоставить пользователю возможность интерактивного выбора некоторого значения, следует воспользоваться функцией ВыбратьЗначение(). Например, для того чтобы выбрать элемент справочника "Номенклатура", можно использовать следующий вариант вызова этой функции:
Копировать в буфер обменаВвестиЗначение(Справ, "Текст подсказки", "СправочникСсылка.Номенклатура");
Если перед вызовом функции задать переменной "Справ" некоторое значение, то оно будет использовано в диалоге выбора как значение по умолчанию, на котором будет установлен курсор. В этом случае не требуется явного задания выбираемого типа – он будет определен по типу переменной, в которую принимается выбираемое значение:
Копировать в буфер обменаСправ = Справочники.Номенклатура.НайтиПоКоду("0000001"); ВвестиЗначение(Справ);
В качестве третьего параметра этой функции может быть передан объект ОписаниеТипов. Его использование позволяет выбирать значения составного типа:
Копировать в буфер обменаМассив = Новый Массив; Массив.Добавить(Тип("СправочникСсылка.ФизическиеЛица")); Массив.Добавить(Тип("СправочникСсылка.ЮридическиеЛица")); НовоеОписание = Новый ОписаниеТипов(Массив); ВвестиЗначение(Справ,,НовоеОписание);
Аналогичные действия можно выполнить и без использования функции ВыбратьЗначение(). В этом случае появляются разнообразные возможности по управлению формой выбора. Например, можно задать множественный выбор:
Копировать в буфер обменаФормаДляВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора(); ФормаДляВыбора.МножественныйВыбор = Истина; МассивВыбранныхЭлементов = ФормаДляВыбора.ОткрытьМодально();