Инструменты пользователя

Инструменты сайта


1c:коллекции

Универсальные коллекции. Основные моменты.

Коллекции значений не могут храниться в базе данных(массив, таблица значений, список значений) и в большинстве случаев обладают одинаковым набором свойств и методов, создание большинства коллекций происходит с помощью метода Новый.

Обращение к элементам коллекции.

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

СписокНоменклатуры[3]

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

Для сч = 0 По НашСписок.Количество() – 1 Цикл
	Значение = НашСписок[сч]
КонецЦикла

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

Для каждого СтрокаТаблицы Из ТаблицаЗначений Цикл
	Сообщить(СтрокаТаблицы.КакаяНибудьКолонка)
КонецЦикла

Здесь на каждом проходе цикла мы получаем следующее значение из коллекции.

Добавление и удаление элементов в коллекции

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

НоваяСтрока = ТаблицаСДанными.Добавить();
НоваяСтрока.КакаяТоКолонка = КакоеТоЗначение

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

НашаТаблица.Удалить(3)

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

НужнаяСтрока = НашаТаблица.Найти(ЗдесьБудетЗначение)
Если НужнаяСтрока <> Неопределено Тогда
	НашаТаблица.Удалить.Удалить(НужнаяСтрока);
КонецЕсли;

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

Только авторизованные участники могут оставлять комментарии.
1c/коллекции.txt · Последнее изменение: 2016/10/18 14:16 — admin