Загрузка из EXCEL в 1С. Список листов EXCEL

Публикация № 163724

Разработка - Обработки - Универсальные обработки

1C Предприятие Импорт Загрузка Чтение Microsoft MS Excel LibreOffice OpenOffice dbf dBase xml mxl ActiveX ADO ADODB Windows XML

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Методы получения списка листов файлов типа EXCEL.
Поддерживаемые типы: *.xls,*.xlsx,*.ods,*.sxc.

В данной статье приведен функционал, с помощью которого в обработке
"Импорт из EXCEL и др.источников (xls,xlsx,ods,sxc,dbf,mxl,csv,sql) в 1С": //infostart.ru/public/120961
производится считывание данных из файлов табличного типа *xls, *.xlsx, *.ods, *.sxc.

Методы загрузки из внешнего источника:
- Метод "MS ADO" (Чтение файлов xls, xlsx средствами Microsoft ADO): //infostart.ru/public/163640/
- Метод "MS EXCEL" (Чтение файлов xls, xlsx с картинками средствами Microsoft Office): //infostart.ru/public/163641/
- Метод "LO CALC" (Чтение файлов xls, xlsx, ods, sxc с картинками средствами LibreOffice): //infostart.ru/public/163642/
- Метод "NativeXLSX" (Чтение файлов xlsx с картинками средствами 1С. ПостроительDOM): //infostart.ru/public/300092/
- Метод "NativeXLSX". Предыдущий вариант (Чтение файлов xlsx средствами 1С. ЧтениеXML):
//infostart.ru/public/225624/
- Метод "Excel1C" (Загрузка на платформе 8.3.6 с картинками. Чтение файлов xls, xlsx, ods): //infostart.ru/public/341855/
- Список листов файла: //infostart.ru/public/163724/


Публикаций на тему загрузки из EXCEL - множество, но
"
— Вам билетёр нужен?
— Был нужен, да уже взяли.
— Может и я на что сгожусь?
— Может и сгодишься, если скалиться не будешь ...
"
"НЕУЛОВИМЫЕ МСТИТЕЛИ" (1966).


// Функция возвращает список значений, содержащий имена листов книги EXCEL или Пустой СписокЗначений.
//
// Параметры:
//     ФайлEXCEL - Полное имя файла (путь к файлу с именем файла и расширением).

//    
ПодключениеADODB - Тип драйвера ADODB для подключения к EXCEL.
//
// Возвращаемые значения:

