Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Подскажите, пожалуйста, как добавить в массив в качестве элемента значение, а не ссылку

Подскажите, пожалуйста, как добавить в массив в качестве элемента значение, а не ссылку
Я
   Arhivarius777
 
21.11.21 - 00:38
Всем доброго времени суток! Я очень начинающий 1С-ник, когда-то давно работал админом и изучал Python, а еще раньше в институте С++. Делаю печатную форму для экземпляра бюджета. В одном месте функции формирования печатной формы кусок кода должен группировать строки, взятые запросом из Регистра Накоплений Обороты Бюджета, по статьям бюджета. Вот он:

Группа = Новый Массив;
    
Для Каждого Статья из СтатьиБюджета Цикл
        
    Группа.Очистить();
    
    Для Каждого ТекущаяСтрока из Выборка Цикл
            
        Если ТекущаяСтрока.СтатьяБюджетов = Статья Тогда
                
            Группа.Добавить(ТекущаяСтрока)
                
        КонецЕсли;
                            
    КонецЦикла;

    СтрокиВыборки.Добавить(Группа);
        
КонецЦикла;

СтатьиБюджета - это массив статей бюджета, Выборка - это результат запроса к регистру накоплений, СтрокиВыборки - массив, в котором строки будут сгруппированы для вывода.
По задумке он должен перебирать массив статей бюджета и если текущая строка в регистре по этой статье, то добавлять ее в массив Группа. Когда проходит все строки Выборки, то массив Группа добавляется элементом в массив СтрокиВыборки, массив Группа очищается, и цикл переходит к следующей статье бюджета из массива СтатьиБюджета.

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

У меня создалось впечатление, что строкой кода "СтрокиВыборки.Добавить(Группа)" я добавил не текущее значение этого массива, а ссылку на него, и после каждой итерации предыдущие элементы СтрокиВыбора меняются на текущий.

Подскажите, пожалуйста, как добавить значение массива Группа в массив СтрокиВыборки, и чтобы оно не менялось с изменением массива Группа?
Заранее спасибо, и сильно не ругайте, если я что-то не так написал в терминологии.
   Сергиус
 
1 - 21.11.21 - 00:45
(0)Группа.Добавить(ТекущаяСтрока.Ссылка), ну или как там у тебя в запросе это поле называется
   Сергиус
 
2 - 21.11.21 - 00:46
+(1)А вообще лучше более полное описание предоставить
   Йохохо
 
3 - 21.11.21 - 00:51
массив ссылочный тип, баян, поменять очистить на Новый
   Arhivarius777
 
4 - 21.11.21 - 00:54
(1) (3) Спасибо, попробую!
   Arhivarius777
 
5 - 21.11.21 - 01:08
(1) Спасибо, но не помогло. (3) Спасибо, помогло! Для тех, кто будет гуглить и найдет эту тему, что я в итоге сделал: первую строчку вырезал и вставил ее вместо третьей. Надеюсь, поможет тому, кто гуглил.
   mszsuz
 
6 - 21.11.21 - 01:14
(5) Спасибо что пришли! Приходите ещё, пожалуйста!

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.