Для разработчика » Содержание справочника » Раздел 3. Встроенные вспомогательные типы данных » 
0

СписокЗначений

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

Список значений используется в двух случаях:

  1. При работе с формами: при размещении на форме элементов управления типа Список и ПолеСоСписком, они автоматически связываются с объектом типа СписокЗначений;
  2. При работе с кодом: для хранения каких-либо расширяемых списочных данных вы создаете нужное количество объектов типа СписокЗначений;

Хочется отметить, что объекты типа СписокЗначений не хранятся в информационной базе.

Создание списка значений

Как и все объекты агрегатного типа, список значений создается с помощью специальной функции СоздатьОбъект() встроенного языка:

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

Инициализация элементов списка значений

Каждый элемент списка значений характеризуется следующими свойствами:

  • Значение — само значение;
  • Представление — строковое представление значения;
  • Пометка — числовое значение, означающее, что данный элемент отмечен в списке;

По умолчанию, список значений создается пустым. Для добавления нового элемента списка значений, используется метод ДобавитьЗначение() объекта:

сз.ДобавитьЗначение(1, "Один");
сз.ДобавитьЗначение(2, "Два");

Обратите внимание, что вместе со значением Вы можете указать его строковое представление.

Манипуляция элементами списка

Над элементами списка значений возможны различные действия, включая вставку новых элементов, сортировку, изменение и удаление существующих.

Вставка новых значений возможна в произвольное место списка. Для этого используется метод ВставитьЗначение():

сз.ВставитьЗначение(1, 100, "100 руб.");

Для получения значения элемента списка, используется метод ПолучитьЗначение() объекта:

Значение = сз.ПолучитьЗначение(1);

Удаление элементов списка производится с помощью метода УдалитьЗначение():

сз.УдалитьЗначение(Позиция);

Интерактивные функции

Объект СписокЗначений имеет несколько методов, позволяющих взаимодействовать с пользователем. Например, с помощью метода ВыбратьЗначение() можно предложить пользователю выбрать одно из значений:

Рез = сз.ВыбратьЗначение(ВыбЗначение, "Укажите стоимость");

Также, можно предложить пользователю отметить одно или несколько элементов списка. Для этого используется метод ОтметитьЗначения(), который выводит список с пометками (checkboxes):

Рез = сз.ОтметитьЗначения();

Найти все отмеченные пользователем значения можно, используя перебор элементов в цикле, и метод Пометка(), который возвращает статус пометки элемента:

Отмечен = сз.Пометка(1);

Перебор элементов списка значений

Для перебора (обхода) всех элементов списка значений обычно используется оператор цикла Для:

Для Инд = 1 По сз.РазмерСписка() Цикл
    Сообщить("сз[" + Инд + "] = " + сз.ПолучитьЗначение(Инд));
КонецЦикла;

Методы объекта СписокЗначений

Методы манипулирования элементами
ДобавитьЗначение() метод добавляет новое значение в конец списка
ВставитьЗначение() метод выполняет вставку нового значения на указанной позиции списка
ПолучитьЗначение() метод возвращает значение элемента по его позиции в списке значений
УстановитьЗначение() метод выполняет установку существующего значения на указанной позиции
Получить() метод возвращает значение элемента по его строковому представлению
Установить() метод выполняет установку значения по его строковому представлению
НайтиЗначение() метод выполняет поиск значения в списке
СдвинутьЗначение() метод выполняет сдвиг значения в списке
УдалитьЗначение() метод выполняет удаление элемента списка на указанной позиции
УдалитьВсе() метод выполняет очистку списка значений
Сортировать() метод выполняет сортировку элементов списка значений по их значению
СортироватьПоПредставлению() метод выполняет сортировку элементов списка значений по их представлению
Методы манипулирования списком значений
РазмерСписка() метод возвращает размер (количество элементов) списка значений
Выгрузить() метод выгружает значения списка в другой список или таблицу значений
Интерактивные методы
ВыбратьЗначение() метод предлагает пользователю выбрать значение из списка в интерактивном окне
ТекущаяСтрока() метод возвращает\устанавливает текущую строку, выделенную в элементе управления на форме
ОтметитьЗначения() метод предлагает пользователю выставить пометки напротив элементов списка в интерактивном диалоговом окне
Пометка() метод определяет, установлена ли пометка напротив указанного значения
Специальные методы
Принадлежит() метод определяет, принадлежит ли списку указанное значение
ВСтрокуСРазделителями() метод выполняет упаковку значений списка в строку
ИзСтрокиСРазделителями() метод выполняет распаковку значений списка из строки

Читайте также:

  1. Работа с массивами

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *