Имя: Пароль:
1C
1С v8
Как скопировать массив структур в массив
0 LoydWeb
 
24.11.12
13:53
Здравствуйте! Необходима в созданный массив передавать массивы структур по циклу

МассивОплаты  = Новый Массив;
Для Каждого смена ИЗ Смены Цикл
Отчет.Очистить();
           
СтруктураПоиска                = Новый Структура("НомерСмены");
               СтруктураПоиска.НомерСмены     = смена;
               ПозицияОплаты = НайтиСтроки(Эквайринг,СтруктураПоиска);
               МассивОплаты.Добавить(ПозицияОплаты);

СтруктураПоиска            = Новый Структура("НомерСмены,ЧекЗакрыт");
           СтруктураПоиска.НомерСмены = смена;
           СтруктураПоиска.ЧекЗакрыт  = Истина;
           Врем                       = НайтиСтроки(Чеки, СтруктураПоиска);
           Для Каждого Чек Из Врем Цикл
               СтруктураПоиска                = Новый Структура("НомерДокумента,НомерСмены");
               СтруктураПоиска.НомерДокумента = Чек.НомерДокумента;
               СтруктураПоиска.НомерСмены     = смена;
               ПозицииЧека = НайтиСтроки(Позиции, СтруктураПоиска);

                           
               Для Каждого Позиция Из ПозицииЧека Цикл
                   

                   РезПозиция = Новый Структура("Код, Количество, Цена, Сумма, Скидка, Дата"
                   , Позиция.Код
                   , Позиция.Количество
                   , Позиция.Цена
                   , Позиция.Сумма
                   , СкидкаВрем
                   , Позиция.Дата);
                   Отчет.Добавить(РезПозиция);

               КонецЦикла;
           КонецЦикла;
        МассивОтчетов.Добавить(Отчет);
       КонецЦикла;

Когда добавляю массив структур в массив, то все элементы массива заменяются последним переданным массивом. Подскажите что я не так делаю?
1 LoydWeb
 
24.11.12
13:55
В начале текста конечно же не МассивОплат, а МассивОтчетов
2 МишКа
 
24.11.12
14:04
(1) А в середине?
3 LoydWeb
 
24.11.12
14:11
Там все правильно, только там добавляет в другой массив. А вот массив структур который должен добавляться в МассивОтчетов, почему то заменяет все значения массива на последний добавленный элемент
4 LoydWeb
 
24.11.12
14:25
Почему затираются предыдущие элементы массив, не могу понять???
5 Фокусник
 
24.11.12
14:33
(0) в начале цикла массив Отчет заново создавай, а не очищай
6 quest
 
24.11.12
14:33
Потому что отчет - не простой тип
7 LoydWeb
 
24.11.12
14:54
(5) Спасибо большое! Заработало!
Ошибка? Это не ошибка, это системная функция.