Загрузка номенклатуры из Exel

  • Автор темы Guest
  • Дата начала
G

Guest

#1
Здраствуйте, у меня проблемка. Я написал скриптик загрузки номенклатуры в торговлю+склад 1с 7.7, но он все наименования добовляет в корень, не хочет строить иерархический список, не подскажите в чем проблема?


Код:
Процедура Сформировать()
спр=СоздатьОбъект("Справочник.ТМЦ");
имя="";
путь="";
ФС.ВыбратьФайл(0,имя,путь,,"(*.xls)|*.xls",,);
Пут=путь+имя;
если ПустоеЗначение(Пут)=1 тогда возврат; Конецесли;

Excel = СоздатьОбъект("Excel.Application");
Excel.Application.Workbooks.Open(СокрЛП(Строка(Пут)));
флаг=0;Сч=1; группа="";
Пока флаг=0 Цикл
Если ПустоеЗначение(Excel.ActiveWorkbook.activesheet.cells(Сч,1).value)=0 Тогда
спр.НоваяГруппа();
спр.Наименование=СокрЛП(строка(Excel.ActiveWorkbook.activesheet.cells(Сч,1).value));
спр.Записать();
группа=СокрЛП(строка(Excel.ActiveWorkbook.activesheet.cells(Сч,1).value));
Иначе
Если ПустоеЗначение(Excel.ActiveWorkbook.activesheet.cells(Сч,2).value)=0 Тогда
спр.ИспользоватьРодителя(группа);
спр.НоваяГруппа();
спр.Наименование=СокрЛП(строка(Excel.ActiveWorkbook.activesheet.cells(Сч,2).value));
спр.Записать();
группа=СокрЛП(строка(Excel.ActiveWorkbook.activesheet.cells(Сч,2).value));
Иначе
Если ПустоеЗначение(Excel.ActiveWorkbook.activesheet.cells(Сч,3).value)=0 Тогда
спр.ИспользоватьРодителя(группа);
спр.НоваяГруппа();
спр.Наименование=СокрЛП(строка(Excel.ActiveWorkbook.activesheet.cells(Сч,3).value));
спр.Записать();
группа=СокрЛП(строка(Excel.ActiveWorkbook.activesheet.cells(Сч,3).value));
Иначе
Если ПустоеЗначение(Excel.ActiveWorkbook.activesheet.cells(Сч,4).value)=0 Тогда 
спр.ИспользоватьРодителя(группа);
спр.Новый();
спр.Наименование=СокрЛП(строка(Excel.ActiveWorkbook.activesheet.cells(Сч,5).value));
спр.Артикул=СокрЛП(строка(Excel.ActiveWorkbook.activesheet.cells(Сч,4).value));
спр.Записать();
иначе
флаг=1;
Конецесли;
Конецесли;
Конецесли;
Конецесли;
Сч=Сч+1;
КонецЦикла;
Excel.ActiveWorkbook.Close();
Excel.Quit();
КонецПроцедуры
 
K
#2
<!--QuoteBegin-Джек Воробей+22:12:2007, 07:18 -->
<span class="vbquote">(Джек Воробей @ 22:12:2007, 07:18 )</span><!--QuoteEBegin-->Если ПустоеЗначение(Excel.ActiveWorkbook.activesheet.cells(Сч,1).value)=0 Тогда
спр.НоваяГруппа();
спр.Наименование=СокрЛП(строка(Excel.ActiveWorkbook.activesheet.cells(Сч,1).valu
e));
спр.Записать();
группа=СокрЛП(строка(Excel.ActiveWorkbook.activesheet.cells(Сч,1).value));
Иначе
[snapback]90952" rel="nofollow" target="_blank[/snapback]​
[/quote]

Попробуй группа = спр.ТекущийЭлемент();