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

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


1c:коллекции:таблица_значений

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

Описание

Таблица значений это один из самых частых используемых коллекций и одна из самых удобных. Используется для хранения данных разных объемов, как больших так и маленьких.

Внимание.Таблица значений доступна только на сервере.

Таблицу значений можно характеризовать следующими свойствами:

  • Таблица значений имеет коллекцию строк и коллекцию колонок.
  • Колонки таблицы значений могут быть строго типизированы, хотя это необязательно.
  • Таблица значений может быть выведена на форму и обработана пользователем.

Таблица значений представляет широкий выбор возможностей для обработки ее значений:

  • Построение индексов для более быстрой обработки.
  • Выгрузка загрузка, как всей таблицы, так и отдельных строк\столбцов, копирование и заполнение значений.
  • Использование отборов.
  • Сортировка по столбцам.
  • Свертывание.
  • Выгрузка полностью или частично.

Создание и использование

Создание таблицы значений происходит с помощью метода Новый:

НоваяТаблица = Новый ТаблицаЗначений;
//После создания таблицы значений необходимо определить колонки таблицы значений:
НоваяТаблица.Колонки.Добавить(«Колонка1»);

Так как колонки таблицы значений это коллекция, для нее доступен не только метод добавить но и остальные методы характерные для коллекций(Найти, Вставить, Удалить).

При определении колонки кроме имени можно указать ее тип, заголовок и ширину колонки. Последние два параметра необходимы для уточнения как будет выглядеть таблица на форме. Тип колонки задается совершенно не очевидно, для этого в качестве параметра, нужно передать значение с типом ОписаниеТипов. Более детальный синтаксис можно посмотреть здесь: Общие объекты->Описание типов значений, но к примеру если просто нужен тип справочник номенклатура то проще его будет указать так:

ТипНоменклатура = Новый ОписаниеТипов(«СправочникСсылка.Номенклатура»);
МояТаблица.Колонки.Добавить("Номенклатура", ТипНоменклатура);

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

НоваяСтрокаТаблицы = НоваяТаблица.Добавить();
//Далее следует заполнение колонок таблицы
НоваяСтрокаТаблицы.Колонка1 = ЗначениеДляЗаполнения

Другие часто используемые операторы при работе с таблицей значений

  • Очистить – очищает таблицу от данных, сохраняя структуру, параметров не имеет
  • НайтиСтроки(Отбор) – ищет строки по указанному отбору, который должен быть структурой. Возвращает массив строк, следует учесть что метод возвращает массив с ссылками на строки таблицы, следовательно изменяя строки в массиве мы изменяем их в таблице.
  • Скопировать – позволяет скопировать всю таблицу или определенные строки и колонки, возвращает таблицу значений. Параметры указывать необязательно, если вы хотите скопировать всю таблицу значений. Например:
    МассивСтрок = НайтиСтроки(Новый Структура("КолонкаРаз",ЗначениеДляПоиска)); 
    КопияТаблицы = НоваяТаблица.Скопировать(МассивСтрок, "КолонкаРаз,КолонкаДва,КолонкаТри");
  • Заполнить - заполняет колонку\колонки определенным значением.
    НоваяТаблица.Заполнить(Значение, "КолонкаРаз");
  • Найти() – ищет значение в одной колонке или во всех, возвращает строку таблицы значений или Неопределенно. Пример
    НайденнаяСтрока = НоваяТаблица.Найти(Значение, "КолонкаРаз");
  • Итог("НазваниеКолонки") – Выводит итог по числовым данным в указанной колонке. Возвращает итог или Неопределенно, если среди значений в колонке, число не было обнаружено.
  • Свернуть – группирует строки таблицы, суммируя числовые колонки, оставляя только уникальные значения в суммированных колонках то есть при наличии вот такой таблицы.
    № пп Номенклатура Количество
    1 Лопата 5
    2 Вилы 6
    3 Грабли 9
    4 Лопата 4
    5 Грабли 2
    Итого 26 штук

    После метода Свернуть Таблица.Свернуть("Номенклатура", "Количество"); мы получим вот такую таблицу:

    № пп Номенклатура Количество
    1 Лопата 9
    2 Вилы 6
    3 Грабли 11
    Итого 26 штук

Так как таблица значений недоступна на клиенте, для отображения таблицы на форме необходимо использовать метод ЗначениеВДанныеФормы(ТаблицаСДанными, ТаблицаНаФорме)

Только авторизованные участники могут оставлять комментарии.
1c/коллекции/таблица_значений.txt · Последнее изменение: 2016/11/25 16:38 — alex