Имя: Пароль:
1C
1С v8
Объясните поведение платформы
,
0 Alexander_1c
 
26.07.13
08:29
Доброго времени суток коллеги.
Есть образный код:  
НовыйМассив =  Новый Массив;
Атрибуты =  Новый Массив;
.........

Атрибуты.Добавить("Строка1");
Атрибуты.Добавить("Строка2");
Атрибуты.Добавить("Строка3");
НовыйМассив .Добавить(Атрибуты);
// в 1 элемента массива есть значение НовыйМассив [0][0] = "Строка1"
Атрибуты.Очистить();
// а после этого НовыйМассив [0][0] пусто


Атрибуты.Добавить("Строка4");
Атрибуты.Добавить("Строка5");
Атрибуты.Добавить("Строка6");
НовыйМассив .Добавить(Атрибуты);
// в 1 элемента массива есть значение НовыйМассив [0][0] = "Строка4"  почему??? была же "Строка1"
Атрибуты.Очистить();
// а после этого НовыйМассив [0][0] пусто


Объясните, почему он заменяет значение 1 элемента массива НовыйМассив
Хотя элемент добавляется.
1С 8.2 управляемые формы. Заранее спасибо
1 1Сергей
 
26.07.13
08:31
ты пихаешь ссылку на один и тотже массив 2 раза
2 Starhan
 
26.07.13
08:32
Потому что в [0][0] ссылка на массив

дальше рассказывать?
3 Starhan
 
26.07.13
08:32
(2)в НовыйМассив [0]
fixed
4 Alexander_1c
 
26.07.13
08:33
А каким образом это обойти?
5 Живой Ископаемый
 
26.07.13
08:33
v8: Список Значений в Таблице Значений

читать буквари не через строчку, а подряд
6 1Сергей
 
26.07.13
08:34
(4)
...
Атрибуты.Очистить();
// а после этого НовыйМассив [0][0] пусто

НовыйМассив =  Новый Массив;

Атрибуты.Добавить("Строка4");
...
7 1Сергей
 
26.07.13
08:34
* точнее Атрибуты =  Новый Массив;
8 Alexander_1c
 
26.07.13
08:48
Спасибо. Проблема решилась созданием массива списка значений
Атрибуты.Добавить("Строка1");
                НовыйМассив.Добавить(Атрибуты.Скопировать());
Атрибуты.Очистить();
9 1Сергей
 
26.07.13
09:01
(8) Массив.Скопировать()?
Это 1С 9.0 чтоли?
10 cw014
 
26.07.13
09:02
(9) Может это недокументированная фишка
11 1Сергей
 
26.07.13
09:04
(10) о, я кажется догадываюсь как её реализовать
12 cw014
 
26.07.13
09:06
(11) Мы не дочитали сообщение в (8): Проблема решилась созданием массива СПИСКА ЗНАЧЕНИЙ
13 cw014
 
26.07.13
09:06
(8) И помоему ты проигнорировал все советы которые тебе дали и сделал по своему, с преферансом и куртизанками
Программист всегда исправляет последнюю ошибку.