Имя: Пароль:
1C
1С v8
Как получить строку-родитель для текущей строки в файле Excel с группировками?
0 SerF_2011
 
30.05.12
21:12
Собственно, сабж.
Обхожу экселевский файл в цикле, в файле иерархическая структура многоуровневая с "плюсиками", нужно узнать какая строка является строкой-родителем для текущей.
Искал в темах форума, нашел как определить уровень и принадлежность група/не группа. Но как обратиться к строке-родителю???
1 SerF_2011
 
30.05.12
21:39
Кто направит, кто поможет?
2 SerF_2011
 
30.05.12
22:57
up
3 SerF_2011
 
31.05.12
08:29
up
4 smaharbA
 
31.05.12
08:30
ф1
5 IamAlexy
 
31.05.12
08:30
(0) пойти с другой стороны?
загрузить все в дерево и далее уже обрабатывать дерево в 1С ?
6 Робинзон Крузо
 
31.05.12
08:32
(0) Попробуй задать этот вопрос на специализированных на VB и VBA форумах.
7 SerF_2011
 
02.06.12
23:07
Вобщем все решилось благополучно.
Может кому то пригодится.
В цикле перебора строк в заранее определенном массиве под индексом текущего уровня сохранял номер текущей строки. Находясь на уровне N, получал номер строки родителя из Массив[N-1]. Дальше обращался к строке-родителю по номеру и получал нужную информацию.
Есть только косяк с группировками - когда в одном файле несколько группировок 1го уровня, метод, возвращающий текущий уровень, начинает тупить. Чтобы это обойти - просто сделал несколько обрабатываемых диапазонов, равных количеству группировок 1го уровня.
8 SerF_2011
 
02.06.12
23:12
Предки = Новый Массив(9);

Для i = 1 По НужныйДиапазон.Rows.Count Цикл
   СтрокаДокумента = НужныйДиапазон.Rows.Item(i);
       
... ... ...
       
       ТекУровень = СтрокаДокумента.OutlineLevel;
   Предки[ТекУровень] = СтрокаДокумента.Row;
       
... ... ...

КонецЦикла;
9 SerF_2011
 
02.06.12
23:14
НомСтрРодителя = Предки[ТекУровень - 1];

СтрокаРодитель = ДиапазонДляПоискаСтрок.Rows.Item(НомСтрРодителя);
Наименование   = СокрЛП(СтрокаРодитель.Cells(НомерКолонкиИмя).Text);