Выгрузка загрузка данных xml 7.7. Внешний вид и особенности использования универсального обмена данными. Подходы к загрузке данных в XML-формат

Выгрузка загрузка данных xml 7.7. Внешний вид и особенности использования универсального обмена данными. Подходы к загрузке данных в XML-формат

Здесь я опишу основные моменты при работе со стандартной компонентой v7plus.dll . Информация сильно устаревшая, и появилась она здесь больше для меня самого — чтобы не забыть, когда в следующий раз появится. Описывается чтение из XML-файла средствами XML-парсера почти стандартной компоненты. Примером послужит файл документа-заявки, выгруженного в файл в формате CommerceML 2.03 (с сайта на Битриксе).

Итак, начинаем. Первым делом нужно загрузить компоненту. Вот типичный код:

Если + "v7plus.dll") <> 1 Тогда Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "ExtForms\" + "v7plus.dll") <> 1 Тогда Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "v7plus.dll") <> 1 Тогда Предупреждение("Компонента v7plus.dll не найдена!"); Возврат; КонецЕсли; КонецЕсли; КонецЕсли; Анализатор = СоздатьОбъект("AddIn.XMLParser");

Анализатор умеет работать со схемами, но этот момент я рассматривать не буду. Простое линейное (ну или почти линейное) чтение файла. Поэтому просто создаём новый документ:

XML_Документ = Анализатор . СоздатьДокумент (); Если ПустоеЗначение(XML_Документ ) = 1 Тогда Возврат КонецЕсли; XML_Документ . Загрузить (ИмяФайла );

В переменной ИмяФайла записана строка с именем открываемого файла. После этого можно читать файл, постепенно расшифровывая его.
Файл XML состоит из узлов и атрибутов. Каждый узел может содержать ноль и более атрибутов и ноль и более дочерних узлов. Корневой узел можно получить прямо из переменной XML_Документ . Для наглядности рассмотрим часть XML-файла:

<КоммерческаяИнформация ВерсияСхемы=»2.03″ ДатаФормирования=»2014-04-09 14:25″>
<Документ>
<Ид>53006
<Номер>53006
<Дата>2014-04-29
<ХозОперация>Заказ товара
<Роль>Продавец
<Валюта>руб
<Курс>1
<Сумма>300000.00
<Контрагенты>…
<Время>11:52
<Комментарий>ТЕСТ…….БСВ
<Товары>
<Товар>
<Ид>ID46
<Наименование>…
<БазоваяЕдиница Код=»796″ НаименованиеПолное=»Штука» МеждународноеСокращение=»PCE»>шт

Здесь приведена сильно сокращённая версия файла, точнее, его часть. Цель этой статьи — не описать формат CommerceML, а показать работу с XML-файлом, поэтому приведу только команды. Файл CommerceML состоит из корневого узла «КоммерческаяИнформация «. Его мы считаем из документа:

ЭлДокумент = XML_Документ . ВыбратьУзел ("КоммерческаяИнформация");

Значением переменной ЭлДокумент будет узел (OLE-объект). У него есть дочерние узлы и атрибуты. В одном файле может быть несколько документов, поэтому перебираем их в цикле:

Выборка = ЭлДокумент . ВыбратьУзлы ("Документ"); Для й = 1 По Выборка . КоличествоУзлов Цикл Док = Выборка . ПолучитьУзел (й - 1);

Свойство КоличествоУзлов возвращает общее число дочерних узлов, а метод ПолучитьУзел() возвращает указанный дочерний узел (нумерация идёт с 0).

Узел «Номер » не имеет ни атрибутов, ни дочерних узлов. Он имеет только значение «00006 «. Аналогично «Дата «, «ХозОперация » и многие другие. Для получения значения узла используется следующая конструкция:

Номер = Док . ВыбратьУзел ("Номер"). Значение ; НомерЧисло = Число(Док .ВыбратьУзел ("Номер"). Значение );

Здесь используется метод ВыбратьУзел() . В отличие от «ВыбратьУзлы() «, он возвращает не список, а самый первый узел с указанным именем. А его свойство «Значение » возвращает строку со значением. Для преобразования значения к нужному типу воспользуемся функциями преобразования. Дату придётся преобразовывать частями (она в XML хранится в виде гггг-мм-дд, не поддерживаемом стандартной функцией Дата()). Возможно, что при использовании схем преобразование типов будет выполняться автоматически — не проверял.
Для чтения атрибутов служит следующий метод:

ОКЕИ = Товар . ВыбратьУзел ("БазоваяЕдиница"). ПолучитьАтрибут ("Код");

Здесь Товар — это узел «Товар «. Значение атрибута, как и единичного дочернего узла, можно получить по имени атрибута. Возвращается всегда строка, поэтому при необходимости надо привести тип значения к требуемому. Если у узла понадобится считать несколько атрибутов, лучше сохранить значение узла в отдельной перменной.
Ну вот и все основные функции, необходимые для полноценного чтения XML-файлов.

Работа с файлами XML из 1С:Бухгалтерии 7.7

Сегодня мы рассмотрим с Вами обработку "Универсальная выгрузка в XML для 1с 7.7" . Данная обработка предназначена для выгрузки данных по правилам обмена в файл XML. Правила выгрузки данных представляют из себя также файл XML, в котором содержится описание какие данные и в какой структуре должны быть выгружены в файл XML.

Как пользоваться обработкой универсальная выгрузка в XML для 1с 7.7 ?

Ниже на скриншоте Вы видите основную форму обработки универсальная выгрузка в XML для 1с 7.7 , давайте разберем основные параметры, которые необходимы для ее правильной работы. Где стоит цифра 1 там мы указываем файл с правилами выгрузки данных, для чего нужны эти правила мы уже говорили в первом абзаце статьи. Для цифры 2 выбираем файл куда будут выгружаться данные. В 3 пункте необходимо указать дату начала и дату окончания, за этот период будут выгружены данные в файл. После того как мы указали все эти параметры жмем "Загрузить правила", после прочтения правил в пункте 5 появится древовидная структура файла правил обмена с наименованием правил. Теперь все что нам осталось сделать, это нажать кнопку в нашей обработке универсальная выгрузка XML 1с 7.7 под цифрой 6 "Выгрузить", после этого действия будут выгружены все данные согласно текущим правилам выгрузки данных, в файл XML который мы указали в пункте 2.

А эта статья описывает шаги необходимые для обмена данными из конфигурации 1С:Предприятия версии 7.7 в 8.2 с помощью такой же конфигурации Конвертация данных, редакция 2.1.4.1.

Найдем в составе дистрибутива конфигурации Конвертация данных файл оработки MD82Exp.epf.
Он понадобиться для выгрузки описания структуры метаданных конфигурации базы приёмника.

Ещё найдем в составе этого же дистрибутива файл оработки V8Exchan82.epf — «Универсальный обмен данными в формате XML».
Он понадобиться для выгрузки базы приёмника. Как видно из названия эти обработки предназначены
для работы с версией 1С:Предприятия 8.2.

Затем найдем инструменты для работы с версией 1С:Предприятия 7.7.

В составе дистрибутива конфигурации Конвертация данных есть файл оработки MD77Exp.ert.
Он понадобиться для выгрузки описания структуры метаданных конфигурации базы источника.

Ещё найдем в составе этого же дистрибутива файл оработки V77Exp.ert — «Универсальная выгрузка данных в формате XML».
Он понадобиться для выгрузки базы источника.

Итак, приступим:

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

  1. Откроем базу источник в режиме 1С:Предприятие 7.7 и запустим обработку MD77Exp.ert
    для выгрузки описания структуры метаданных источника.
    Сохраним структуру метаданных источника в файл Rules1.xml.
  2. Откроем базу приёмника в режиме 1С:Предприятие 8.2 и запустим обработку MD82Exp.epf
    для выгрузки описания структуры метаданных приёмника.
    Сохраним структуру метаданных приёмника в файл Rules2.xml.

Загрузим описания структуры метаданных обеих конфигураций.

  1. Запустим конфигурацию Конвертация данных в режиме 1С:Предприятие 8.2.
  2. Откроем справочник «Конфигурации» (Справочники—>Конфигурации). Он хранит информацию о конфигурациях,
    между которыми может производиться настройка правил обмена.
  3. Добавим информацию о конфигурации источнике. Нажмём кнопку «Добавить» или клавишу «Insert».
  4. Укажем путь к файлу со структурой метаданных источника Rules1.xml. Нажмём кнопку «Выполнить загрузку».
  5. Добавим информацию о конфигурации приёмнике. Нажмём кнопку «Добавить» или клавишу «Insert».
  6. Укажем путь к файлу со структурой метаданных приёмника Rules2.xml. Нажмём кнопку «Выполнить загрузку».

Итак, мы загрузили информацию об источнике и приёмнике. Теперь мы можем производить настройку правил обмена.

  1. Откроем справочник «Конвертации» (Справочники—>Конвертации). Этот справочник содержит иформацию,
    в которой определяется между какими конфигурациями осуществляется обмен и в каком направлении.
  2. Добавим новый элемент. Нажмём кнопку «Добавить» или клавишу «Insert».
  3. Укажем кофигурацию источник из справочника «Конфигурации». Поле «Конфигурация — источник:».
  4. Укажем кофигурацию приёмник из справочника «Конфигурации». Поле «Конфигурация — приемник:».
  5. Важная деталь!!! Откроем закладку «Дополнительно». Поле «Имя файла модуля выгрузки:».
  6. Укажем место расположения файла модуля выгрузки, например: C:\\Bases\\МодульВыгрузки.txt.
  7. Содержимое этого файла необходимо, чтобы в будущем (подробнее об этом ниже) заменить весь
    модуль в обработке V77Exp.ert. Без этой замены выгрузка невозможна!
  8. Нажмём кнопку «ОК».

Отлично, мы произвели настройку правил обмена. Осталось эти правила обмена выгрузить в файл.

  1. В справочнике «Конвертации» выделим только что созданный элемент.
  2. На панели справочника нажмём кнопку «Перейти к правилам». Откроется форма с правилами конвертации.
  3. Во вкладке «Правила выгрузки данных» укажем, что конкретно мы хотим выгружать.
  4. На вкладке «Конвертация свойств» мы можем указать сопоставление реквизитов обменивающихся объектов.
  5. На этой форме в левом верхнем углу найдём кнопку «Сохранить правила».
  6. Укажем имя файла и путь (Например, C:\\Bases\\ПравилаОбменаДанными.xml). Нажмём кнопку «Открыть».
  7. Позже, указанный путь мы можем изменить в справочнике «Конвертации»—>«Изменить текущий элемент (F2)»—>закладка «Дополнительно»—>поле «Имя файла правил обмена:».
  8. Во время сохранения правил, также записывается модуль выгрузки, по указанному нами ранее пути: C:\\Bases\\МодульВыгрузки.txt.

Правила конвертации готовы! Теперь сделаем обмен данными.

Откроем базу источник в режиме 1С:Конфигуратор 7.7, затем откроем обработку V77Exp.ert —
«Универсальная выгрузка данных в формате XML». Откроем закладку «Модуль», удалим всё содержимое модуля.
Вставим строку: #ЗагрузитьИзФайла C:\\Bases\\МодульВыгрузки.txt.

Директивой «ЗагрузитьИзФайла» мы переключаем загрузку программного модуля на загрузку из текстового файла.
Теперь нужно следить, чтобы файл с кодом выгрузки МодульВыгрузки.txt всегда был в указанной нами папке.

Сохраним обработку V77Exp.ert.

Для осуществления выгрузки данных необходимо:

  1. Открыть базу источник в режиме 1С:Предприятие 7.7, затем открыть только что сохраннёную обработку V77Exp.ert.
  2. Указать имя файла правил обмена в поле «Имя файла правил:» (мы его сохраняли здесь: C:\\Bases\\ПравилаОбменаДанными.xml) и
    выбрать файл в поле «Имя файла данных:», в который будет осуществляться выгрузка данных (Например, C:\\Bases\\ВыгрузкаДанныхИз7.7.xml).
  3. Далее необходимо загрузить правила обмена, нажав кнопку «Загрузить правила обмена».
  4. Для выгрузки документов за определенный интервал необходимо указать период — «Дату начала» и «Дату окончания».
  5. Флажки в списке «Правила выгрузки данных» указывают, какие данные будут выгружаться, а какие нет.

Теперь загрузим данные в базу приёмник. Откроем её в режиме 1С:Предприятие 8.2 и запустим обработку
«Универсальный обмен данными в формате XML» для загрузки данных источника.

Это файл оработки V8Exchan82.epf. Или открыть «Сервис»—>«Прочие обмены данными»—>«Универсальный обмен данными в формате XML»

  1. В обработке на вкладке «Загрузка данных» выберем имя файла данных (мы его сохраняли здесь: C:\\Bases\\ВыгрузкаДанныхИз7.7.xml).
  2. Нажмём кнопку «Загрузить данные» (Находится на панели вверху).

Данные загружены!

Те же действия для выгрузки из версии 1С:Предприятие 7.7 применимы для версий 1С:Предприятие 8.1 и 1С:Предприятие 8.0.
В составе дистрибутива конфигурации Конвертация данных идут
файлы оработок для этих версий MD81Exp.epf и V8Exchan81.epf, MD80Exp.epf и V8Exchan.epf.

Если Вы хотите загружать данные в 1С:Предприятие 7.7, тогда нужно пользоваться обработкой V77Imp.ert.
Перед загрузкой данных необходимо выполнить те же действия с модулем обработки V77Imp.ert, что были описаны
для обработки V77Exp.ert.

Если Вы выбираете обработку из списка быстрого доступа (Файл — V77Exp.ert) и выдается сообщение, что файл не найден,
хотя файл расположен там же и название не менялось, тогда нужно просто сделать все как в начале —
«Файл | Открыть» и снова выбрать файл V77Exp.ert.

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

Инструменты для создания выгрузки

Для экспорта информации, содержащейся в базах данных, главным образом используется формат xml. Для 1С разработано множество обработок (например, ВыгрузкаЗагрузкаДанныхxml82 epf), при помощи которых возможно выводить в файл и загружать данные. При этом пользователь должен получать файл определенной структуры, который позволяет загружать хранящуюся в нем информацию в родную базу данных или переносить ее в другое место. При создании выгрузки следует соблюдать следующие правила:

  • Сохранить созданные файлы до момента полного восстановления и окончания процедур проверки корректности перенесенной информации;
  • В случае использования обработки как инструмента резервного копирования создавать для копий данных отдельные подпапки и вести журнал их учета для быстрого поиска.

Поставляемая в программе поддержки пользователей 1С , которую можно найти на сайте или дисках ИТС, является великолепным средством для экспорта и импорта информации. Пользователь компьютера может выгрузить как всю базу, так и ее отдельные объекты, при этом кроме собственно экспорта производятся различные операции по проверке информации, помогающие избавиться от критических ошибок в данных.Обработка 1с выгрузка в xml работает в двух режимах:

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

Обработка позволяет произвести контроль объектов на недопустимые символы, а также включает в себя функцию экспорта информации с ограничениями.

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

Процесс выгрузки данных в xml

Рассмотрим, как выгрузить из 1с в xml в обычном режиме. После закачки обработки ВыгрузкаЗагрузкаДанныхxml.epf и ее открытия необходимо выполнить следующие шаги:

  • Отобрать объекты для экспорта;
  • Настроить необходимые фильтры, например, по периоду;
  • Определить месторасположение файла с информацией на дисковой подсистеме;
  • Запустить выгрузку объектов.

Необходимо помнить, что заголовочная часть формата файла выгрузки отличается от формата файла, используемого при выгрузке по планам обмена.

xml

Загрузка xml в 1с производится в базу-приемник с конфигурацией, идентичной базе-источнику. До того, как загрузить в 1с xml 1с необходимо открыть обработку в базе-приемнике. Затем нужно указать путь до выгруженного ранее файла и осуществить загрузку данных нажатием на кнопку «Загрузить данные».

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

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

Достаточно часто в работе крупных предприятий и торговых сетей возникает необходимость в обмене данными между базами. Каждый программист и администратор по-разному решает этот вопрос. Кто-то пишет выгрузки-загрузки через промежуточные файлы таблиц, кто-то использует режим COM соединения для подключения к базе источнику. Однако, в последнее время всё большую популярность набирает собственный 1С-овский механизм под названием «Универсальный обмен данными в формате XML».

Внешний вид обработки

В Полном интерфейсе открыть обработку можно по адресу Сервис->Прочие обмены данными-> Универсальный обмен данными в формате XML.

Форма обработки (Рис.1) содержит четыре закладки:

  • Дополнительные настройки;
  • Удаление данных.
  • Интерфейс каждой из закладок сильно загружен элементами, а потому требует отдельного рассмотрения.

    Выгрузка данных

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

    На следующей строке формы находятся два переключателя:

    1. Выгрузка в файл обмена (Рис.2);
    2. Подключение и выгрузка данных в ИБ (рис.3).

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

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

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

    Для отладки алгоритмов и исправления ошибок можно воспользоваться встроенным в обработку обмена механизмом. Его активация производится установкой соответствующего флажка в нижней части формы. Нажатие на кнопку «Настройка отладки…» вызывает окно (Рис. 4).

    Рис.4

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

    Нажатие на кнопку «Готово» проверяет правильность и полноту заполненных данных.

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

    Рис.5

    В первую очередь необходимо выбрать файл, который послужит источником информации. Это можно сделать в поле ввода «Имя файла для загрузки». В случае если данные выгружались в архив, защищенный паролем, его необходимо будет ввести в соответствующее поле.

    Соответствующие флажки позволяют настроить:

    • Транзакцию при записи объектов (это иногда ускоряет процесс);
    • Загрузку данных в режиме обмена (в этом случае все платформенные проверки, за исключением проверки при проведении документов, будут игнорироваться при записи);
    • Перезапись измененных элементов;
    • Установку пометки удаления для загружаемых элементов;
    • Режим записи новых данных в регистр (либо по одной, либо набором);
    • Обрезку незначащих символов (пробелов и табуляций) для строковых значений.

    Дополнительные настройки

    Как понятно из названия закладки, она содержит инструменты, использование которых позволяет точнее настроить процесс обмена. В частности:

    1. Включает режим отладки;
    2. Позволяет использовать транзакцию в процессе выгрузки;
    3. Оптимизирует обмен между базами 8-ой версии 1С;
    4. Выгружать только те объекты, которые разрешены к использованию текущему пользователю;
    5. Включить протоколирование процесса обмена между базами.

    Эти и некоторые другие функции включаются выставлением соответствующих флажков на форме (рис.6).

    Рис.6

    Удаление данных

    Эта закладка используется только разработчиками в режиме отладки. Позволяет удалять из базы ненужные объекты.

    Коротко о настройке правил обмена

    Использование стандартного обработчика очень упрощает жизнь программистам. В то же самое время, одним из самых сложных моментов для того, кто впервые столкнулся с «Универсальным обменом данным в формате XML» является вопрос: «Где взять файл правил обмена?».

    В первую очередь, для самостоятельного изготовления правил обмена, необходима специальная конфигурация, которая носит название «Конвертация данных». В ее составе есть несколько интересных файлов, которые позволяют настроить практически любой обмен между различными базами 1С 7 и 8 версий:

    1. epf – необходим для выгрузки структуры метаданных для баз 1С 8;
    2. epf – если конфигурация 1С 8 самописная или не стандартная, в ней может не быть обработки «Универсальный обмен данными», этот файл и есть эта обработка;
    3. ert –файл содержит код для выгрузки структуры метаданных конфигураций 1С версий 7.7;
    4. ert – файл обработки выгрузки-загрузки данных для семерки.

    Запустив соответствующие обработки необходимо выгрузить структуры метаданных для исходной базы и базы приемника. Затем в конфигурации «Конвертация» необходимо внести информацию о конфигурациях источника и приемника в справочник «Конфигурации».

    Затем в справочнике Конвертации создается элемент, содержащий информацию о направлении обмена данными. Для него можно настроить Правила обмена.