//     СписокЛистов - Список имен листов в файле, например: Лист1, Лист2, Лист3.
//
Функция ФайлExcelПолучитьСписокЛистов(Знач ФайлEXCEL, Знач ПодключениеADODB = "MicrosoftJetOLEDB40")
    Перем СписокЛистов, ВсегоЛистов, ИмяЛиста, МассивЛистов;
    Перем ServiceManager, Desktop, Properties1, Properties2, Arguments, Book, Sheets;
    Перем СonnectionString, ADODBConnection, ADOXCatalog;
 
    СписокЛистов = Новый СписокЗначений;
    
    Файл = Новый Файл(ФайлEXCEL);
    
    Если ВРег(Файл.Расширение) = ".ODS" ИЛИ ВРег(Файл.Расширение) = ".SXC" Тогда
        
        // Для файлов типа .ODS,*.SXC используем ServiceManager LibreOffice.
        
        Попытка
            // Инициализация основного СОМОбъекта типа com.sun.star.ServiceManager (LibreOffice/OpenOffice).            
            ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager");
            
            // Инициализация дочернего объекта Desktop.
            Desktop = ServiceManager.CreateInstance("com.sun.star.frame.Desktop");
            
            // Объявление свойств и аргументов для создания объекта типа Книга EXCEL.
            Properties1 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
            Properties1.Name = "AsFile";            // Свойство "КАК ФАЙЛ", альтернатива "AsTemplate" - "КАК ШАБЛОН".
            Properties1.Value = Истина;
            
            Properties2 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
            Properties2.Name = "Hidden";            // Запускать скрытно. Реализовано в LibreOffice 3.6.
            Properties2.Value = Истина;
            
            Arguments = Новый COMSafeArray("VT_VARIANT", 2);
            Arguments.SetValue(0, Properties1);
            Arguments.SetValue(1, Properties2);
            
            // Дочерний объект Desktop-а: Книга EXCEL.
            Book = Desktop.LoadComponentFromURL(ConvertToURL(ФайлEXCEL), "_blank", 0, Arguments);
            
            // Дочерний объект Book-а: Листы EXCEL.
            Sheets= Book.getSheets();
            ВсегоЛистов = Sheets.getCount();
            
            // Формирование списка листов файла.
            Для ит = 0 ПО ВсегоЛистов -1 Цикл
                ИмяЛиста = Sheets.getByIndex(ит).Name;
                СписокЛистов.Добавить(ИмяЛиста);    // Добавляем в список имя листа без знака.
            КонецЦикла;
            
            // Завершение работы.
            // Закрытие Объектов.
            Book.Close(Истина);
            Desktop.Terminate();
            Desktop = Неопределено;
            ServiceManager = Неопределено;
        Исключение
            Сообщить(НСтр("ru = '"+ОписаниеОшибки()+"'"), СтатусСообщения.Внимание);
            Возврат Новый СписокЗначений;    // В случае ошибки возвращаем пустой список значений.
        КонецПопытки;
        
    Иначе
        // Для файлов типа .XLS .XLSX используем MS ADODB.
        
        // Строка соединения - определение драйвера, который будет использован для подключения к файлу EXCEL.
        Если ПодключениеADODB = "MicrosoftACEOLEDB12" Тогда
            
            // ACE.OLEDB.12.0 - Для использования данного подключения необходимо дополнительное ПО:
            // Microsoft Access Database Engine 2010 Redistributable 32/64 bit.
            СonnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + СокрЛП(ФайлEXCEL) + ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;""";
            
            // Еще один вариант.
            //СтрокаСоединения = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};Dbq=" + СокрЛП(ФайлEXCEL) + ";";
            
        Иначе
            
            // Jet.OLEDB.4.0 - Стандартное подключение, как правило, не требующее установки дополнительного ПО.
            // Рекомендуется установить последний Service Pack Windows.
            СonnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "  + СокрЛП(ФайлEXCEL) + ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""";
            
            // Еще один вариант.
            //СтрокаСоединения = "Driver={Microsoft Excel Driver (*.xls)};Dbq=" + СокрЛП(ФайлEXCEL) + ";";
            
        КонецЕсли;
        
        Попытка
            ADODBConnection = Новый COMОбъект("ADODB.Connection");       // Инициализация ADODB.
            ADODBConnection.Open(СonnectionString);                                      // Открытие соединения.
            
            // 1-ый способ Формирования списка листов файла EXCEL.
            ADOXCatalog = Новый COMОбъект ("ADOX.Catalog");
            ADOXCatalog.ActiveConnection = ADODBConnection;
            МассивЛистов = ADOXCatalog.Tables;
            
            Для Каждого ЛистМассива ИЗ МассивЛистов Цикл
                ИмяЛиста = ЛистМассива.Name;
                Если ИмяЛиста = "Excel_BuiltIn_Database" Тогда                    // Исключаем лист "по-умолчанию".
                    Продолжить;
                КонецЕсли;
                // Добавляем в список имя листа без знака $. Исключительно для удобвства восписятия при выборе листа из списка.
                СписокЛистов.Вставить(0, Лев(ИмяЛиста, СтрДлина(ИмяЛиста)-1));
            КонецЦикла;
            //// 2-ой способ Формирования списка листов файла EXCEL.
            //ADODBRecordset = Новый COMОбъект("ADODB.Recordset");
            //ADODBRecordset = ADODBConnection.OpenSchema(20);
            //Пока НЕ ADODBRecordset.EOF Цикл
            //    ИмяЛиста = ADODBRecordset.Fields("TABLE_NAME").Value;
            //    Если ИмяЛиста = "Excel_BuiltIn_Database" Тогда                    // Исключаем лист "по-умолчанию".
            //        ADODBRecordset.MoveNext();
            //        Продолжить;
            //    КонецЕсли;
            //// Добавляем в список имя листа без знака $. Исключительно для удобвства восписятия при выборе листа из списка.
            //    СписокЛистов.Добавить(Лев(ИмяЛиста, СтрДлина(ИмяЛиста)-1));

            //    ADODBRecordset.MoveNext();
            //КонецЦикла;
            //ADODBRecordset.Close();
           
            // Завершение работы.
            // Закрытие Объектов.
            ADOXCatalog = Неопределено;
            ADODBConnection.Close();
            ADODBConnection = Неопределено;
        Исключение
            Сообщить(НСтр("ru = '"+ОписаниеОшибки()+"'"), СтатусСообщения.Внимание);
            Возврат Новый СписокЗначений;    // В случае ошибки возвращаем пустой список значений.
        КонецПопытки;
        
    КонецЕсли;
    
    Возврат СписокЛистов;
    
КонецФункции


// Конвертировать имя файла для метода "LibreOffice CALC".

//
Функция ConvertToURL(ФайлEXCEL)
    
    ФайлEXCEL = СтрЗаменить(ФайлEXCEL," ","%20");
    ФайлEXCEL = СтрЗаменить(ФайлEXCEL,"\","/");
    
    Возврат "file:/" + "/localhost/" + ФайлEXCEL;
    
КонецФункции


// Получение списка листов файла типа XLSX средствами 1С (ЧтениеXML).
//
Функция ФайлExcelПолучитьСписокЛистов_1CXML_XLSX(ФайлEXCEL)
    Перем
ZIPКаталог, WorkBook;
    Перем
СписокЛистов;
   
ZIPКаталог = КаталогВременныхФайлов() + "XLSX\";
   
СписокЛистов = Новый СписокЗначений;
   
Файл = ПолучитьОбъектФайл(ФайлEXCEL, Истина);
    Если
Файл = Неопределено Тогда
       
Сообщить("Невозможно получить список листов, т.к. невозможно открыть для чтения файл:
        |"
+ ФайлEXCEL);
        Возврат Новый
СписокЗначений;
    КонецЕсли;
    Если НЕ
ВРег(Файл.Расширение) = ".XLSX" Тогда
        Возврат Новый
СписокЗначений;
    КонецЕсли;
   
WorkBook = Новый ЧтениеXML;
   
WorkBook.ОткрытьФайл(ZIPКаталог + "XL\WorkBook.xml");
   
// Считать очередной узел XML.
   
Пока WorkBook.Прочитать() Цикл
        Если НЕ
ВРег(WorkBook.Имя) = ВРег("sheet") Тогда
            Продолжить;
        КонецЕсли;
       
// Тип текущего узла XML.
       
Если WorkBook.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
           
// Считать очередной атрибут элемента XML.
           
Пока WorkBook.ПрочитатьАтрибут() Цикл
                Если НЕ
ВРег(WorkBook.Имя) = "NAME" Тогда
                    Продолжить;
                КонецЕсли;
               
СписокЛистов.Добавить(WorkBook.Значение);
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;
   
// Завершение работы.
    // Закрытие Объектов.
   
WorkBook.Закрыть();
    Возврат
СписокЛистов;
КонецФункции

Функция
ПолучитьОбъектФайл(Знач ФайлEXCEL, РаспаковатьXLSX = Ложь)
    Перем
Файл, objFSO, objFile, XLSXРаспакован;
    Если НЕ
ЗначениеЗаполнено(ФайлEXCEL) Тогда
        Возврат Неопределено;
    КонецЕсли;
   
Файл = Новый Файл(ФайлEXCEL);
    Если НЕ
Файл.Существует() Тогда
       
Сообщить("Файл не существует:
        |"
+ ФайлEXCEL);
        Возврат Неопределено;
    КонецЕсли;
   
// Проверка: Занят ли файл другим процессом?
   
objFSO = Новый COMОбъект("Scripting.FileSystemObject");
    Попытка
       
objFSO.MoveFile(ФайлEXCEL, ФайлEXCEL);
       
objFile = objFSO.GetFile(ФайлEXCEL);
    Исключение
       
objFile = Неопределено;
       
objFSO = Неопределено;
       
Сообщить("Ошибка открытия файла/Файл занят другой программой:
        |"
+ ФайлEXCEL);
        Возврат Неопределено;
    КонецПопытки;
   
objFSO = Неопределено;
    Если
ВРег(Файл.Расширение) = ".XLSX" И РаспаковатьXLSX Тогда
       
// Распаковка файла XLSX во временный каталог.
       
XLSXРаспакован = РаспаковатьXLSXвКаталогВременныхФайлов(ФайлEXCEL);
        Если НЕ
XLSXРаспакован Тогда
            Возврат Неопределено;
        КонецЕсли;
    КонецЕсли;
    Возврат
Файл;
КонецФункции

Функция
РаспаковатьXLSXвКаталогВременныхФайлов(ФайлEXCEL)
    Перем
ZIPФайл, ZIPКаталог;
   
ZIPКаталог = КаталогВременныхФайлов() + "XLSX\";
    Попытка
       
УдалитьФайлы(ZIPКаталог);
       
ZIPФайл = Новый ЧтениеZipФайла;
       
ZIPФайл.Открыть(ФайлEXCEL);
       
ZIPФайл.ИзвлечьВсе(ZIPКаталог, РежимВосстановленияПутейФайловZIP.Восстанавливать);
        Возврат Истина;
    Исключение
        Возврат Ложь;
    КонецПопытки;
    Возврат Истина;
КонецФункции


Особенности и Ограничения:

1. Для функционирования метода «Microsoft ADODB» необходимо:

Драйвер подключения Provider=Microsoft.Jet.OLEDB.4.0:
-
Установленный Microsoft MDAC, как правило специальная установка не требуется, достаточно последнего Service Pack-а операционной системы..

  Microsoft MDAC 2.8 SP1 10.05.2005: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5793
Драйвер подключения Provider=Microsoft.ACE.OLEDB.12.0:
- Установленный Microsoft Access Database Engine 2010 Redistributable (16/12/2010) 32 и 64 - разрядные версии:
  Microsoft ADE 2010 16/12/2010:  http://www.microsoft.com/en-us/download/details.aspx?id=13255

2. Для функционирования метода «LibreOffice CALC» необходим установленный LibreOffice.

МА! С уважением к сообществу МА!


Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. echo77 1183 01.10.13 14:09 Сейчас в теме
Плюс однозначно, но зашифрованные листы не читает
2. StepByStep 3444 08.11.13 00:03 Сейчас в теме
07.11.2013.
Добавлено: Получение списка листов файла типа XLSX средствами 1С (ЧтениеXML).
4. pyrkin_vanya 410 11.07.18 16:38 Сейчас в теме
(2)При загрузке через этот метод, почему то не видна первая колонка. Через загрузку просто через ексель апликейшен все читается. Но... Если открыть этот документ, тупо щелкнуть по первой колонке два раза не поменяв никакие данные и сохранить документ, то все читается хорошо. Че за прикол и как это побороть? :)
3. Sardukar 55 09.10.14 03:33 Сейчас в теме
Согласно описанию метода MoveFile, при попытке переместить файл в уже существующий, возникает ошибка:
"...
object.MoveFile ( source, destination );
...
________________________________________
If source contains wildcards or destination ends with a path separator (\), it is assumed that destination specifies an existing folder in which to move the matching files. Otherwise, destination is assumed to be the name of a destination file to create. In either case, three things can happen when an individual file is moved:
• If destination does not exist, the file gets moved. This is the usual case.
• If destination is an existing file, an error occurs.
• If destination is a directory, an error occurs."

Источник:
http://msdn.microsoft.com/en-us/library/2wcf3ba6(v=vs.84).aspx


Поэтому в приведенной конструкции "objFSO.MoveFile(ФайлEXCEL, ФайлEXCEL);" ошибка будет возникать всегда.
Блин, но не возникает же! В чем подвох?
5. ducks01 07.11.18 07:01 Сейчас в теме
Спасибо, воспользовался вторым способом!
Вкупе с этим способом работы https://infostart.ru/public/225624/
Оставьте свое сообщение

См. также

Копирование числовых ячеек из 1С в Excel Промо

Загрузка и выгрузка в Excel Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

15.01.2019    28706    itriot11    27    

R.I.P. РИБ

Обмен через XML Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Бесплатно (free)

РИБ, спасибо и до свидания.

19.02.2021    5915    1c-intelligence    131    

Сериализация данных 1С

Обмен через XML v8 1cv8.cf Бесплатно (free)

В данной статье я хочу рассказать о сериализации данных в 1С.

13.01.2021    1366    DanteLissi    4    

Передача параметров при обмене данными через конвертацию 2.1. Из 8.* в 7.7

Перенос данных из 1С7.7 в 1C8.X Обмен через XML v8 КД Бесплатно (free)

Способ передать параметр в 7.7 при выгрузке данных через конвертацию из 8.2/8.3.

30.10.2020    606    dusha0020    4    

Excel vs 1С: битва с неожиданным исходом Промо

Анализ учета Универсальные обработки Загрузка и выгрузка в Excel Финансовые Управленческие v8 1cv8.cf Россия Бесплатно (free)

Что лучше 1С или Excel? Разберемся, в казалось бы, очевидном, чтобы получить невероятное!

11.04.2019    38272    bolefirenko    120    

Конвертация данных 2. Использование подключаемых обработок в правилах обмена. Конвертация дерева значений

Обмен данными 1С Обмен через XML Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Разработка правил обмена с использованием подключаемых обработок. В качестве примера рассмотрена реальная задача конвертации дерева значений.

15.06.2020    4312    Drivingblind    8    

[БСП] Обмен через Конвертацию данных 2.1

Обмен через XML v8 1cv8.cf Бесплатно (free)

Добавим новый план обмена и настроим в БСП типовой обмен через правила конвертации данных (КД 2.1)

03.02.2020    9088    John_d    17    

Удаление из файла эксель ненужных страниц средствами 1С без COM и через COM

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

Как средствами 1С из файла эксель удалить ненужные листы без COM и с ним. Я разрабатывал на платформе 1С:Предприятие 8.3 (8.3.14.1694)

28.01.2020    3050    pavel_pss    12    

Из Excel в 1С запросом Промо

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

... ну, конечно, не прям так типовым языком запросов, а расширенным языком запросов. Речь пойдет о том, как "залить" данные в таблицы 1С и не пилить при этом бесконечного количества наколеночных обработок.

14.08.2018    20675    m-rv    5    

Обмен через Конвертацию данных 2.1 во внешней обработке + Запуск внешней обработки по расписанию (БСП)

Обмен через XML v8 1cv8.cf Бесплатно (free)

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

22.01.2020    6527    John_d    31    

Как сделать обмен данными через универсальный формат быстрее? Реализация многопоточного обмена данными

Обмен данными 1С Обмен через XML v8 1cv8.cf Бесплатно (free)

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

31.12.2019    8707    ids79    17    

Использование XML-схемы из макета внешней обработки

Обмен через XML Универсальные функции v8 1cv8.cf Бесплатно (free)

Простой способ использования XML-схем из макета внешней обработки.

28.10.2019    11713    Olesia_Matusevich    10    

Регулярные выражения без внешних компонент? Легко! Промо

Практика программирования Обмен через XML v8 Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    65618    starik-2005    104    

Преобразование XML в таблицу значений или иной объект 1С методом XSL преобразования

Универсальные функции Обмен через XML v8 1cv8.cf Бесплатно (free)

Сразу открою интригу, напрямую прочитать XML, не содержащий объект 1С, не удастся. Статья раскрывает способы привести XML к формату, который возможно прочитать средствами платформы.

24.10.2019    12669    kraspila    32    

Обертка функций Excel на русском. Ускорение процесса разработки.

Загрузка и выгрузка в Excel Универсальные функции v8 Бесплатно (free)

Устали переключаться с русского на английский и обратно при работе с таблицами Excel из 1С? Сборка наиболее необходимых функций и методов работы с Excel, обернутых в функции 1С на русском языке.

24.10.2019    7574    DmitryKotov    6    

Доработка конвертации данных КД2 (версии 2.1). Расширенная диагностическая информация при выгрузке по правилам из 1С 7.7 и при загрузке в 1С 7.7

Обмен данными 1С Перенос данных из 1С7.7 в 1C8.X Обмен через XML v7.7 v8 КД Бесплатно (free)

Есть очень неприятная особенность при настройке обмена по правилам КД2 в момент отладки на стороне 1С 7.7, как при выгрузке из 1С 7.7, так и при загрузке в 1С 7.7. Непонятно, в каком конкретно месте формирования или разбора данных XML файла в какой именно момент споткнулась программа (произошел сбой). Я нашел способ вывода дополнительной диагностики, теперь точно известно, на каком элементе данных XML споткнулся модуль выгрузки V77Exp.ert (модуль загрузки V77Imp.ert). Теперь отладка правил обмена на стороне 1С 7.7 стала простой, выполняется на порядок проще.

18.10.2019    5999    ksnik    5    

Приемы обработки больших данных в 1С Промо

Универсальные обработки Математика и алгоритмы Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Рассказ об эффективных приемах организации обработок больших объемов данных на платформе 1С

07.08.2015    68704    tormozit    27    

Практика XDTO. Нюансы

Практика программирования Обмен через XML v8 Бесплатно (free)

Некоторые практические моменты работы с XDTO. Дополнения к очевидному.

23.09.2019    15338    Yashazz    31    

Запись/Чтение XML, пример обмена по COM соединению

Обмен через XML v8 1cv8.cf Россия Бесплатно (free)

Пример работы с XML, запись и чтение, обмен по COM между одинаковыми конфигурациями.

08.09.2019    13334    user5300    8    

Выгрузка из 1С номенклатуры со штрихкодами без программирования

Загрузка и выгрузка в Excel Внешние источники данных v8 УТ11 Россия Бесплатно (free)

Я так и не смог найти простой инструкции или обработки, чтобы выгрузить из 1С: Управление торговлей 11 номенклатуру вместе со штрихкодами, поэтому решил написать собственную инструкцию.

28.08.2019    18362    user1114182    4    

Загрузка из EXCEL в 1С на платформе 8.3.6/8.3.7/8.3.8/8.3.9/8.3.10 (с картинками) Промо

Практика программирования Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

Импорт содержимого из файлов в форматах XLS (Microsoft Excel 97), Microsoft Office OpenXML (Microsoft Excel 2007- 2010) и ODS (OpenDocument) в таблицу значений.

06.04.2015    250763    StepByStep    76    

Конвертация данных 2.0. Перенос справочника с иерархией групп и элементов

Обмен через XML v8 1cv8.cf Россия Бесплатно (free)

Детективная история о том, как при переносе элементы справочника становились не "видимыми".

09.08.2019    5895    chagbig    6    

Загрузка картинок в справочники (Универсальная загрузка из табличного документа)

Обработка справочников Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

Пример загрузки картинок в справочник Номенклатура (с помощью обработки универсальная загрузка данных из табличного документа). Проверялось на конфигурации УТ 11.4.7.

28.05.2019    8800    rasdag    5    

Загрузка данных в БП 3.0 (Универсальный обмен данными XML)

Обмен через XML v8::БУ БП3.0 БУ Бесплатно (free)

Решение задачи по загрузке данных из имеющегося файла в формате xml в БП 3.0 (в том числе на 1cfresh.com) без доработок

26.05.2019    6086    rutadmeen    0    

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ПостроительDOM Промо

Универсальные обработки Загрузка и выгрузка в Excel Обмен через XML v8 1cv8.cf Бесплатно (free)

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ПостроительDOM). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент", а также изображения.

11.09.2014    75596    StepByStep    27    

Конвертация 3.0. Пример доработки: два справочника в один

Обмен через XML v8 КД ERP2 БП3.0 Россия Бесплатно (free)

Доработка правил конвертации путем расширения конфигурации: номенклатура и характеристика (ERP) в номенклатуру (БП).

15.05.2019    7902    forusing    4    

Обмен данными между УПП 1.3.64.х и БП 3.0 по расписанию через Универсальный обмен данными + План обмена

Обмен через XML Перенос данных из 1C8 в 1C8 v8 УПП1 Россия Бесплатно (free)

