Имя: Пароль:
1C
1С v8
Получить индекс массива в выборке
0 Vladal
 
25.06.12
15:17
Есть массив и обход элементов массива циклом Для каждого.
Как узнать индекс массива?

Для каждого ЭлементМассива Из МассивЭлементов Цикл
...

Отладчик говорит:
Элемент.Индекс - ошибка
Элемент.Индекс() - ошибка

Думаю, переписать этот цикл оператором
Для Индекс = 0 ПО МассивЭлементов.Количество()-1 Цикл
ЭлементМассива = МассивЭлементов[Индекс]
....

А чтобы не переписывать, нет способа?
1 John83
 
25.06.12
15:18
а ЭлементМассива не пробовал? :)
2 Vladal
 
25.06.12
15:20
мне надо получить именно номер этого индекса.
Примерно, как НомерСтроки приобходе табличной части документа
3 Vladal
 
25.06.12
15:21
упс.. .в (0) правильно так:

Как узнать индекс текущего элемента массива?
4 izekia
 
25.06.12
15:22
(3) никак
5 del123
 
25.06.12
15:22
Массив (Array)
Найти (Find)
Синтаксис:

Найти(<Значение>)
Параметры:

<Значение> (необязательный)

Тип: Произвольный.
Искомое значение.
Возвращаемое значение:

Тип: Число; Неопределено.
Если элемент найден, возвращается его индекс. Если элемент не найден, возвращается Неопределено.
Описание:

Выполняет поиск элемента в массиве.
6 izekia
 
25.06.12
15:23
да, можно через найти, но должна быть уверенность в том, что элементы уникальны
7 del123
 
25.06.12
15:24
а разве каждый элемент не уникален?
8 izekia
 
25.06.12
15:24
+ потеря в производительности, такая что время потраченное на переписывание окупится
9 izekia
 
25.06.12
15:24
(7) чо?
10 del123
 
25.06.12
15:25
(9) В массиве каждый элемент уникален, разве не так? Соответственно, если даже элемент будет заполнен одинаковыми данными, Найти() все равно покажет нужный элемент?
11 del123
 
25.06.12
15:26
А хотя это больше к списку знацений да таблицам подходит..
12 izekia
 
25.06.12
15:26
массив - это просто набор значений не отягченный никакими дополнительными вещами, как например тз, там действительно каждая строка однозначно идентифицируется

у массива же элемент коллекции = значение
13 izekia
 
25.06.12
15:27
(10) нет, если ты внимательно посмотришь на описание метода, то там ты увидишь, что осуществляется поиск значения
14 Vladal
 
25.06.12
15:28
(6) Да, элементы уникальны. Попробую способом, как в (5)
15 izekia
 
25.06.12
15:31
(14) ты подумай о том, что тебе нужно пару строчек переписать, чтобы все заработало
а использование "найти" в данном случае - это откровенное быдлокодерство и каждый раз будет производиться поиск в массиве
проще уж тогда ввести локальный счетчик, хотя тоже решение загрязняющее код, но решение намного более оптимальное, чем через "найти"
16 Бледно Золотистый
 
25.06.12
15:32
Смысл, если это внутри цикла? Делай как хотел в (0).
17 izekia
 
25.06.12
15:32
будь мужиком, пиши код так, чтобы слово одинэсник не использовалось как ругательство
18 Snorkler
 
25.06.12
15:34
(14) И что вернется для значения=3 в массиве
1
3
2
3
?
19 Vladal
 
25.06.12
15:34
Переписал цикл в Для .. По...
20 Vladal
 
25.06.12
15:34
(18) х.з. некогда, пеерписал
21 Vladal
 
25.06.12
15:35
Всем спасибо, вопрос решен своим же способом из (0).
22 izekia
 
25.06.12
15:35
(18) он же написал про уникальность)
23 Vladal
 
25.06.12
15:38
(18) В моём случае элементы - то идентификаторы вида

Индекс    Идентификатор
0    "d41d8cd98f00b204e9800998ecf8427e"
1    "[email protected]"
2    "[email protected]"
3    "[email protected]"
4    "[email protected]"
5    "[email protected]"
6    "[email protected]"
7    "[email protected]"
8    "[email protected]"
9    "[email protected]"
10    "[email protected]"
11    "[email protected]"
12    "[email protected]"
13    "[email protected]"
14    "[email protected]"
15    "[email protected]"
16    "[email protected]"
17    "[email protected]"
18    "[email protected]"
19    "[email protected]"
20    "[email protected]"
21    "[email protected]"
22    "[email protected]"
23    "[email protected]"
24    "[email protected]"
25    "[email protected]"
26    "[email protected]"
27    "[email protected]"
28    "[email protected]"
29    "[email protected]"
30    "[email protected]"
31    "[email protected]"
32    "[email protected]"
33    "[email protected]"
34    "[email protected]"
35    "[email protected]"
36    "[email protected]"
37    "[email protected]"
38    "[email protected]"
39    "[email protected]"
40    "[email protected]"
41    "[email protected]"
42    "[email protected]"
43    "[email protected]"
44    "[email protected]"
45    "[email protected]"
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn