• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Загрузка номенклатуры из 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]

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

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