Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Создание массива структур

Создание массива структур
Я
   2dolist
 
02.04.18 - 10:55
Добрый день. Создаю массив структур в цикле

Пока Выборка.Следующий() Цикл            
  ТестСтруктура = Новый Структура("Выборка", Выборка);
  ТестМассив.Добавить(ТестСтруктура);
КонецЦикла;

В результате получается массив из одинаковых структур потому что ТестСтруктура переписывается. А как передать разные структуры?

Пример упростил, вообещ структура там потому что надо ряд значений передавать, но сейчас не принципиально.
 
 
   Cool_Profi
 
1 - 02.04.18 - 10:56
А зачем ты туда пишешь Выборку, которая при следующей итерации цикла изменится?
Создавай поля и заполняй их...
   Diman000
 
2 - 02.04.18 - 10:58
Это не из-за структуры, а из-за того что ты туда пихаешь Выборку.
   Diman000
 
3 - 02.04.18 - 10:58
Новый Структура дальше ЗаполнитьЗначенияСвойств и все взлетит.
   2dolist
 
4 - 02.04.18 - 11:01
я и не подумал на выборку и правда. Спасибо.
   Волшебник
 
5 - 02.04.18 - 11:02
Пока Выборка.Следующий() Цикл            
  ТестСтруктура = Новый Структура("Поле1, Поле2", Выборка.Поле1, Выборка.Поле2);
  ТестМассив.Добавить(ТестСтруктура);
КонецЦикла;
   ПегийЛунь
 
6 - 02.04.18 - 11:05
В частности смотрим БП 3.0.
Общий модуль "ОбщегоНазначения"
Функция ТаблицаЗначенийВМассив(ТаблицаЗначений) Экспорт
    
    Массив = Новый Массив();
    СтруктураСтрокой = "";
    НужнаЗапятая = Ложь;
    Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
        Если НужнаЗапятая Тогда
            СтруктураСтрокой = СтруктураСтрокой + ",";
        КонецЕсли;
        СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя;
        НужнаЗапятая = Истина;
    КонецЦикла;
    Для Каждого Строка Из ТаблицаЗначений Цикл
        НоваяСтрока = Новый Структура(СтруктураСтрокой);
        ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
        Массив.Добавить(НоваяСтрока);
    КонецЦикла;
    Возврат Массив;

КонецФункции

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует