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

Тема в разделе "1C и всё что с ней связано", создана пользователем -, 22 дек 2007.

  1. Гость

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


    Код (Text):
    Процедура Сформировать()
    спр=СоздатьОбъект("Справочник.ТМЦ");
    имя="";
    путь="";
    ФС.ВыбратьФайл(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();
    КонецПроцедуры
     
  2. kaa

    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]

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

    Спасибо большое, все работает)
     
Загрузка...

Поделиться этой страницей