====== Универсальные коллекции. Основные моменты. ======
Коллекции значений не могут храниться в базе данных(массив, таблица значений, список значений) и в большинстве случаев обладают одинаковым набором свойств и методов, создание большинства коллекций происходит с помощью метода ''Новый''.
===== Обращение к элементам коллекции. =====
Элементами коллекции могут быть строки, колонки таблицы значений, элементы списка значений и тд. Обращаться к элементам коллекции возможно с помощью индекса, например:
СписокНоменклатуры[3]
важно знать, что индекс начинается с нуля. Можно обойти элементы коллекции в цикле, для этого существуют два варианта:
Для сч = 0 По НашСписок.Количество() – 1 Цикл
Значение = НашСписок[сч]
КонецЦикла
Как можно заметить здесь используется обращение к данным по индексу в цикле. Также очень удобно для любой коллекции использовать обход в цикле ''Для каждого''. Например:
Для каждого СтрокаТаблицы Из ТаблицаЗначений Цикл
Сообщить(СтрокаТаблицы.КакаяНибудьКолонка)
КонецЦикла
Здесь на каждом проходе цикла мы получаем следующее значение из коллекции.
===== Добавление и удаление элементов в коллекции =====
Для добавления элементов в коллекцию используется метод ''Добавить()'' который работает в большинстве случаев следующим образом:
НоваяСтрока = ТаблицаСДанными.Добавить();
НоваяСтрока.КакаяТоКолонка = КакоеТоЗначение
Удаление значений из коллекции, происходит с помощью метода ''Удалить() ''для того что бы удалить значение из коллекции необходимо указать индекс или в некоторых случаях сам элемент коллекции, например:
НашаТаблица.Удалить(3)
удалит четвертую строку из массива.
Для того, передать методу сам элемент коллекции, его нужно сначала получить или найти. Обычно это выглядит так:
НужнаяСтрока = НашаТаблица.Найти(ЗдесьБудетЗначение)
Если НужнаяСтрока <> Неопределено Тогда
НашаТаблица.Удалить.Удалить(НужнаяСтрока);
КонецЕсли;
То есть мы нашли сначала строку а потом ее передали в качестве аргумента методу Удалить()
Для большинства коллекций доступен метод Очистить() который позволяет быстро удалить все значения из коллекции.