Установить список выбора в управляемой форме
(0) УправляемаяФорма (ManagedForm) ВыбратьИзСписка (ChooseFromList)
Синтаксис:
ВыбратьИзСписка(<СписокЗначений>, <ЭлементФормы>, <НачальноеЗначение>)
Параметры:
<СписокЗначений> (обязательный) Тип: СписокЗначений.
Список значений, содержащий значения, из которых будет осуществляться выбор. <ЭлементФормы> (необязательный) Тип: ГруппаФормы; ТаблицаФормы; ПолеФормы; КнопкаФормы.
Элемент формы, около которого будет открыт выпадающий список. Для некоторых элементов выпадающий список будет показан около активной области.
Если не указан, то будет выбран активный элемент формы.
Примечание: В качестве этого параметра нельзя указывать кнопки, расположенные в командной панели или подменю.
<НачальноеЗначение> (необязательный) Тип: Число; ЭлементСпискаЗначений.
Задает начальный элемент, который будет активным при открытии списка.
Если параметр не указан, в списке не будет выбрано начальное значение.
Возвращаемое значение:
Тип: ЭлементСпискаЗначений; Неопределено.
Выбранный элемент списка или Неопределено, если пользователь отказался от выбора.
Описание:
Вызывает выпадающий список для выбора значения. Набор значений для выбора задается списком значений. Выпадающий список будет расположен около переданного элемента формы или около его активной области.
Доступность:
Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Примечание:
Если в списке значений указаны картинки, то они отображаются в выпадающем списке.
В веб-клиенте выбор осуществляется из списка, открываемого в отдельном окне.
Если для конфигурации свойство РежимИспользованияМодальности установлено в НеИспользовать, следует использовать метод ПоказатьВыборИзСписка.
Пример:
Список = Новый СписокЗначений; Список.Добавить(«Доставка»); Список.Добавить(«Разгрузка»); Список.Добавить(«Картинка»,,,БиблиотекаКартинок.Картинка1); Вид = ВыбратьИзСписка(Список, Элементы.Поле1);
1) Отбор «Организация» уже есть в схеме компановки, нам его нужно инициализировать программно
Процедура УстановитьОтборПоОрганизациям()
ПолеОрганизация = Новый ПолеКомпоновкиДанных(«Организация»);
Для каждого Элемент Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Если Элемент.ЛевоеЗначение = ПолеОрганизация Тогда
ЭлементОтбора = Элемент;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЭлементОтбора = Неопределено Тогда
ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
КонецЕсли;
// ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
СписокОтбора = Новый СписокЗначений;
Для каждого СтрокаОтборПоОрганизациям Из ОтборПоОрганизациям Цикл
Если НЕ СтрокаОтборПоОрганизациям.П Тогда
Продолжить;
КонецЕсли;
СписокОтбора.Добавить(СтрокаОтборПоОрганизациям.Организация);
КонецЦикла;
// ЭлементОтбора.ЛевоеЗначение = ЭлементОтбора;
ЭлементОтбора.ПравоеЗначение = СписокОтбора;
ЭлементОтбора.Использование = Истина;
Если СписокОтбора.Количество() = 0 Тогда
ЭлементОтбора.Использование = Ложь;
КонецЕсли;
КонецПроцедуры
Казалось бы простой вопрос, а гуглить пришлось чтобы сделать примерно то что мне нужно порядка часа.
Создаем реквизит с типом «Список значений»
&НаКлиенте Процедура КатегорииТовараНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) ПараметрыПодбора = Новый Структура; ПараметрыПодбора.Вставить(«ЗакрыватьПриВыборе», Истина); ПараметрыПодбора.Вставить(«МножественныйВыбор», Истина); ПараметрыПодбора.Вставить(«ВыборГруппИЭлементов», ИспользованиеГруппИЭлементов.ГруппыИЭлементы); ОткрытьФорму(«Справочник.Номенклатура.ФормаВыбора», ПараметрыПодбора, Элементы.КатегорииТовара); КонецПроцедуры &НаСервере Процедура ИтоговаяТаблицаОбработкаВыбораНаСервере(ВыбранноеЗначение) Для Каждого вЗнч Из ВыбранноеЗначение Цикл нстр=объект.КатегорииТовара.Добавить(вЗнч); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура КатегорииТовараОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ИтоговаяТаблицаОбработкаВыбораНаСервере(ВыбранноеЗначение); КонецПроцедуры
Результат:
Добавить комментарий