Перезаписывается значение ранее добавленного элемента массива. В чем может быть дело?

1. Marliiin 08.06.20 16:59 Сейчас в теме
Добрый день, коллеги.

В общем, обнаружил проблему в своей обработке.

По какой-то причине в момент выполнения вложенного цикла изменяются уже добавленные в массив элементы.

Имеется кусок кода:


МассивДанныхДляДокументов = новый Массив;
Счетчик = 0;
Пока Счетчик < 100  Цикл
	
	СтруктураДанных  = Новый Структура;
	
	Для Каждого Строка из МассивНастроек Цикл
		
		СтруктураНастроек = Новый Структура;
		
		ЗаполнитьСтруктуруНастроекРекурсивно(СтруктураНастроек, Строка);  //вот на этой строчке происходит редактирование 
                                                                                                                                          //предыдущего элемента
		
		СтруктураДанных.Вставить(Строка.Имя, СтруктураНастроек);
		
	КонецЦикла;
	
	МассивДанныхДляДокументов.Добавить(СтруктураДанных);
	Счетчик = Счетчик + 1;
	
КонецЦикла;
Показать



В коде отметил строчку, на которой происходит редактирование элемента.
В чем может быть дело?

Надо как-то явно после добавления в массив структуру уничтожать, недостаточно написать потом что эта переменная равна новой структуре?
Найденные решения
4. Marliiin 08.06.20 20:29 Сейчас в теме
(2) (3)

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

Вопрос решен)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. comptr 35 08.06.20 18:06 Сейчас в теме
А может быть среди МассивНастроек встречаются те, что имеют одинаковые Строка.Имя?
3. VictorRGB2 14 08.06.20 19:00 Сейчас в теме
без отладчика действительно тяжко, в (2) самое реальное предположение высказали

замените МассивНастроек на СтруктуруНастроек
создание\обращение тогда будет по ключу структуры и сразу увидите где дубли появились
4. Marliiin 08.06.20 20:29 Сейчас в теме
(2) (3)

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

Вопрос решен)
Оставьте свое сообщение

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