0

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

Среди методов таблицы значений нет одноименного метода, который бы позволял выгрузить таблицу значений. Но

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

Давайте на примерах посмотрим, как работает этот метод. Допустим, у нас есть таблица значений со следующей структурой:

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

//добавляем товары и услуги
НоваяСтрока = тз.Добавить();
НоваяСтрока.Код = "001";
НоваяСтрока.Наименование = "Стул деревянный";
НоваяСтрока.Категория = "Товары";
НоваяСтрока.Сумма = 8000;

НоваяСтрока = тз.Добавить();
НоваяСтрока.Код = "002";
НоваяСтрока.Наименование = "Стол деревянный";
НоваяСтрока.Категория = "Товары";
НоваяСтрока.Сумма = 10000;

НоваяСтрока = тз.Добавить();
НоваяСтрока.Код = "101";
НоваяСтрока.Наименование = "Сборка мебели";
НоваяСтрока.Категория = "Услуги";
НоваяСтрока.Сумма = 1200;

Нам требуется получить таблицу, содержащие номенклатуру с категорией «Товары» и вывести пользователю для выбора. Начинающий программист, вероятнее всего, получит эти данные полным перебором. Правильным же будет использование следующего простого кода:

//копирование по найденным строкам
мНайдСтроки = тз.НайтиСтроки(Новый Структура("Категория", "Товары"));
тзКопия = тз.Скопировать(мНайдСтроки, "Наименование,Сумма");
//или же
//копирование по отбору
тзКопия = тз.Скопировать(Новый Структура("Категория", "Товары"), "Наименование,Сумма");
//отображение диалога выбора
тзКопия.ВыбратьСтроку("Укажите товар");

Полученную таблицу тзКопия можно использовать в дальнейших алгоритмах

Читайте также:

  1. Таблица значений 1с. Описание и примеры использования

Поделиться страницей в соц.сетях

Метки: Метки

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

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