Коллекции значений 1С


Коллекции значений 1С — это универсальные объекты Массив, Список значений, Таблица значений, Дерево значений, Структура, Соответствие.


Универсальные коллекции значений в 1С:

  • Коллекции значений 1С — Массив
    Простейший набор значений, например – массив из 7 значений: 1,2,5,20,»Зеленый»,’20120610120000′,2350
  • Коллекции значений 1С — Список значений
    Массив с расширенным функционалом – каждое значение имеет «представление» (то, как оно будет отображено пользователю в интерфейсе), сортировка, интерфейсные функции (используется для выбора значения из списка на форме в «выпадающем списке»).
  • Коллекции значений 1С — Таблица значений
    То же, что и табличная часть, но с возможностью динамически создавать и использовать нетипизированные колонки. Представляет собой обычную таблицу, аналогичную таблице Excel. В виде таблицы значений можно получить результат запроса из базы данных.
  • Коллекции значений 1С — Дерево значений
    Расширенная таблица значений, у которой каждая строка может иметь подчиненные строки.
  • Коллекции значений 1С — Структура
    Аналог подобных объектов из других языков программирования – создание динамического набора переменных с именами.
  • Коллекции значений 1С — Соответствие
    Соответствие пар значений. Аналогично структуре, но вместо «название переменной – значение» в соответствии используется «одно значение – другое значение».

Все виды универсальных коллекций в 1С имеют схожие методы управления (методы), например: Добавить(), Удалить(), Найти() и т.п.

К значениям любой коллекции можно обращаться схожими способами.

Для «неименованных» коллекций – по индексу (массив, список значений):

  • Коллекция.Получить(Индекс) и Коллекция.Установить(Индекс)
  • Коллекция[Индекс]

Для «именованных» коллекций – по имени (значение поля в строке таблицы – по имени колонки):

  • Коллекция.Имя
  • Коллекция[«Имя»]

При передачи коллекции как параметр внутрь процедуры/функции – изменения внутри функции сохранятся после выхода из нее, например:
Процедура ДобавитьЗначение(сзПример)
     сзПример.Добавить(100);
КонецПроцедуры

сзПример = Новый СписокЗначений();
сзПример.Добавить(200);

ДобавитьЗначение(сзПример); //вызываем процедуру
Сообщить(сзПример.Количество()); //в массиве будет 2 значения, хотя одно добавлено вне процедуры, а одно внутри


Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (19 голосов, среднее: 3,42 из 5)
Загрузка...

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