(
0) Ну как-то так ... :
Состояние(" Производится определение пути к загружаемому файлу.");
ИмяПути = КаталогИБ(); ИмяФайла = "";
спрПути = СоздатьОбъект("Справочник.ПутиЗагрузки");
спрПути.НайтиПоКоду(14,0);
Если спрПути.Выбран()=1 Тогда ИмяПути = СокрЛП(спрПути.Наименование); КонецЕсли;
Состояние(" Производится запрос файла для загрузки документа.");
ЗаглВвода = " Выберите файл для загрузки:";
Если ФС.ВыбратьФайл(0,ИмяФайла,ИмяПути,ЗаглВвода,"(*.xls)|*.xls")<1 Тогда
Предупреждение("Файл для загрузки данных выбран не был !");
Возврат;
КонецЕсли;
Состояние(" Производится запрос листа файла для загрузки.");
ЗаглВвода = " Укажите лист для загрузки:"; ЗагрЛист = "Лист1";
Если (ВвестиСтроку(ЗагрЛист,ЗаглВвода,20,0)<1) или (ПустаяСтрока(ЗагрЛист)=1) Тогда
Предупреждение("Лист для загрузки указан не был !");
Возврат;
КонецЕсли;
Состояние(" Производится открытие файла и выбор загружаемого листа.");
ЛистВыбран = "Нет";
Excel = СоздатьОбъект("Excel.Application");
WorkBook = Excel.WorkBooks.Open(ИмяПути+ИмяФайла);
Для НомерЛиста=1 По WorkBook.WorkSheets.Count Цикл
Если WorkBook.WorkSheets(НомерЛиста).Name=ЗагрЛист Тогда
ЗагрЛист = WorkBook.WorkSheets(НомерЛиста);
ЛистВыбран = "Да";
Прервать;
КонецЕсли;
КонецЦикла;
Если ЛистВыбран="Нет" Тогда
Предупреждение(" Указанный лист для загрузки в файле не обнаружен !");
Возврат;
КонецЕсли;
Состояние("Производится проверка наличия данный на указанном листе файла.");
ВсегоСтрок = ЗагрЛист.UsedRange.Rows.Count;
Если ВсегоСтрок=0 Тогда
Предупреждение(" Указанный Вами лист для загрузки пуст !");
Возврат;
КонецЕсли;
Состояние(" Производится запрос начальной строки для загрузки.");
НачСтрока = 10; ЗаглВвода = " Укажите номер начальной строки:";
Если (ВвестиЧисло(НачСтрока,ЗаглВвода,5,0)<1) или (НачСтрока=0) Тогда
Предупреждение("Начальная строка для загрузки указана не была !");
Возврат;
КонецЕсли;
// ЗАГРУЗКА ДАННЫХ ИЗ ФАЙЛА
спрНоменкл = СоздатьОбъект("Справочник.Номенклатура");
начСостояния = " Обрабатывается строка № ";
конСостояния = " из "+ВсегоСтрок+" строк.";
Для НомСтроки=НачСтрока По ВсегоСтрок Цикл
Состояние(начСостояния+НомСтроки+конСостояния);
// Считывание строки данных
КолонкаВ = СокрЛП(ЗагрЛист.Cells(НомСтроки,"B").Text);
КолонкаС = СокрЛП(ЗагрЛист.Cells(НомСтроки,"C").Text);
КолонкаЕ = Число(ЗагрЛист.Cells(НомСтроки,"E").Value);
// Обработка полученных данных
...
КонецЦикла;
Состояние(" Производится завершение загрузки данных из файла.");
Excel.ActiveWorkbook.Close();
Excel.Quit();