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

Тема в разделе "1C и всё что с ней связано", создана пользователем Evgen09, 25 фев 2009.

  1. Evgen09

    Evgen09 Гость

    Здравствуйте! Подскажите, пожалуйста! Загружаю из Excel данные, хочу обратиться к именованной области, выдает следующую ошибку: "Ошибка при вызове метода контекста (Cells): Произошла исключительная ситуация (0x800a03ec)
    ФайлСтрок = Excel.Cells(2,1).SpecialCells(21).Row;
    по причине:
    Произошла исключительная ситуация (0x800a03ec)"





    Процедура ОсновныеДействияФормыЗагрузить(Кнопка)

    НомерКолонкиАртикул = ЭлементыФормы.ТабличныйДокумент.Область("R2C1");
    НомерКолонкиНаименованияТовара = ЭлементыФормы.ТабличныйДокумент.Область("R2C2");
    НомерКолонкиЕдиницаИзмерения = ЭлементыФормы.ТабличныйДокумент.Область("R2C3";
    НомерКолонкиСтрана = ЭлементыФормы.ТабличныйДокумент.Область("R2C4)";

    //В разных версиях Excel получаются по-разному, поэтому сначала определим версию Excel
    Excel = новый COMОбъект("Excel.Application";


    Версия = Лев(Excel.Version,Найти(Excel.Version,"."-1);
    Если Версия = "8" тогда
    ФайлСтрок = Excel.Cells.CurrentRegion.Rows.Count;
    ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13);
    Иначе
    ФайлСтрок = Excel.Cells(2,1).SpecialCells(21).Row;
    ФайлКолонок = Excel.Cells(2,1).SpecialCells(21).Column;
    Конецесли;


    // Выбираем данные из файла
    Для а = Excel.Cells(2,1).SpecialCells(21).Row по ФайлСтрок Цикл

    //Полуим данные из соответсвующих ячеек
    Артикул = СокрЛП(Excel.Cells(а,Артикул).Value);
    НаименованиеТовара = СокрЛП(Excel.Cells(а,НомерКолонкиНаименованияТовара).Value);
    ЕдиницаИзмерения = СокрЛП(Excel.Cells(а,НомерКолонкиЕдиницаИзмерения).Value);

    Товар = Справочники.Номенклатура.ПустаяСсылка();

    // Ищем товар в справочнике по коду
    Товар = Справочники.Номенклатура.НайтиПоКоду.Артикул;

    // Если не нашли по коду, то ищем по наименованию
    Если Товар.Пустая() Тогда
    Товар = Справочники.Номенклатура.НайтиПоНаименованию.Наименование;
    Конецесли;

    //Если не нашли создаем новый
    Если Товар.Пустая() Тогда
    Товар = Справочники.Номенклатура.СоздатьЭлемент();
    Товар.Наименование = НаименованиеТовара;
    Товар.Артикул = Артикул;
    Товар.БазоваяЕдиницаИзмерения = ЕдиницаИзмерения;
    Товар.СтранаПроисхождения = НомерКолонкиСтрана;
    Товар.Записать();
    Конецесли;
    КонецЦикла;


    КонецПроцедуры
     
  2. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    А расскажите, пожалуйста, в чем отличие при работе с разными версиями. Что такое версия "8"?
     
Загрузка...

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