Описание доработки конфигурации УПП 1.3.64.х для выполнения обмена данными по расписанию в БП 3.0. через обработку Универсальный Обмен Данными XML и План Обмена.

09.04.2019    8002    mrcamomile    15    

RabbitMQ + Конвертация Данных 3.0

Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

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

21.03.2019    28079    barelpro    83    

Отладка правил обмена 7.7, 8 Промо

Перенос данных из 1С7.7 в 1C8.X Обмен через XML Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Отладка правил обмена всегда была для меня больной темой, пока наконец-то не разобрался. В интернете мало тем, посвященных этому, поэтому решил написать небольшую инструкцию по этому поводу. Очень надеюсь, что она будет кому-то полезна. С радостью выслушаю недочеты.

29.10.2013    51918    pyrkin_vanya    70    

Повторение строк заголовка на каждой странице при обработке файлов Excel средствами платформы 1С:Предприятие

Практика программирования Загрузка и выгрузка в Excel Разработка v8 Россия Бесплатно (free)

Вопросы повторения строк на каждой странице при работе с файлом Excel из программы, работающей в системе 1С.

23.01.2019    6836    senshkr    3    

Запись одной книги Excel на нескольких листах средствами 1С (без внешних компонент)

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

Пользователи часто просят сохранить им стопиццот отчетов в один файл Excel, чтобы отчеты были в одном файле. Ну или клиент хочет счет, накладную и счет-фактуру получить в одном документе. 1С умеет это делать без всяких там COM-объектов. Давайте разберемся, куда нажимать и что крутить.

14.01.2019    24416    starik-2005    28    

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д)

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д). На примере загрузки в табличную часть документа Поступление товаров и услуг в УТ 11.4.

09.01.2019    14228    rasdag    14    

Обмен по расписанию типовыми средствами. Промо

Распределенная БД (УРИБ, УРБД) Обмен через XML Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Часто перед интеграторами стоит задача организовать автообмен (по расписанию или при наступлении какого-либо события) данными между различными конфигурациями. В этой статье я попробую изложить простую инструкцию, как это можно сделать средствами, заложенными в типовые конфигурации 1С (ЗУП, БП, УПП и т.д.). Для обмена используется подсистема "Обмен данными" из БСП

20.06.2012    104050    kser87    52    

EnterpriseData – часть 2. Процесс выгрузки данных

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    29004    ids79    31    

Неполадки в работе функционала конфигурации "Бухгалтерия предприятия 3.0" после переноса данных из одной конфигурации в другую через XML

Обмен через XML v8 БП3.0 Россия Бесплатно (free)

«Подводные камни» в работе конфигурации «Бухгалтерия предприятия 3.0» после переноса данных из одной конфигурации в другую средствами XML.

18.12.2018    5277    faust0923    1    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).

14.12.2018    45803    ids79    75    

Загрузка из EXCEL в 1С. MS ADODB.Connection Промо

Практика программирования Универсальные обработки Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "MS ADODB" (ADODB.Connection). Поддерживаемые типы: *.xls,*.xlsx.

30.11.2012    155542    StepByStep    89    

MDM система для централизованного управления справочниками предприятия типовыми средствами

Обмен через XML Обработка справочников v8 1cv8.cf Бесплатно (free)

Поставили мне пару недель назад задачу настроить единые справочники номенклатуры во всех базах холдинга. Учитывая количество 1С бухгалтерий, которых в процессе выполнения задачи оказалось 32, и учитывая, что они все разных версий (2.0, 3.0, отраслевые), задача казалась из ряда чистой воды подстава. Но решение с технической точки зрения оказалось простейшим.

27.11.2018    6816    lopatin    6    

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

Практика программирования Обмен через XML v8 v8::УФ БП3.0 УТ11 Россия Бесплатно (free)

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    39955    ids79    49    

Работа с Excel через COM

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

Несколько примеров работы с excel (ms office 2010, в моем случае) через COM.

01.10.2018    11716    jaroslav.h    0    

Альтернативные способы работы с XML. Часть 2: Введение в xPath или запросы к XML Промо

Обмен через XML Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

В предыдущей статье "Введение в DOM или объектная модель документа" было описано понятие объектной модели документа (DOM), раскрыты плюсы и минусы использования модели при разборе файлов XML, приведено сравнение с построчным последовательным разбором. Были представлены варианты выборки данных с помощью объекта 1С ДокументDOM. Теперь настало время познакомить читателей с самым, на мой взгляд, интересным способом извлечения данных из XML - при помощи языка запросов xPath.

09.08.2012    42675    1cspecialist    13    

Выгрузка в Excel с использованием формата OpenXML, разбор файла sheet1.xml

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

Судя по количеству просмотров темы https://infostart.ru/public/900022/ решил описать структуру файла Листа excel. На полноту не претендую, опишу то, что знаю.

21.09.2018    8189    user1045404    2    

Excel: создание в формате xlsx без COM технологии

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

По работе приходится часто выгружать данные в Excel формате. При большом количестве строк и формул этот процесс достаточно длительный. Решил написать для своих целей небольшую библиотечку для выгрузки данных. Используется технология open-xml. Никаких библиотек не надо, пишу напрямую в xml файлики. На данном этапе сделано форматирование, формулы.

10.09.2018    11972    user1045404    16    

Свертка номенклатуры при выгрузке из Управления Торговлей 11 в Бухгалтерию 3.0

Обмен через XML v8 БП3.0 УТ11 БУ УУ Бесплатно (free)

Свертка номенклатуры при выгрузке из УТ 11 в Бухгалтерию 3. Используется типовой обмен на базе EnterpriseData

20.07.2018    10538    Kutuzov    3    

СТАБИЛЬНАЯ Загрузка справочника номенклатуры в 1С:Управление торговлей 8 из прайс-листа в Excel (код открыт скачать можно бесплатно) Промо

Перенос данных из 1C8 в 1C8 Загрузка и выгрузка в Excel v8 УТ10 Россия Бесплатно (free)

В таких случаях многие заказывают соответствующие обработки у собственных штатных программистов, фирм-франчайзи или сторонних разработчиков, но это дополнительные расходы и время. Как быть, если по различным причинам такой возможности нет? У каждого пользователя профессиональной версии 1С:Предприятие 8 подобная обработка уже есть! На диске ИТС! Типовая обработка «ЗагрузкаДанныхИзТабличногоДокумента.epf», находиться в разделе «Технологическая поддержка» > «Методическая поддержка 1С:Предприятие 8» > «Универсальные отчеты и обработки» > «Загрузка данных из табличного документа». Обратите внимание, начиная с Февраля 2010 г. на диске ИТС данная обработка для конфигураций на платформе 8.1 находиться в другом разделе: «Технологическая поддержка» > «Методическая поддержка 1С:Предприятие 8» > «Платформа 1С:Предприятие 8.1» > «Универсальные отчеты и обработки» > «Загрузка данных из табличного документа».

07.11.2011    186952    SkyLink2012    132    

Маркировка ячеек цветом. Отладка загрузки данных из эксель.

Практика программирования Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

После 100-ой кривой загрузки родился способ, как отладить алгоритм.

05.07.2018    9620    Rustig    7    

Обмен через универсальный формат. Пример нестандартной конвертации данных

Обмен через XML Перенос данных из 1C8 в 1C8 v8 УТ11 Россия Бесплатно (free)

В статье описан небольшой пример обмена данными через EnterpriseData без снятия конфигурации с поддержки. Тестовая площадка: Управление торговлей, редакция 11 (11.4.3.126), версия платформы 8.3.11

18.06.2018    38459    artkor    18    

Как программисту быстро загрузить данные из Excel Промо

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

Встала как-то разовая задача - загрузить данные из Excel в базу... Идея не новая, на ИС имеются уже готовые подобные разработки, но предлагается сделать самостоятельно. Пригодится в будущем.

26.10.2011    25832    DrAku1a    53    

Создание множественного дополнительного реквизита. Управление торговлей 11

Обмен через XML Практика программирования v8 УТ11 Россия Бесплатно (free)

Создание механизма множественного дополнительного реквизита для выгрузки в битрикс.

20.03.2018    16835    bad_wag    20