Универсальные коллекции значений 1С — временные наборы данных в памяти на время сеанса, не объекты базы данных. У каждой — свой способ адресации элементов и свои гарантии по порядку.
| Коллекция | Ключ / индекс | Порядок обхода |
|---|---|---|
| Массив | числовой индекс | гарантирован |
| Структура | имя-строка | не гарантирован |
| Соответствие | значение любого типа | не гарантирован |
| ТаблицаЗначений | индекс строки + имя колонки | гарантирован |
| СписокЗначений | числовой индекс, +Представление/Пометка/Картинка | гарантирован |
| ДеревоЗначений | индекс строки в своём уровне + иерархия (Родитель) | гарантирован в пределах уровня |
| COMSafeArray | числовой индекс на измерение, не обязательно с 0 | гарантирован |
Массив, Структура и Соответствие дополнительно есть в неизменяемых («фиксированных») версиях — годятся как ключ кэша ПовторноеИспользованиеЗначений или значение параметра сеанса. У ТаблицыЗначений, СпискаЗначений и ДереваЗначений фиксированной версии нет.
ДеревоЗначений — по сути иерархическая версия ТаблицыЗначений: те же колонки и почти те же методы строк, плюс Родитель и вложенные Строки у каждой строки.
COMSafeArray стоит в стороне от остальных: это не «родная» коллекция 1С, а обёртка над Windows-типом SAFEARRAY для обмена типизированными массивами с внешними COM-объектами через OLE Automation — используется только там, где это явно требуется, а не как замена Массиву внутри обычного кода.