profile="http://gmpg.org/xfn/11"> Таблица значений в 1С:Предприятии 8.0, 8.1, 8.2 | Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

Таблица значений в 1С:Предприятии 8.0, 8.1, 8.2

Таблица значений в 1С:Предприятии 8.0, 8.1, 8.2.
Таблица значений — набор разных по типу данных объектов, сгруппированных для выполнения какой-либо задачи. Набор представлен в виде двухмерной таблицы. Имеются колонки (столбцы) и строки. Сама таблица физически создается в оперативной памяти компьютера. Такой объект называют: не сохраняемый объект. Таблица значений не хранится на жестком диске. Ее данные теряются при выходе из 1С:Предприятии. Таблица значений создаются динамически в результате выполнения программного кода.
Таблица имеет свои методы, свойства — что позволяет добавлять, редактировать или удалять значения, а так же другие действия применимые к объекту 1С:Предприятие 8.0,8.1,8.2. Таблица значений в 1С:Предприятии 8.0, 8.1, 8.2 может создаваться при выполнении выгрузки из запроса или при помощи конструктора. Пример создания Таблицы значения путем выгрузки из результата выполнения запроса можно посмотреть здесь.
Рассмотрим свойства и методы Таблицы значений 1С:Предприятие 8.0, 8.1, 8.2. Создадим новую таблицу значений — с использованием конструктора.
Перепишем пример по другому, без использования метода Выгрузка() результата запроса.
Пример:

Процедура СозданиеТаблицыЗначенийКонструктор()
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	РеализацияТоваровУслугТовары.Номенклатура,
	|	ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслугТовары.Номенклатура),
	|	РеализацияТоваровУслугТовары.Количество,
	|	РеализацияТоваровУслугТовары.Сумма
	|ИЗ
	|	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
	|ГДЕ
	|	РеализацияТоваровУслугТовары.Ссылка = &Ссылка";
	Запрос.УстановитьПараметр("Ссылка",ВыбДокумент);
	Результат = Запрос.Выполнить();
	ТЗО = Новый ТаблицаЗначений;
	ТЗО.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
	ТЗО.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число",
	Новый КвалификаторыЧисла(15, 3, ДопустимыйЗнак.Любой)));
	ВыборкаДетальныеЗаписи = Результат.Выбрать();
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		НоваяСтрока=ТЗО.Добавить();
		НоваяСтрока.Номенклатура=ВыборкаДетальныеЗаписи.Номенклатура;
		НоваяСтрока.Количество=ВыборкаДетальныеЗаписи.Количество;
	КонецЦикла;
КонецПроцедуры

Разберем строки примера:
В строке:

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

Создаем объект Таблица значений под именем ТЗО.

В строках:

ТЗО.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
ТЗО.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(15, 3, ДопустимыйЗнак.Любой)));

В объекте Таблицы значений вводим колонки:
Номенклатура — в это колонке построчно будут размещены данные по номенклатуре. Поэтому тип СправочникСсылка.Номенклатура.
Количество — в это колонке будет размещено количество. Соответствено тип Число размерность 15, с тремя знаками после запятой.

Заполнение таблицы значение происходит в цикле.
В строке:

НоваяСтрока=ТЗО.Добавить();

Создатеся объект строка НоваяСтрока, соственно с ней работаем дальше в цикле.

НоваяСтрока.Номенклатура=ВыборкаДетальныеЗаписи.Номенклатура;
НоваяСтрока.Количество=ВыборкаДетальныеЗаписи.Количество;

Возможно Вам интересно:
Функция СтрЧислоВхождений(ТекСтрока, ТекПодстрокаПоиска) в 1С.
Оператор ВЫБОР в запросе 1С.
Функция ПОДСТРОКА() в запросе 1С.
Как открыть общую форму в 1С 8.1, 8.2, 8.3?

Комментарии запрещены.