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

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

Пользовательские инструменты - Универсальные обработки

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 1448 01.10.13 14:09 Сейчас в теме
Плюс однозначно, но зашифрованные листы не читает
2. StepByStep 3511 08.11.13 00:03 Сейчас в теме
07.11.2013.
Добавлено: Получение списка листов файла типа XLSX средствами 1С (ЧтениеXML).
4. pyrkin_vanya 443 11.07.18 16:38 Сейчас в теме
(2)При загрузке через этот метод, почему то не видна первая колонка. Через загрузку просто через ексель апликейшен все читается. Но... Если открыть этот документ, тупо щелкнуть по первой колонке два раза не поменяв никакие данные и сохранить документ, то все читается хорошо. Че за прикол и как это побороть? :)
3. Sardukar 56 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 Инструменты администратора БД v8 1cv8.cf Бесплатно (free)

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

15.01.2019    35448    itriot11    27    

Немного про (кривые) кодировки XML

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

Парочка функций для правильного чтения строк из XML.

24.11.2021    284    ImHunter    5    

Интеграция 1С с ГИИС ДМДК

Обмен через XML WEB v8 ERP2 Ювелирная промышленность и торговля Россия Бесплатно (free)

ГИИС ДМДК - единая информационная платформа для взаимодействия участников рынка драгоценных металлов и драгоценных камней. с 01.09.21 стартовал обязательный обмен данными с Федеральной пробирной палатой (ФПП) исключительно через ГИИС. А постепенно - с 01.01.2022 и с 01.03.2022 - все данные о продаже драгоценных металлов и камней должны быть интегрированы с ГИИС. У многих пользователей возникает вопрос как автоматизировать обмен между программой 1С и ГИИС ДМДК. В настоящей статье ВЦ Раздолье поделится своим опытом о реализации такого обмена. Автор статьи - Мордовин Антон - архитектор систем на базе 1С Внедренческого центра "Раздолье".

30.09.2021    4240    1СERP    35    

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

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

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

11.04.2019    41908    bolefirenko    122    

Загрузка данных из файла .CSV

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

Алгоритм для загрузки данных в учебную конфигурацию из файла с расширением CSV.

23.08.2021    1185    user1571738    0    

Новичок новичку: как выгрузить/загрузить XML данные

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

Рассказываю на примере, как с помощью xml файлов выгружать/загружать метаданные (документы, справочники, регистры). Рассматривается клиент-серверный вариант. Вариант передачи файла на сервер. Вариант загрузки файла без создания временных файлов.

04.06.2021    8027    user1312100    14    

Как вносить изменения в новое ЭДО от 1С в БП 3? Июнь 2021, БП 3.0.93.20

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

Обновились на 3.0.93.20, и все мои расширения под ЭДО перестали работать. Разберем, где вообще искать код, который выводит данные электронного документа в XML, где вмешиваться в ход этого вывода?

03.06.2021    6658    fixin    26    

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

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

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

14.08.2018    21899    m-rv    5    

Правила обмена больше не нужны

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

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    12361    Nikola23    40    

R.I.P. РИБ

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

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

19.02.2021    8933    1c-intelligence    132    

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

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

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

13.01.2021    4867    DanteLissi    6    

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

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

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

04.03.2016    70861    starik-2005    108    

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

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

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

30.10.2020    1269    dusha0020    4    

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

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

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

15.06.2020    6786    Drivingblind    9    

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

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

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

03.02.2020    12200    John_d    17    

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

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

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

07.08.2015    71402    tormozit    29    

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

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

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

28.01.2020    3572    pavel_pss    12    

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

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

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

22.01.2020    7678    John_d    32    

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

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

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

31.12.2019    9753    ids79    17    

Загрузка из 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    269088    StepByStep    76    

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

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

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

28.10.2019    13176    Olesia_Matusevich    10    

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

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

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

24.10.2019    15409    kraspila    33    

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

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

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

24.10.2019    8060    DmitryKotov    6    

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

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

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

11.09.2014    79623    StepByStep    27    

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

Обмен данными и распределенная БД Перенос данных из 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    6627    ksnik    7    

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

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

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

23.09.2019    18372    Yashazz    31    

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

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

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

08.09.2019    16864    user5300    8    

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

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

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

29.10.2013    52714    pyrkin_vanya    71    

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

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

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

28.08.2019    25959    user1114182    12    

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

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

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

09.08.2019    6563    chagbig    6    

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

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

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

28.05.2019    10097    Rasdag    5    

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

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

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

20.06.2012    105695    kser87    52    

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

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

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

26.05.2019    7177    rutadmeen    2    

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

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

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

15.05.2019    8290    forusing    4    

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

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

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

09.04.2019    9107    mrcamomile    15    

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

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

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

30.11.2012    163865    StepByStep    89    

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

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

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

21.03.2019    30826    barelpro    87    

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

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

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

14.01.2019    29088    starik-2005    36    

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

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

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

09.08.2012    43306    1cspecialist    13    

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

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

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

09.01.2019    16376    Rasdag    16    

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

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

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

26.12.2018    32370    ids79    35    

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

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

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

18.12.2018    5431    faust0923    1    

СТАБИЛЬНАЯ Загрузка справочника номенклатуры в 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    190390    SkyLink2012    132    

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

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

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

14.12.2018    52903    ids79    82    

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

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

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

27.11.2018    7335    lopatin    6    

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

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

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

16.11.2018    44712    ids79    50    

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

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

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

26.10.2011    26049    DrAku1a    53    

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

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

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

01.10.2018    14075    jaroslav.h    0    

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

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

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

21.09.2018    8879    user1045404    2