Меню Закрыть

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

Содержание

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

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

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

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

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

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

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

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

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

Добавить( , , , )

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

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

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

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

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

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

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

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

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

Вставить( , , , , )

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

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

Читайте также:  Help internet beeline ru настройка роутера

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Искажение звука при воспроизведении видео

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Совместимость кулеров am3 и am4


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

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

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

Описание:

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

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

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

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

« Как стать программистом 1С » Язык 1С » Список значений 1С Загрузить значения, Выгрузить значения — экспорт, импорт значений

Список значений 1С Загрузить значения, Выгрузить значения — экспорт, импорт значений

Методы 1С СписокЗначений.ЗагрузитьЗначения(Массив) и 1С СписокЗначений.ВыгрузитьЗначения() позволяют сделать список значений из массива и наоборот – массив из списка значений.

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

Чтобы создать список значений из массива с помощью 1С СписокЗначений.ЗагрузитьЗначения:
мЗначений = Новый Массив(3);
мЗначений[0] = 10;
мЗначений[1] = 20;
мЗначений[2] = 30;

спЗначений = Новый СписокЗначений(); //обратите внимание – список значений нужно сначала создать, прежде чем наполнить значениями из массива
спЗначений.ЗагрузитьЗначения(мЗначений); //теперь список значений содержит 3 значения: 10, 20, 30

Чтоб создать массив из списка значений с помощью 1С СписокЗначений.ВыгрузитьЗначения:
спЗначений = Новый СписокЗначений();
спЗначений.Добавить(10);
спЗначений.Добавить(20);
спЗначений.Добавить(30);

мЗначений = спЗначений.ВыгрузитьЗначения(); //обратите внимание – массив не нужно заранее создавать! Он сразу создается с данными!

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.