|
Двумерный массив с заранее неизвестным количеством элементов | ☑ | ||
---|---|---|---|---|
0
ligatr
07.02.19
✎
16:37
|
Как создать массив с заранее неизвестным количеством элементов?
|
|||
1
sieben
07.02.19
✎
16:40
|
Переменная = Новый Массив;
Так-то! |
|||
2
InosDev
07.02.19
✎
16:41
|
МассивСЗаранееНеизвестнымКоличествомЭлементов = Новый Массив;
|
|||
3
OldCondom
07.02.19
✎
16:44
|
Эх вы.
ДвумерныйМассивСЗаранееНеизвестнымКоличествомЭлементов = Новый Массив(Новый Массив); |
|||
4
ligatr
07.02.19
✎
16:45
|
Этот вариант походит для одномерного массива.
Если попробовать вставлять длементы с двумя интедксами , то система пишет "Индекс находится за границами массива", а если сделать так Переменная = Новый Массив (10, 10) то все работает. Мне нужно чтобы было как-то так Массив (, 10) |
|||
5
OldCondom
07.02.19
✎
16:48
|
кажется в (3) лохонулся. Вот вам и компетенция 1Сников...
|
|||
6
palsergeich
07.02.19
✎
16:48
|
(4) А вы точно в 1с хотите многомерные массивы?)
Наверное это настолько не нужно что никто об этом даже не подумал. Если не секрет, в рамках какой задачи это потребуется? |
|||
7
palsergeich
07.02.19
✎
16:49
|
Просто конструктор по количеству элементов таки ждёт число и безразмерный вариант на этапе проектирования не рассматривался скорее всего.
|
|||
8
ligatr
07.02.19
✎
16:50
|
Давайте я опиши задачу полностью может ее лучше делать не через массив.
- Есть Excel-файл. Из него надо импортировать данные в табличную часть документа (примерно половина полей). - Для того чтобы сформировать втору часть ТЧ мне необходимо при помощи запроса "присобачить" данные из связанных данных. По отдельности все работает, а вот слить все вместе я хотел через массив. Есть ли другие варианты решения? |
|||
9
Вафель
07.02.19
✎
16:50
|
(4) а смысл? все равно память не выделишь нужную сразу
|
|||
10
ДенисЧ
07.02.19
✎
16:51
|
(8) Таблица значений чем не подхдит?
|
|||
11
Михаил Козлов
07.02.19
✎
16:52
|
Заведите таблицу значений с 10-ю колонками.
|
|||
12
Mikeware
07.02.19
✎
16:52
|
(8) таблицу значений украли?
|
|||
13
ligatr
07.02.19
✎
16:53
|
C Таблицей значений еще не работал
|
|||
14
ДенисЧ
07.02.19
✎
16:53
|
(13) У тебя есть отличный повод пополнить свои знания
|
|||
15
OldCondom
07.02.19
✎
16:53
|
(10) Тем, что ТЗ обрабатывается на сервере, где может не быть excel
|
|||
16
SleepyHead
гуру
07.02.19
✎
16:55
|
(2) (3) Эх вы!
ДвумерныйМассивСЗаранееНеизвестнымКоличествомЭлементовИмениНуралиеваБорисаГеоргиевича = Новый Массив(Новый Массив); |
|||
17
SUA
07.02.19
✎
16:55
|
(15) см (8) - запрос не работает на клиенте и двумерный массив все равно не съест
|
|||
18
OldCondom
07.02.19
✎
16:58
|
(16) ошибку выдаст) В параметр нужен фиксированный массив или пустое значение.
|
|||
19
Михаил Козлов
07.02.19
✎
17:01
|
(15) Можно и без Экселя через табличный документ.
|
|||
20
SleepyHead
гуру
07.02.19
✎
17:01
|
(18)
#ВыполнитьВоЧтоБыТоНиСтало! |
|||
21
azernot
07.02.19
✎
17:04
|
КоличествоЭлементовПервогоИзмерения = 10;
КоличествоЭлементовВторогоИзмерения = 10; Массив = Новый Массив; //Заполнение Для А = 0 по КоличествоЭлементовПервогоИзмерения Цикл Массив.Добавить(Новый Массив); Для Б = 0 по КоличествоЭлементовВторогоИзмерения Цикл Массив[А].Добавить(А * Б) КонецЦикла; КонецЦикла; Для А = 0 по КоличествоЭлементовПервогоИзмерения Цикл Для Б = 0 по КоличествоЭлементовВторогоИзмерения Цикл Сообщить(Массив[А][Б]); КонецЦикла; КонецЦикла; |
|||
22
Lama12
07.02.19
✎
17:09
|
(20) Ну вот. Пошли спойлеры.
|
|||
23
Конструктор1С
07.02.19
✎
17:13
|
Тут вам не "крутые" языки программирования, где таблицу принято изображать двумерным массивом. В 1с есть ТаблицаЗначений.
|
|||
24
Конструктор1С
07.02.19
✎
17:15
|
(15) таблица формы решит эту проблему
|
|||
25
spiller26
07.02.19
✎
17:24
|
ДвумерныйМассив = Новый Массив(2, 8);
|
|||
26
Lama12
07.02.19
✎
17:24
|
(0) Если есть такое желание работать именно с массивом, то что мешает использовать одномерный как двумерный?
Создай структуру в которой будешь хранить текущую размерность и сам массив. Напиши API для работы с такой структурой. Любой многомерный массив можно представить в виде одномерного. Задача-то для начинающего программиста ООП. Классы то поди создавать умеешь в том же C++? |
|||
27
spiller26
07.02.19
✎
17:32
|
(25) Короче вот тебе
https://helpf.pro/faq8/view/1497.html |
|||
28
spiller26
07.02.19
✎
17:35
|
(16)
ДвумерныйМассив = Новый Массив; МассивВторогоПорядка = Новый Массив; ДвумерныйМассив[1][5] = "1"; Значение = ДвумерныйМассив[1][5]; Значение2 = ДвумерныйМассив.Получить(1).Получить(5); Если выйдешь за грань то ругнется, незаполнено = Неопределено. |
|||
29
Сияющий в темноте
07.02.19
✎
23:06
|
в чем проблема?
поступим как в регистре сведений-таблица из трех колонок,в первой первый индекс,во второй-второй,а в третьей значение,индексирует по первым двум и у вас двумерный произвольный массив. |
|||
30
Скиурус
07.02.19
✎
23:14
|
Массив массивов уже отменили?
|
|||
31
Salimbek
07.02.19
✎
23:19
|
(29) Если с такой стороны зайти, то (навеяно (21) )...
КоличествоЭлементовПервогоИзмерения = 10; КоличествоЭлементовВторогоИзмерения = 10; Массив = Новый Соответствие; //Заполнение Для А = 0 по КоличествоЭлементовПервогоИзмерения Цикл Для Б = 0 по КоличествоЭлементовВторогоИзмерения Цикл Массив.Вставить(""+А+";"+Б,А * Б); КонецЦикла; КонецЦикла; Для А = 0 по КоличествоЭлементовПервогоИзмерения Цикл Для Б = 0 по КоличествоЭлементовВторогоИзмерения Цикл Сообщить(Массив[""+А+";"+Б]); КонецЦикла; КонецЦикла; |
|||
32
Сияющий в темноте
07.02.19
✎
23:23
|
можно в соответствие или структуру присать ключ,однозначно сформированный из двух индексов.
просто,массив массивов,это набор обьектов,а таблица-это один обьект,и с ней работать проще. опять же массив с элементами 1,10 и 2,5 через массив массивов не получается,т.к.дофига элементов придется в Неопределено установить,а в таблице будет две строки. |
|||
33
VladZ
07.02.19
✎
23:41
|
(0) Зачем?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |