н
Stim у меня как раз-таки получилось через программную запись табличного документа в эксель.
В самом табличном документе ты никак не определишь уровень, это плоская таблица
вот моя загрузка
ИмяФайла = "D:\1с\Консалтинговый Центр (КЦ)\Справочник Номенклатуры ООО КМП_Май 2015.xlsx";
Док = ПолучитьCOMОбъект(ИмяФайла);
счСтрок = 5;
Наим = Док.Sheets(1).Cells(счСтрок,2).Value;
ТаблицаРодителей.Очистить();
//ТаблицаРодителей = Новый ТаблицаЗначений;
//ТаблицаРодителей.Колонки.Добавить("Ссылка");
//проинициализируем таблицу
//Текиндекс = 0;
//пока Текиндекс <> 10 цикл
// Строка = ТаблицаРодителей.Вставить(Текиндекс);
// Строка.Ссылка = Справочники.Номенклатура.ПустаяСсылка();
// Текиндекс = Текиндекс + 1;
//КонецЦикла;
ЭтоЭлемент = ЛОЖЬ;
Пока ЗначениеЗаполнено(Наим) Цикл
Если счСтрок>20 Тогда
прервать;
КонецЕсли;
Наименование = Док.Sheets(1).Cells(счСтрок,2).Value;
ЕдиницаДляОтчетов = Док.Sheets(1).Cells(счСтрок,3).Value;
уид = Док.Sheets(1).Cells(счСтрок,4).Value;
//..пр реквизиты
//ЕдиницаДляОтчетов= Док.Sheets(1).Cells(счСтрок,8).Value;
Уровень = Док.Sheets(1).Cells(счСтрок,1).IndentLevel ;
Уровень = Уровень + 2;//потому что начинается уровень с 0, а нулевой у нас это корень
ЭтоЭлемент = ЗначениеЗаполнено(ЕдиницаДляОтчетов) ;
// все уровни - четные, группы идут по убывающей в разрезе иерархии
//поэтому алгоритм такой:
//если это группа - создаем, родителя получаем из таблицы по индекс-2
//записываем или перезаписываем группу в таблицу со своим индексом
//если элемент - создаем, родителя получаем из таблицы по индекс-2
Сообщить("Наименование="+Наименование+" ЕдиницаДляОтчетов="+ЕдиницаДляОтчетов+" уид="+уид+" ЭтоЭлемент="+ЭтоЭлемент+" Уровень="+Уровень);
//Родитель = ТаблицаРодителей.Получить(уровень-2).ссылка;
//
//Если ЭтоЭлемент Тогда
// //создаем элемент
//
//Иначе
// //создаем группу
//
// Строка = ТаблицаРодителей.Получить(Уровень);
// Строка.Ссылка = Группа.Ссылка;
//КОнецЕсли;
//
счСтрок = счСтрок +1;
Наим = Наименование;
КОнецЦикла;
может я где ошибку допустил?