При формировании пользовательского интерфейса прикладной задачи довольно часто возникают ситуации, когда для удобства работы пользователя необходимо дать ему возможность выбирать какое-либо значение из заранее подготовленного списка. Возможности работы со справочниками, журналами и перечислениями предоставляют достаточно мощные средства выбора этих объектов. Однако, существует также необходимость в выборе значений из списков, сформированных и отсортированных нестандарнным образом, которые невозможно или неудобно получать непосредственно при работе со стандартными визуальными представлениями журналов, справочников или перечислений. Для этого в системе 1С:Предприятие используется специальный агрегатный тип данных — «СписокЗначений» и специальные элементы форм диалога: «Список» и «Поле со списком».


Объект типа «СписокЗначений» — это средство языка (не сохраняемый в БД объект), которое позволяет строить «динамические массивы» и манипулировать ими (добавлять, редактировать, удалять элементы, сортировать). Список значений может быть наполнен значениями любого типа, т. е. в одном списке типы хранимых значений могут быть разными. Одним из примеров использования данного объекта может служить организация выбора конкретного доку­мента из списка возможных документов, сформированного по сложному алгоритму.


Контекст работы со Списком Значений


Во всех программных модулях вызов соответствующих методов может выполняться при помощи переменной со ссылкой на объект типа «СписокЗначений». Такие объекты можно создавать при помощи функции СоздатьОбъект, ссылка на который присваивается переменной. Кроме того, если в форму диалога при помощи визуальных средств конфигуратора вставлены специальные элементы форм диалога «Список» и «Поле со списком», то идентификаторы этих элементов доступны в контексте программного модуля этой формы как уже существующие объекты типа «СписокЗначений».


Чтобы вызвать метод объекта, имя метода (с указанием необходимых параметров) пишется через точку после имени объекта.


При создании объекта типа «СписокЗначений» при помощи функции СоздатьОбъект, в качестве названия агрегатного типа данных обязательно Должно выступать ключевое слово СписокЗначений.


Англоязычный синоним ключевого слова СписокЗначений — ValueList.


Пример:
МойСписок = СоздатьОбъект("СписокЗначений");

Методы объекта Список Значений:
ДобавитьЗначение
Добавить значение в список.


Синтаксис:
ДобавитьЗначение(<Значение>, <Строка>)

Англоязычный синоним:
AddValue


Описание:
Метод ДобавитьЗначение добавляет значение и его символьное представление в конец списка. Представление используется в дальнейшем для удобства сортировки и выбора значений из списка (отображается в диалоговом окне выбора).


Пример:


// Объявляем переменные
Перем Список;
Перем ВР;
// процедура выбора значения
Процедура ВыбратьВР()
Если Список.ВыбратьЗначение(ВР, "Выбор дог: паты") = 1 Тогда
Расчет = ВР;
НазваниеВР = Расчет.Код;
КонецЕсли;
КонецПроцедуры
// инициализация переменных
Список = СоздатьОбъект("СписокЗначений");
Список.ДобавитьЗначение(ВидРасчета.ДоплатаЛроцентом, "Процентом");
Список.ДобавитьЗначение(ВидРасчета.ДоплатаСуммой, "Суммой");
// первоначальное значение
НазваниеВР = Расчет.Код;