Записки программиста 1с

Таблица значений в языке 1С

Таблица значений в языке 1С применяется для работы с различными объектами. Тип таблица значений относиться к универсальным коллекциям значений.

Таблица значений — это не сохраняемый в базе данных объект. Он позволяет
строить динамически изменяемые наборы значений и манипулировать ими (добавлять, редактировать, сортировать и удалять элементы). Ограничений на типы хранимых значений нет, т. е. в одном списке значений могут храниться данные разных типов. В отличие от списка значений, в каждой строке которого записано одно значение (по сути, таблица из одного столбца), таблица значений имеет большое количество строк и столбцов.

Создание таблицы значений в языке 1С

Создание таблицы значений можно разделить на три этапа:

Таблица значений в языке 1С
Схема создания Таблицы значений в 1с

Во-первых инициализация таблицы значений:

Табабб=новый ТаблицаЗначений;

Во-вторых создание колонок для данной таблицы значений:

Табабб.Колонки.Добавить("Адресат");
Табабб.Колонки.Добавить("Адрес");
Табабб.Колонки.Добавить("Сообщение");

В третьих заполняем таблицу значений данными:

//заполняет строку таблицы значений
Стр = Табабб.Добавить();
	
Стр.Адресат=док.ФизЛицо;
Стр.Адрес=док.ФизЛицо.КонтактнаяИнформация[3].АдресЭП;
Стр.Сообщение="";

Cтрока таблицы значений 1c

Строка заполняется следующим образом:

Во-первых добавляем строку в таблицу значений

Стр = Табабб.Добавить();

Во-вторых заполняем строку таблицы значений данными

Стр.Адресат=док.ФизЛицо;
Стр.Адрес=док.ФизЛицо.КонтактнаяИнформация[3].АдресЭП;
Стр.Сообщение="";

Пример создания и заполнения таблицы значений:

Таблица значений в языке 1С

Методы объекта Таблица значений в языке 1с

Таблица значений в языке 1С
Методы таблицы значений 1с

Метод Добавить. Добавляет строку а конец таблицы значений.

ТЗ=новый ТаблицаЗначений;
НоваяСтрока=ТЗ.Добавить();
НоваяСтрока.Адресат="Петров Петр Иванович";
НоваяСтрока.Адрес="doc@ithelpyou.ru";
НовасСтрока.Сообщение="Добавлено значение программно";

Метод Вставить. Вставляет новый элемент в таблицу значений на позицию с указанным индексом.

ТЗ=новый ТаблицаЗначений;
НоваяСтрока=ТЗ.Вставить(2);
НоваяСтрока.Адресат="Иванов Иван Иванович";
НоваяСтрока.Адрес="doc@ithelpyou.ru";
НовасСтрока.Сообщение="Вставлено значение программно";

Метод Количество. Возвращает количество строк таблицы значений.
Синтаксис:
Количество();

Сообщить(ТЗ.Количество());

Метод Итог. Суммирует значения всех строк в указанной колонке. Суммирование производится по числовым типам данных.
Синтаксис:
Итог(Колонка);

Сообщить(ТЗ.Итог("Сумма"));

Метод Сортировать. Сортирует таблицу значений в соответствии с указанными правилами сортировки.
Синтаксис:
Сортировать(Колонки);

ТЗ.Сортировать("Адресат");

Метод Удалить. Удаляет строку таблицы значений. Номер-это номер строки таблицы значений, которую необходимо удалить.
Синтаксис:
Удалить(Номер);

Метод ВыбратьСтроку. Вызывает модальное диалоговое окно для интерактивного выбора строки из таблицы значений.
Синтаксис:
ВыбратьСтроку([Заголовок][, НачальнаяСтрока]);

Где: Заголовок — заголовок окна выбора; НачальнаяСтрока указывает строку
таблицы значений, на которой будет установлен курсор при открытии окна выбора.

Метод Очистить. Удаляет все строки таблицы значений.
Синтаксис:
Очистить();


Метод Найти. Осуществляет поиск значения в указанных колонках таблицы значений.
Синтаксис:
Найти(Значение[, Колонки]);
Значение-искомое значение; Колонки-колонки, в которых производиться поиск. Если Параметр Колонки не задан, поиск выполняется по всей таблице значений ТЗ.

Метод Свернуть. Осуществляет сворачивание таблицы значений по указанным колонкам группировки. Строки, у которых совпадают значения в колонках, указанных в первом параметре, сворачиваются в одну строку. Значения этих строк, хранящиеся в колонках, указанных во втором параметре, суммируются. Списки колонок не должны пересекаться. Колонки, не вошедшие ни в один из списков колонок, после выполнения метода удаляются из таблицы значений.
Синтаксис:
Свернуть(КолонкиГруппировки[, КолонкиСуммирования]);


Как записать результат запроса в таблицу значений?

Таблица=новый ТаблицаЗначений;
Таблица=Запрос.Выполнить().Выгрузить();

Как проверить наличие колонки в Таблице значений?

Если ТаблицаДанных.Колонки.Найти("Всего")<>Неопределено тогда
конецесли;

Проверка заполнения строки таблицы значений

если Строка.Всего<>"" тогда 
        		СтрокаРуп.МаксимальнаяНагрузка=Число(Строка.Всего);
конецесли;

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *