Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 14:41

Загрузка данных из excel в 8.2(справочник)

Автор 1kun, 26 окт 2011, 23:06

0 Пользователей и 1 гость просматривают эту тему.

1kun

Нужно загрузить данные из excel где то 14 стобцов, в справочник в 1c 8.2

По форуму и в интернете поискал, есть обработка для 8.1 для 8.2 не встречал.
кто нибудь может реализовывал? или знает где почитать?

Dethmontt

Есть же для 8.1!!! Принцип тот же, сконвертируй для 8.2, если упр. формы то переделать можно!
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

1kun

http://infostart.ru/public/95495/ нашел то, что нужно. только репутации не хватает что бы скачать. Кто нибудь может скачать выложить?

cannabis_86

Вот код, на основании него думаю, что сможете написать.
Функция ЗагрузкаИзExcel(ИмяФайла)
    //Номер листа в книге Excel для получения данных
    НомерЛиста         = 1;
    //Пытаемся подключиться к Excel
    Попытка
        Excel = новый COMОбъект("Excel.Application");
    Исключение
        Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.");
        Возврат Ложь;
    КонецПопытки;     
    //Подключились удачно, открываем файл
    Excel.Workbooks.Open(ИмяФайла);
    //Открываем необходимый лист
    Excel.Sheets(НомерЛиста).select();   
    //Получим количество строк и колонок.
    //В разных версиях Excel получаются по-разному, поэтому сначала определим версию Excel
    Версия = Лев(Excel.Version,Найти(Excel.Version,".")-1);
    Если Версия = "8" тогда
        ФайлСтрок   = Excel.Cells.CurrentRegion.Rows.Count;
        ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13);
    Иначе
        ФайлСтрок   = Excel.Cells(1,1).SpecialCells(11).Row;
        ФайлКолонок = Excel.Cells(1,1).SpecialCells(11).Column;   
    Конецесли;
    // Выбираем данные из файла
    Для а = 3 по ФайлСтрок Цикл           
        //Получим данные из соответсвующих ячеек
Заемщик = Справочники.Заемщики.СоздатьЭлемент();
Заемщик.Наименование = СокрЛП(Excel.Cells(а,4).Value);
Заемщик.НомерКредитногоДоговора = СокрЛП(Excel.Cells(а,1).Value);
Заемщик.ДатаКредитногоДоговора = Excel.Cells(а,2).Value;
Заемщик.НомерЗакладной = СтрЗаменить(СокрЛП(Excel.Cells(а,3).Value),Символы.НПП,"");
Заемщик.ФИО = СокрЛП(Excel.Cells(а,4).Value);
Если СокрЛП(Excel.Cells(а,5).Value)="Да" Тогда
Заемщик.ОсновнойЗаемщик = Истина;
Иначе
Заемщик.ОсновнойЗаемщик = Ложь;
КонецЕсли;
Заемщик.Записать();
    Конеццикла;
    //Закрываем Excel
    Excel.ActiveWorkbook.Close();   
КонецФункции

AndreyET

Доброго день всем!
Решил поднять темку.
Задача такая нужно из Excel перенести контрагентов в 1С 8.2 "Комплексная автоматизация"
Использую стандартный обработчик, но есть 2 проблемы
1 Р/С не переносится если в Excel задать "текстовый" формат ячейки, а если задаешь "Общий" то округляются последние четыре цифры расчетника.
2. Как перенести данные адреса, банка, к/с, в стандартном обработчике таких пунктов нет.

Klyacksa

Задать текстовый формат, а при загрузке преобразовывать в нужный
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

AndreyET

Цитата: Klyacksa от 21 дек 2011, 10:32
Задать текстовый формат, а при загрузке преобразовывать в нужный
А как это сделать в стандартном обработчике?

Klyacksa

Использовать одну из функций Формат, Строка, Число
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

beztrud


AndreyET

Господа видимо я не правильно объяснил задачу :(
Я делаю подобно тому как описано здесь
Т.е. использую форму с диска ИТС.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск