1с статьи | Курс-репетитор программиста 1С

Создание и обход

// создаем таблицу значений
// тип доступен на сервере
// на клиенте недоступен
ТаблицаЗначений = Новый ТаблицаЗначений;	

// определим её колонки
ТаблицаЗначений.Колонки.Добавить("Колонка1", 
	Новый ОписаниеТипов("Булево"), "Колонка 1");
ТаблицаЗначений.Колонки.Добавить("Колонка2", 
	Новый ОписаниеТипов("Строка"), "Колонка 2");
	
// тип переменной НоваяСтрока - СтрокаТаблицыЗначений
НоваяСтрока = ТаблицаЗначений.Добавить();       
// у строки есть свойства - имена доступных колонок
НоваяСтрока.Колонка1 = Ложь;
НоваяСтрока.Колонка2 = "строка 1";

// ещё одна строка
НоваяСтрока = ТаблицаЗначений.Добавить();       
НоваяСтрока.Колонка1 = Истина;
НоваяСтрока.Колонка2 = "строка 2";

// выведем таблицу значений через Сообщить
// сначала выведем названия колонок
// есть свойство Колонки, тип КоллекцияКолонокТаблицыЗначений

МассивДляВывода = Новый Массив;

// у Колонка тип КолонкаТаблицыЗначений 
Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
	МассивДляВывода.Добавить(Колонка.Имя);	
КонецЦикла;

ТекстСообщения = СтрСоединить(МассивДляВывода, Символы.Таб);	
Сообщить(ТекстСообщения);

// обход строк циклом Для Каждого
Для Каждого Строка Из ТаблицаЗначений Цикл
	
	МассивДляВывода = Новый Массив;
	// обход колонок вложенным циклом
	Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
		// собираем в массив значения колонок строки
		// для получения значения используем Строка[Колонка.Имя]
		МассивДляВывода.Добавить(Строка[Колонка.Имя]);
	КонецЦикла;
	
	ТекстСообщения = СтрСоединить(МассивДляВывода, Символы.Таб);	
	Сообщить(ТекстСообщения);

КонецЦикла;

// Что будет выведено?

Показать решение

Элементы коллекции: СтрокаТаблицыЗначений

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.

Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс строки (нумерация с 0).

Конструкторы (По умолчанию) Синтаксис: Новый ТаблицаЗначений

Слишком маленькое разрешение экрана.