0

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

Выполнить такое преобразование очень просто. Но для этого нужно определиться, как мы будем хранить данные таблицы значений: либо это будет массив структур, либо структура структур. Принципиальной разницы тут нет и каждый может выбрать тот вариант, который больше по душе.

Рассмотрим такое преобразование на примере структуры структур:

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

Обратите внимание на наличие вложенного цикла. Если планируется использование алгоритма на больших объемах данных, возможно понадобится слегка оптимизировать алгоритм, вынеся вложенный цикл формирования структуры строки за цикл обхода строк.

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

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

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

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