Импорт в 1С 7.7 из Excel. Нужна помощь

Тема в разделе "Программы", создана пользователем TеPMuHaToP, 19 дек 2013.

  1. TеPMuHaToP

    TеPMuHaToP Дарю людям ярость :)

    Кто знает где раздобыть модуль импорта из таблиц ексель в 1С предприятие версии 7.7 ?
    Кто может помочь в решении этого вопроса? Желательно комментарии здесь, или в личку.
    Ссылки на гугль не предлагать. Ссылки на первые 50страниц поиска - не предлагать.
    Предлагать только решения от людей, которые "в теме"

    Спасибо заранее. О вознаграждении или взаимовыгоде договоримся.

    Вопрос достаточно срочный
     
  2. Vladimir

    Vladimir Мастер

  3. TеPMuHaToP

    TеPMuHaToP Дарю людям ярость :)

    ого даже такое есть))))
     
  4. nick

    nick offline

    а модуль в 1С это что-то вроде этого ? (взято отсюда)
    Процедура ЧтениеXLSФайла(Элемент)

    Если ПустаяСтрока(ИмяФайла) Тогда
    Предупреждение("Для запуска обработки необходимо предварительно выбрать файл Microsoft Excel.");
    Возврат;
    КонецЕсли;

    Попытка
    // Загрузка Microsoft Excel
    Состояние("Загрузка Microsoft Excel...");
    ExcelПриложение = Новый COMОбъект("Excel.Application");
    Исключение
    Сообщить("Ошибка при загрузке Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
    Возврат;
    КонецПопытки;

    Попытка
    // Открытие файла Microsoft Excel
    Состояние("Открытие файла Microsoft Excel...");
    ExcelФайл = ExcelПриложение.WorkBooks.Open(ИмяФайла);
    Исключение
    Сообщить("Ошибка открытия файла Microsoft Excel." + ИмяФайла + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
    КонецПопытки;

    Попытка
    // Обработка файла Microsoft Excel
    Состояние("Обработка файла Microsoft Excel...");
    // Читаем данные первого листа книги
    ExcelЛист = ExcelФайл.Sheets(1);

    // Определить количество строк и колонок выбранного листа книги Excel
    xlCellTypeLastCell = 11;
    ExcelПоследняяСтрока = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Row;
    ExcelПоследняяКолонка = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Column;
    Исключение
    Сообщить("Ошибка открытия листа №1 Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
    // Закрыть COM соединение для экономии памяти
    ExcelПриложение.Quit();
    КонецПопытки;

    // Создание описателя типов для таблицы значений
    КЧ = Новый КвалификаторыЧисла(15,2);
    КС = Новый КвалификаторыСтроки(50);
    Массив = Новый Массив;
    Массив.Добавить(Тип("Строка"));
    ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
    Массив.Очистить();
    Массив.Добавить(Тип("Число"));
    ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ);

    // Очистить предыдущие значения
    ТаблицаДокумента.Очистить();
    ТаблицаДокумента.Колонки.Очистить();

    // Создать колонки табличного документа
    ТаблицаДокумента.Колонки.Добавить("Номер",ОписаниеТиповС,"Номер",5);
    ТаблицаДокумента.Колонки.Добавить("Артикул",ОписаниеТиповС,"Артикул",11);
    ТаблицаДокумента.Колонки.Добавить("Описание",ОписаниеТиповС,"Описание",25);
    ТаблицаДокумента.Колонки.Добавить("Цена",ОписаниеТиповЧ,"Цена",6);

    // Последовательное чтение строк с выбранного листа
    Для Строка = 1 По ExcelПоследняяСтрока Цикл

    // Обработка нажатия Ctrl + Break
    ОбработкаПрерыванияПользователя();

    // Добавить данные в табличную часть экранной формы
    Стр=ТаблицаДокумента.Добавить();
    Стр.Номер = Строка;
    Попытка
    Стр.Артикул = ExcelЛист.Cells(Строка, 1).Value;
    Стр.Описание = ExcelЛист.Cells(Строка, 2).Value;
    Стр.Цена = ExcelЛист.Cells(Строка, 3).Value;
    Исключение
    // Не редко происходит ошибка конвертации отдельной ячейки документа
    Сообщить("Ошибка чтения строки файла Microsoft Excel." + Строка + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
    КонецПопытки;
    // Отобразить информацию о ходе выполнения обработки
    Состояние("Обработка файла Microsoft Excel : "
    + "строка " + Строка + " из " + ExcelПоследняяСтрока);

    КонецЦикла;

    // Закрыть COM соединение для экономии памяти
    ExcelПриложение.Quit();

    // Отобразить результаты загрузки в форме элемента
    ЭлементыФормы.ТаблицаДокумента.Значение = ТаблицаДокумента;
    ЭлементыФормы.ТаблицаДокумента.СоздатьКолонки();

    КонецПроцедуры // ЧтениеXLSФайла(Элемент)
     
  5. TеPMuHaToP

    TеPMuHaToP Дарю людям ярость :)

    да, но для версии 1С 7.7, в твоем примере для 8-ки, они несовместимы :(
     

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