Работа с массивом в стуктуре, таблице значений

1. vesta 09.08.13 11:00 Сейчас в теме
Добрый день! Большая просьба помочь со следующей проблемой:
Необходимо хранить массив строк в какой-либо универсальной коллекции значений.
Но организовать это у меня не получается.
Так например для 1 элемента необходимо хранить массив из одного символа ( Н-р 0)
Для второго элемента необходимо хранить массив из 2-х элементов ( 0,1)
Для третьего соответственно (0,1,2)
Следующий код:

Массив1 = Новый Массив;
ХранениеМассива = Новый Структура;

Для Инд=0 По 2 Цикл
Массив1.Добавить(Инд);
Стр = "_"+Строка(Инд);
ХранениеМассива.Вставить(Стр, Массив1);
КонецЦикла;

приводит к тому что в значениях структуры хранится одинаковый массив , т.е.
для ключа _0 хранится значение 0 1 2
и для ключа _2 хранится 0 1 2 .
Как я понимаю значениях структуры хранится ссылка на массив.
Эксперименты с хранением массива в таблице значений тоже приводит к тому что во всех строчках таблицы хранится одинаковый массив

Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. DJDUH 17 09.08.13 11:19 Сейчас в теме
(1) vesta, А так:
Для Инд=0 По 2 Цикл 
 Массив1.Добавить(Инд); 
 Стр = "_"+Строка(Инд); 
 ХранениеМассива.Вставить(Стр, Массив1[Инд]);  
 КонецЦикла;
2. alexk-is 6546 09.08.13 11:16 Сейчас в теме
Массив1 = Новый Массив;
ХранениеМассива = Новый Структура;

Для Инд=0 По 2 Цикл
Массив1.Добавить(Инд);
Стр = "_"+Строка(Инд);
ХранениеМассива.Вставить(Стр, Массив1[Инд]);
КонецЦикла;
Показать


Так?
4. mymyka 09.08.13 11:42 Сейчас в теме
Массив хранит только ссылки, при каждом обходе он просто дополняется. Для хранения необходимо использовать устойчивые структуры. Причем при каждом обходе вложенную коллекцию необходимо пересоздавать.
Например, так
Структура = Новый Структура;
	Для i=1 по 3 Цикл
		Список = Новый СписокЗначений;
		Для j = 0 по i Цикл
			Список.Добавить(j);
		КонецЦикла;
		ИмяЭлемента = "фыв"+Строка(i);
		Структура.Вставить(ИмяЭлемента,Список);
	КонецЦикла;
	Для Каждого КлючИЗначение из Структура Цикл
		Сообщить(КлючИЗначение.Значение.Количество());
	КонецЦикла;
Показать

Хотя мб и с массивом прокатит...вообщем, так или иначе, ключ решения в пересоздании вложенной коллекции на каждой итерации цикла.
6. vesta 09.08.13 15:00 Сейчас в теме
(4) mymyka, спасибо!!!
Храню в структуре не массив, а список значений.
Задача у меня решена.
5. vesta 09.08.13 11:55 Сейчас в теме
Большое спасибо всем за предложенные идеи! Буду смотреть и ломать голову, как и что может пригодиться для реальной поставленной задачи.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот