Полный синтаксис (нажмите, чтобы раскрыть)
СписокЗначений
Описание:
Список значений — это не сохраняемый в базе данных объект, который позволяет строить для решения интерфейсных задач динамические наборы значений и манипулировать ими (добавлять, редактировать, удалять элементы, сортировать). Он может быть наполнен значениями любого типа, т.е. в одном списке типы хранимых значений могут быть разными. Одним из примеров использования данного объекта может служить организация выбора конкретного документа из списка возможных документов, сформированного по сложному алгоритму.
Элементы коллекции:
ЭлементСпискаЗначений
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл
. При обходе выбираются элементы коллекции.
Возможно обращение к элементу коллекции посредством оператора […]. В качестве аргумента передается индекс элемента (нумерация с 0
).
Свойства:
Методы:
Конструкторы:
&НаКлиенте Процедура ВыполнитьКод(Команда) /// Как создать список значений в 1с 8.3, 8.2 /// Как добавить элемент в список значений в 1с 8.3, 8.2 // — представление ) Список. // значения могут быть разных типов /// Как вставить элемент в список значений в 1с 8.3, 8.2 /// Как обойти элементы списка значений в 1с 8.3, 8.2 Сообщить( Строка(Элемент. ) КонецЦикла /// Как очистить список значений в 1с 8.3, 8.2 Список. Список. Список. /// Как узнать количество элементов списка значений, а также Сообщить(Список[ КонецЦикла /// Как найти элемент списка по его значению в 1с 8.3, 8.2 /// Как узнать индекс элемента в списке в 1с 8.3, 8.2 // стало: среда, понедельник, вторник Список. // или так // Список.Удалить(0); // стало: вторник понедельник Цвета = Цвета. Цвета. Цвета. /// Как выгрузить значения списка в массив в 1с 8.3, 8.2 /// Как загрузить значения списка из массива в 1с 8.3, 8.2 КонецПроцедуры /// Как сделать немодальный выбор значения из списка Цвета = Цвета. Цвета. Цвета. // процедура ПослеВыбораЭлемента определена чуть ниже Цвета. «Выберите любимый цвет» КонецПроцедуры &НаКлиенте Если Сообщить(Элемент. КонецЕсли КонецПроцедуры /// Как сделать немодальную отметку значений из списка Цвета = Цвета. Цвета. Цвета. // процедура ПослеОтметкиЭлементов определена чуть ниже Цвета. «Выберите любимые цвета» Цвета. КонецПроцедуры &НаКлиенте Если Для Если Сообщить(Цвет. КонецЕсли КонецЦикла КонецЕсли КонецПроцедуры /// Как сделать модальный выбор значения из списка в 1с 8.3, 8.2 Цвета = Цвета. Цвета. Цвета. ВыбЦвет = Если Сообщить(ВыбЦвет. КонецЕсли КонецПроцедуры /// Как сделать модальную отметку значений из списка Цвета = Цвета. Цвета. Цвета. Если Для Если Сообщить(Цвет. КонецЕсли КонецЦикла КонецЕсли // а вот так можно разом установить все отметки КонецПроцедуры /// Скачать и выполнить эти примеры на компьютере |
Очень часто бывает необходимо на форме дать возможность пользователю выбрать настройки на форме (перед нажатием кнопки «Выполнить все»). Когда нужно выбрать одно значение из нескольких предопределенных – часто используется выпадающий список значений 1С на форме.
Выпадающий список значений 1С на форме — добавьте на форму толстого клиента поле выбора, уточните его название. Чтобы пользователь не мог изменять список – снимите галочку «Редактирование текста» в свойствах поля выбора.
Сам список выбора добавим программно в обработчике формы «ПриОткрытии». У поля выбора есть подчиненный список значений ЭлементыФормы.ИмяПоляВыбора.СписокВыбора, а для установки значения по умолчанию, и для определения выбранного значения ЭлементыФормы.ИмяПоляВыбора.Значение:
Процедура ПриОткрытии()
ЭлементыФормы.ВыборЗначения.СписокВыбора.Очистить();
ЭлементыФормы.ВыборЗначения.СписокВыбора.Добавить(0, «Создать документ»);
ЭлементыФормы.ВыборЗначения.СписокВыбора.Добавить(1, «Изменить документ»);
ЭлементыФормы.ВыборЗначения.СписокВыбора.Добавить(2, «Удалить документ»);
ЭлементыФормы.ВыборЗначения.Значение = 0;
КонецПроцедуры
Выпадающий список значений 1С на форме — в тонком клиенте на форму нужно создать реквизит формы, в котором мы будем хранить результат, например с типом строка. Перетащите его на форму.
Выпадающий список значений 1С на форме — Вариант 1)
- Включим кнопку выбора списка
- В свойстве «Список выбора» нажмите «…» и введите варианты
- Результат выбора будет сохранен в выбранном реквизите
Выпадающий список значений 1С на форме — Вариант 2)
- Включим кнопку выбора списка
- Добавим обработчик «НачалоВыбораИзСписка»
&НаКлиенте
Процедура ВыбранноеЗначениеНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
Элементы.ВыбранноеЗначение.СписокВыбора.Добавить(«Добавить документ»);
Элементы.ВыбранноеЗначение.СписокВыбора.Добавить(«Редактировать документ»);
Элементы.ВыбранноеЗначение.СписокВыбора.Добавить(«Удалить документ»);
КонецПроцедуры
Результат аналогичный. Требуется, если список должен быть заполнен ссылками на справочники/документы, которые не являются предопределенными.
Выпадающий список значений 1С на форме — Вариант 3)
Данный вариант работает аналогично, но интерфейсно выглядит по другому.
Для того чтобы открыть форму выбора с отбором в 1с 8.2
(обычные формы), нам нужно выполнить некоторые действия. Сначала мы ее получим. После этого выставим отбор и программно откроем, вот пример кода:
Отбор на форме в поле ввода 1С 8.2 с несколькими значениями
В примере выше мы рассмотрели как устанавливать отбор на форме выбора
по конкретному значению. Теперь давайте рассмотрим ситуацию когда нужно подставить несколько значений, это может быть например как массив, так и выгрузка из результата запроса. Это отбор в поле ввода 1с
с несколькими значениями.
Для начала получаем форму выбора, в параметрах передаем «Элемент» (владельца), устанавливаем флаг режима выбора. Потом создаем список значений и массив, отмечаем что в качестве отбора когда устанавливается вид сравнения в списке, может присутствовать объект только с типом СписокЗначений
. Добавляем элементы в массив, затем этот массив загружаем в СписокЗначений который в следствии мы устанавливаем в отборе. Также не забываем включить флаг использования данного отбора, и установить ВидСравнения.
Установка отбора в поле ввода на форме в 1С 8.3, событие НачалоВыбора
Теперь рассмотрим отбор в поле ввода на управляемой форме в 1С 8.3
. Найдем на форме интересующий нас элемент, в котором мы будем устанавливать отбор, в нашем случае это поле «Организация». Находим событие «НачалоВыбора», щелкаем на лупу и оказываемся в процедуре. Мы видим параметр ДанныеВыбора, этот параметр имеет тип СписокЗначений. Для того чтобы ограничить выбор необходимыми элементами, нам необходимо заполнить СписокЗначений. Элементы выбрать можем только на сервере, поэтому создаем процедуру с директивой компиляции &НаСервере. В данной процедуре заполняем ДанныеВыбора.