Товар
Батон
↑ МояТаблица
↑ ТЗ (параметр)

Доступ по индексу строки

ТЗ[Индекс] и ТЗ.Получить(Индекс) — синонимы, оба возвращают строку по её позиции, как Массив[Индекс]:

ПерваяСтрока = ТЗ[0];
ПерваяСтрока = ТЗ.Получить(0);   // то же самое

Индекс за пределами диапазона — исключение, как у массива, а не Неопределено.

Передача по ссылке

ТаблицаЗначений — ссылочный тип, как Массив, Структура и Соответствие. Передана в процедуру/функцию — та же ссылка, не копия: изменение строк и ячеек видно и снаружи, Знач защищает только от переприсвоения параметра целиком. Независимая копия — Скопировать().

Сравнение и проверка типа

ТЗ1 = ТЗ2 сравнивает ссылки на объект, а не содержимое — поэлементного сравнения «из коробки» нет.

ТипЗнч(ТЗ) = Тип("ТаблицаЗначений");  // Истина, если ТЗ — именно ТаблицаЗначений

Производительность

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

Место среди других коллекций

УпорядоченностьКлюч/индексТипизация
Массивстрогаячисловой индекснет
Структуране гарантированаимя-строканет
Соответствиене гарантированалюбой типнет
ТаблицаЗначенийстрогаячисловой индекс строки + имя колонкиопционально, на уровне колонки

ТаблицаЗначений — практически единственная из универсальных коллекций 1С с настоящей двумерностью и необязательной типизацией колонок; в остальном (передача по ссылке, сравнение, отсутствие параметризованного конструктора кроме структуры колонок) ведёт себя как остальные ссылочные коллекции платформы. В отличие от Массива и Структуры, фиксированной (неизменяемой) версии у ТаблицыЗначений нет — как ключ кэша ПовторноеИспользованиеЗначений она не годится.

Таблицы значений