Имя: Пароль:
1C
1С v8
Подскажите, пожалуйста, как добавить в массив в качестве элемента значение, а не ссылку
0 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
массив ссылочный тип, баян, поменять очистить на Новый
4 Arhivarius777
 
21.11.21
00:54
(1) (3) Спасибо, попробую!
5 Arhivarius777
 
21.11.21
01:08
(1) Спасибо, но не помогло. (3) Спасибо, помогло! Для тех, кто будет гуглить и найдет эту тему, что я в итоге сделал: первую строчку вырезал и вставил ее вместо третьей. Надеюсь, поможет тому, кто гуглил.
6 mszsuz
 
21.11.21
01:14
(5) Спасибо что пришли! Приходите ещё, пожалуйста!