|
корректное заполнение таблицы значений массивами |
☑ |
0
EternalFeitan
29.08.21
✎
16:26
|
Всем привет!
Как правильно в цикле заполнять ТЗ массивом?
то есть у меня цикл по выборке, в итерации заполняю массив по условию, потом этот массив закидываю в новую строчку ТЗ, на след итерации очищаю массив, и заново все. Проблема в том что при очищении массива, очищается и значение в строчке ТЗ, так как я в строчку записывал не само значение массива, а ссылку на массив и он изменился. В С++ можно было обрабатывать такой момент, а как в 1С правильно сделать?
|
|
1
youalex
29.08.21
✎
16:30
|
не надо очищать, пересоздавай каждый раз новый.
|
|
2
EternalFeitan
29.08.21
✎
16:32
|
(1) Да теперь норм, спасибо
|
|
3
серый КТУЛХУ
29.08.21
✎
17:06
|
ну или обращайся напрямую типа СтрокаТаблицыЗначений.ТутуМассив.Добавить.....
|
|
4
minsk1s
29.08.21
✎
18:27
|
// Выгружаем колонку названий таблицы значений в массив
МассивОвощей = ТЗ.ВыгрузитьКолонку("Овощь");
|
|
5
серый КТУЛХУ
29.08.21
✎
18:46
|
(4): идиосикразия или альтернативность когнитивной одаренности?
|
|
6
ДенисЧ
29.08.21
✎
18:48
|
(3) Ага. "Значение не является объектным типом..."
|
|
7
серый КТУЛХУ
29.08.21
✎
19:05
|
(6): или вы врете или у вас просто где-то в коде ошибка. потому что вотето - работает:
ТестТз = Новый ТаблицаЗначений;
ТестТз.Колонки.Добавить("ТестМассив",Новый ОписаниеТипов("Массив"));
ТестТзСтрока = ТестТз.Добавить();
ТестТзСтрока.ТестМассив = Новый Массив;
ТестТзСтрока.ТестМассив.Добавить(1);
ТестТзСтрока.ТестМассив.Добавить(2);
ТестТзСтрока.ТестМассив.Добавить(3);
ТестТзСтрока = ТестТз.Добавить();
ТестТзСтрока.ТестМассив = Новый Массив;
ТестТзСтрока.ТестМассив.Добавить(4);
ТестТзСтрока.ТестМассив.Добавить(5);
ТестТзСтрока.ТестМассив.Добавить(6);
ТестТзСтрока.ТестМассив.Добавить(7);
Возврат; // тут брейкпойнт, и по Shift+F9:
//ТестТз[0].ТестМассив.Количество() = 3
//ТестТз[1].ТестМассив.Количество() = 4
|
|
8
ДенисЧ
29.08.21
✎
19:07
|
(7) У чёрту перья, я должен видеть в (3) "Новый Массив"
|
|
9
серый КТУЛХУ
29.08.21
✎
20:23
|
(8): ты удивишься, но (7) работает и без "ТестТзСтрока.ТестМассив = Новый Массив;"
|
|
10
ДенисЧ
29.08.21
✎
20:34
|
(9) Меня не интересует (7)
Меня интересует (3)
|
|
11
серый КТУЛХУ
29.08.21
✎
20:35
|
(10): так (3) это фактически фрагмент (7), которое работает и без ТестТзСтрока.ТестМассив = Новый Массив;
|
|
12
VladZ
29.08.21
✎
23:38
|
(0) Зачем это нужно?
|
|