Изучаем список значений 1С 8.3 (8.2).

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

Работать со списком значений (создавать, заполнять и т.д.) можно и в тонком, и в толстом клиенте.

Программно в конфигураторе 1С создать список значений необходимо при помощи конструктора Новый.

Список = Новый СписокЗначений;

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

Как добавить новое значение в список

Для того чтобы нам начать работать со списком значений, необходимо заполнить его элементами.

Сделать это можно тремя способами: добавить новый элемент (добавится в конец списка), вставить новый элемент в нужное место и загрузить элементы из массива. Для добавления элемента в конец списка используется метод Добавить(), а для вставки элемента в нужное место списка – метод Вставить()

Метод добавить имеет следующий синтаксис:

Добавить(<Значение>, <Представление>, <Пометка>, <Картинка>)

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

Представление  —  задаем, каким образом объект будет представлен пользователю в списке. Имеет тип строка. Это необязательный параметр, в случае отсутствия представления объект будет показан в обычном виде.

Пометка -задает, будет ли у данного объекта в списке пометка выбора или нет. Имеет тип Булево. Тоже необязательный параметр.

Картинка – картинка, которая привяжется к нужному элементу.

Обязательным является первый параметр.

Добавить элементы можно так:

Список.Добавить(100, «Число 100»);
Список.Добавить(10 , «Число 10»);

А можно и так:

Список.Добавить(100);
Список.Добавить(10);

Метод Вставить имеет следующий синтаксис.

Вставить(<Индекс>, <Значение>, <Представление>, <Пометка>, <Картинка>)

Все параметры, кроме Индекса, точно такие же, как у метода Добавить.

Параметр Индекс указывает непосредственно номер позиции, на который устанавливается элемент. Элемент, который был на этом индексе, сдвигается на плюс один, и все последующие элементы тоже.

Т.е. при написании следующего кода:

Список = Новый СписокЗначений;
Список.Добавить(100, «Число 100»);
Список.Добавить(10 , «Число 10»);
Список.Вставить(0,1000, «Число 1000»);

Элементы будут расположены таким образом:

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

Как загрузить массив в список значений

С помощь метода ЗагрузитьЗначения в список значений можно загрузить одномерный массив.

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

Делается это достаточно просто – необходимо передать в метод нужный массив.

Массив = Новый Массив;
Массив.Добавить(«Иванов И.И»);
Массив.Добавить(«Петров А.Н»);
Список = Новый СписокЗначений;
Список.ЗагрузитьЗначения(Массив);

Загрузить массив в список значений 1С

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

Мы научились добавлять, вставлять и загружать элементы в список значений, рассмотрим, что вообще такое Элемент списка значений.

Если элементы массива это и есть те значения, которые хранятся в массиве, то элементом списка значений является отдельный объект, который имеет свойства и методы. Все параметры метода Добавить списка значений являются свойствами элемента списка значений, который будет создан при помощи этого метода. Любой список значений состоит из объектов Элемент списка значений. Мы можем обратиться к любому элементу списка значений и работать с ним самостоятельно как с объектом. Но объект Элемент списка значений не может существовать без своего родителя — Списка значений.

Обратиться непосредственно к элементу списка значений можно двумя способами: с помощью оператора квадратные скобки и с помощью метода Получить.

Вот так:

ПервыйЭлемент = Список[0];

Или вот так:

ПервыйЭлемент = Список.Получить(0);

В метод получить передается только один параметр – индекс нужного элемента

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

Причем можно как считать значение нужного свойства, так и записать в это свойство какое-либо значение.

ПервыйЭлемент = Список.Получить(0);
ПервыйЭлемент.Представление = «Иванов Иван Иванович»;
Сообщить(ПервыйЭлемент.Значение + » — » + ПервыйЭлемент.Представление);

Значения свойств элемента списка значений 1С

Как перебрать список значений

Перебрать список значений довольно просто – необходимо воспользоваться или циклом Для…Цикл, тогда получать элемент списка значений нужно будет посредством квадратной скобки (или метода Получить), или циклом Для каждого Цикл, в этом случае мы будем получить уже непосредственно элемент в каждой итерации цикла.

Для н = 0 по Список.Количество() — 1 Цикл
   
ЭлемСписка = Список[н];
   
Сообщить(ЭлемСписка.Значение);
КонецЦикла;

Обратите внимание, что максимальное значение счетчика цикла должно соответствовать количеству элементов списка минус один, т.к. индекс начинается с нуля.

Гораздо практичнее пользоваться циклом Для каждого Цикл

Для Каждого ЭлемСписка из Список Цикл
   
Сообщить(ЭлемСписка.Значение);
КонецЦикла;

В этом случае, мы сразу получаем нужный элемент списка в каждой итерации.

Работа со списком значений на управляемой форме

Статьи о других универсальных коллекциях значений в 1С

Соответствия в 1С

Таблица значений 1С

Массив в 1С

Структура в 1С

Более подробно о работе со списками значений и другими интересными объектами языка программирования в 1С читайте в моей книге «Программировать в 1С за 11 шагов»

Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

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

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

19 + 2 =