Имя: Пароль:
1C
1С v8
Как узнать уровень группировки в табличном документе ?
,
0 zerbite
 
11.02.16
15:40
задача, нужно из екселевского документа загрузить номенклатуру со структурой папок.
файл выглядит вот так http://c2n.me/3uaYY8o
далее я создаю внешнюю обработку УФ в которой создаю реквизит табличный документ и размешаю ее на форме, после чего в режиме предприятия копирую туда данные из ексель и получается следующее http://c2n.me/3uaZtBg
в него переносятся все данные вместе с группировками.
я могу получить данные ячеек из табличного документа, а как получить уровень группировки? чтобы можно было создать структуру папок, а потом товары в этих папках.
1 Фрэнки
 
11.02.16
15:48
Я бы посмотрел отладчиком на доступные реквизиты у значения Область в поле Табличный документ. Т.к. к полю табличный документ применим метод Область, то в эту область передавать строчку целиком и смотреть есть там что-то похожее на Уровень или нет.
2 zerbite
 
11.02.16
15:55
я уже все это сделал... нет там
я уже пытался через область обратится и к ячейке и к строке  и в отладчике не нашел ни чего похожего на уровень группировки
3 zerbite
 
11.02.16
15:55
Для й=1 По Таблица.ВысотаТаблицы Цикл
        Таблица.Область("R"+й).АвтоОтступ=2;
        В1=СокрЛП(Таблица.Область("R"+й+"C1").Текст);
        В2=СокрЛП(Таблица.Область("R"+й+"C2").Текст);
        В3=СокрЛП(Таблица.Область("R"+й+"C3").Текст);
        В4=СокрЛП(Таблица.Область("R"+й+"C4").Текст);
        
        Сообщить("В1="+В1+" В2="+В2+" В3="+В3+" В4="+В4+" АвтоОтступ="+Таблица.Область("R"+й).АвтоОтступ);
        Продолжить;
        
//        Таблица
        Таблица.ПоказатьУровеньГруппировокСтрок();
        Таблица.ПолучитьОбласть("R2c2");
        Таблица.Область("R2").АвтоОтступ=1;
        Таблица.КоличествоУронейГруппировокСтрок();
        Таблица.ПоказатьУровеньГруппировокСтрок();
        
    КонецЦикла;
4 Фрэнки
 
11.02.16
16:28
(3) посмотрел по синтаксис-помощнику, подумал.
Похоже что вложенность групп, т.е. уровень придется как-то считать, а не получать произвольным образом из текущей строки.

т.е. сгруппированные области, например, построчно получают имена и все. Если встретится одно и тоже наименование группы, но разрываемое группой "верхнего уровня", то группа оказывается просто разорванной. Имена групп, скорей всего, не уникальны.
5 Фрэнки
 
11.02.16
16:28
мы просто привыкли, что уровень - это уровень, а внутри табличного документа все обрабатывается как наименование группы, без уровня.