• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

Guest

Здраствуйте, у меня проблемка. Я написал скриптик загрузки номенклатуры в торговлю+склад 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

kaa

<!--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]

Попробуй группа = спр.ТекущийЭлемент();
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!