1с 8 перебор списка значений

Описание:

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

Элементы коллекции: ЭлементСпискаЗначений

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.

Возможно обращение к элементу коллекции посредством оператора [. ]. В качестве аргумента передается индекс элемента (нумерация с 0).

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

Содержание

  1. Элемент списка значений
  2. Создание списка значений
  3. Границы списка значений
  4. Перебор элементов списка значений
  5. Поиск в списке значений
  6. Сортировка списка значений
  7. Создание списка значений
  8. Инициализация элементов списка значений
  9. Манипуляция элементами списка
  10. Интерактивные функции
  11. Перебор элементов списка значений

Элемент списка значений

Каждый элемент списка является программным объектом ЭлементСпискаЗначений встроенного языка и содержит следующие свойства:

  • Значение (Произвольный тип) — хранимое значение произвольного типа
  • Представление (Строка) — представление элемента списка для пользователя
  • Пометка (Булево) — значение пометки элемента в списке
  • Картинка (Картинка) — картинка элемента списка для пользователя

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

Создание пустого списка значений выполняется с помощью оператора Новый:

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

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

Так и справа: в выражениях и в качестве параметров процедур и функций:

Границы списка значений

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

Давайте рассмотрим распространенные операции со списком значений.

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

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

Либо оператор цикла Для Каждого :

Второй способ больше подходит для ситуации, когда нужно только последовательно перебрать все значения списка. Его использование повышает «читабельность кода».

Поиск в списке значений

Для поиска значений в списке предназначен метод СписокЗначений.НайтиПоЗначению(). Он возвращает найденный элемент списка значений, либо Неопределено , если указанного значения в списке нет.

Сортировка списка значений

Сортировка элементов в списке значений может производиться двумя способами:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник: computermaker.info

Понравилась статья? Поделиться с друзьями:
Ок! Компьютер
Добавить комментарий