Файл с данными (например Excel) рассматривается как конфигурация базы данных 1С, состоящая из справочников - их можно перенести как набор объектов в справочник "Конфигурации" конвертации данных. Соответственно можно типовым способом создавать правила конвертаций. Причем конфигурация "Конвертация данных 2" не изменяется и может обновляться на новые версии.
Описание загрузки каждого формата - это внешняя обработка. Она хранится в макете в виде двоичных данных, что позволяет легко расширять набор обрабатываемых источников.
Идея обработки взята из //infostart.ru/projects/2060/, но код свой. Сам по себе механизм работает у меня уже давно (XML правила менялись на основе шаблонов), однако возможность автоматической загрузки в конвертацию данных резко увеличивает возможности. Человек, умеющий работать с конвертацией данных, может визуально настроить любые правила переноса.
Обработка содержит механизмы:
• Выгрузка структуры внешних файлов, как типовой XML-файл структуры конфигурации. Этот файл должен быть загружен в конфигурацию КД.
• Возможность хранения файла правил в макете обработки.
• Загрузка правил обмена, выбор правил выгрузки и ввод параметров.
• Возможность предварительной обработки источника данных, осуществляемой после загрузки файла правил и до получения данных.
• Загрузка данных из внешних источников по алгоритмам, описанным в файле правил обмена.
• Редактирование данных в табличных полях в случае необходимости небольшой ручной правки (для обычных и управляемых форм).
• Создание файла данных в стандартном формате XML.
• Загрузка данных из XML файла данных. Кроме того, для этого может использоваться стандартная обработка загрузки, как в версии 1С77, так и 8.0-8.1. В упрощенном для пользователя режиме загрузки последние два пункта объединены и выполняются автоматически при нажатии на одну кнопку.
• В модуль обработки добавлены функции, позволяющие использовать обработку из скриптов или других программ, когда 1С открывается как COM-объект V82.Application.
• Используя специальный файл описаний можно запускать обработку с ключом /EXECUTE
=================================
07.09.2008 Вер.4.2.1 Добавлена поддержка ADO.
14.09.2008 Вер.4.2.2 Если обработка открывается в конфигурации "Конвертация данных", можно показать тексты событий для конкретной конвертации
08.12.2008 Вер.4.2.3
- Добавлен пример загрузки данных в табличную часть документа/справочника.
- В случае загрузки в формате Excel есть возможность автоматического заполнения имен/описаний и типов колонок файла данных.
16.12.2008 Вер.4.2.4
- Обработка обновлена до версии 2.0.26.1 типовой V8Exchan81.epf (появилась возможность отладки обработчиков событий).
- Дополнено описание.
26.12.2008 Вер. 4.2.7
- Добавлена возможность предобработки источника данных
17.01.2009 Вер. 4.2.8
- Анализ структуры метаданных может осуществляться из существующего файла XML.
25.02.2010 Вер.4.3.1
- Добавлена поддержка XML.
30.03.2010 Вер. 4.3.2
Загрузка из XLS: разрешено использование пробелов в именах листов файла excel
10.10.2010 Вер. 4.3.4
Загрузка с помощью DBF: позволяет работать с длинным именем файла DBF
15.12.2010 Вер. 4.3.8
Загрузка с помощью XML: добавлена проверка на уникальность реквизитов
25.12.2010 Вер. 4.4.1
Выгрузка структуры метаданных: поддерживается 2 формата, старый формат и формат, начиная с версии КД 2.1.4
01.11.2011 Вер. 4.4.8
Изменения в настройках загрузки через ADO
03.01.2013 Вер.5.1.1
Принципиально изменено получение данных из разных источников. Сейчас каждый вариант - это внешняя обработка, сохраненая в макете в виде двоичных данных.
Это изменение дает новые возможности:
- использование обработки в управляемом приложении в тонком клиенте. Добавлена управляемая форма;
- самостоятельное использование обработок загрузок данных для получения таблиц значений из разных источников;
- в конвертации данных можно использовать типовую обработку "Универсальный обмен данными XML", если вставить обработку загрузки данных как подключаемую.
Нужно иметь в виду, что в случае клиент-серверной конфигурации обработка источника данных ведется на сервере. Поэтому необходимо обеспечить доступность данных. Например, установленный MS Office для обработки Excel, или верный путь к источнику данных в случае ADO.
05.01.2013 Вер. 5.1.2
В управляемой форме есть воможность просмотра загруженных внешних данных
08.02.2013 Вер. 5.1.3
Загрузка с помощью XLS: Исправлена ошибка. Excel оставался в памяти.
28.10.2013 Вер. 5.2.1
Сериализация ТЗ с данными может осуществляться двумя способами: как хранилище значения (более компактно), XML сериализация (занимает больше места, однако ТЗ можно подправить прямо в обработчике, не меняя структуры конфигурации).
В модуль обработки добавлены функции, позволяющие использовать обработку из скриптов или других программ, когда 1С открывается как COM-объект V82.Application.
Используя специальный файл описаний можно запускать обработку с ключом /EXECUTE
14.09.2015 Вер. 5.3.1
Управляемая форма обработки изменена для использования в безмодальном режиме.
23.11.2015 Вер. 5.3.3
Добавлена процедура СведенияОВнешнейОбработке() для использования обработки как внешней.