Выгрузить из 1с 7.7 в xml. Внешний вид и особенности использования универсального обмена данными. Реализация прав на использование программ для ЭВМ и баз данных
А эта статья описывает шаги необходимые для обмена данными из конфигурации 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С:Предприятие 7.7 и запустим обработку MD77Exp.ert
для выгрузки описания структуры метаданных источника.
Сохраним структуру метаданных источника в файл Rules1.xml. - Откроем базу приёмника в режиме 1С:Предприятие 8.2 и запустим обработку MD82Exp.epf
для выгрузки описания структуры метаданных приёмника.
Сохраним структуру метаданных приёмника в файл Rules2.xml.
Загрузим описания структуры метаданных обеих конфигураций.
- Запустим конфигурацию Конвертация данных в режиме 1С:Предприятие 8.2.
- Откроем справочник «Конфигурации» (Справочники—>Конфигурации). Он хранит информацию о конфигурациях,
между которыми может производиться настройка правил обмена. - Добавим информацию о конфигурации источнике. Нажмём кнопку «Добавить» или клавишу «Insert».
- Укажем путь к файлу со структурой метаданных источника Rules1.xml. Нажмём кнопку «Выполнить загрузку».
- Добавим информацию о конфигурации приёмнике. Нажмём кнопку «Добавить» или клавишу «Insert».
- Укажем путь к файлу со структурой метаданных приёмника Rules2.xml. Нажмём кнопку «Выполнить загрузку».
Итак, мы загрузили информацию об источнике и приёмнике. Теперь мы можем производить настройку правил обмена.
- Откроем справочник «Конвертации» (Справочники—>Конвертации). Этот справочник содержит иформацию,
в которой определяется между какими конфигурациями осуществляется обмен и в каком направлении. - Добавим новый элемент. Нажмём кнопку «Добавить» или клавишу «Insert».
- Укажем кофигурацию источник из справочника «Конфигурации». Поле «Конфигурация — источник:».
- Укажем кофигурацию приёмник из справочника «Конфигурации». Поле «Конфигурация — приемник:».
- Важная деталь!!! Откроем закладку «Дополнительно». Поле «Имя файла модуля выгрузки:».
- Укажем место расположения файла модуля выгрузки, например: C:\\Bases\\МодульВыгрузки.txt.
- Содержимое этого файла необходимо, чтобы в будущем (подробнее об этом ниже) заменить весь
модуль в обработке V77Exp.ert. Без этой замены выгрузка невозможна! - Нажмём кнопку «ОК».
Отлично, мы произвели настройку правил обмена. Осталось эти правила обмена выгрузить в файл.
- В справочнике «Конвертации» выделим только что созданный элемент.
- На панели справочника нажмём кнопку «Перейти к правилам». Откроется форма с правилами конвертации.
- Во вкладке «Правила выгрузки данных» укажем, что конкретно мы хотим выгружать.
- На вкладке «Конвертация свойств» мы можем указать сопоставление реквизитов обменивающихся объектов.
- На этой форме в левом верхнем углу найдём кнопку «Сохранить правила».
- Укажем имя файла и путь (Например, C:\\Bases\\ПравилаОбменаДанными.xml). Нажмём кнопку «Открыть».
- Позже, указанный путь мы можем изменить в справочнике «Конвертации»—>«Изменить текущий элемент (F2)»—>закладка «Дополнительно»—>поле «Имя файла правил обмена:».
- Во время сохранения правил, также записывается модуль выгрузки, по указанному нами ранее пути: C:\\Bases\\МодульВыгрузки.txt.
Правила конвертации готовы! Теперь сделаем обмен данными.
Откроем базу источник в режиме 1С:Конфигуратор 7.7, затем откроем обработку V77Exp.ert —
«Универсальная выгрузка данных в формате XML». Откроем закладку «Модуль», удалим всё содержимое модуля.
Вставим строку: #ЗагрузитьИзФайла C:\\Bases\\МодульВыгрузки.txt.
Директивой «ЗагрузитьИзФайла» мы переключаем загрузку программного модуля на загрузку из текстового файла.
Теперь нужно следить, чтобы файл с кодом выгрузки МодульВыгрузки.txt всегда был в указанной нами папке.
Сохраним обработку V77Exp.ert.
Для осуществления выгрузки данных необходимо:
- Открыть базу источник в режиме 1С:Предприятие 7.7, затем открыть только что сохраннёную обработку V77Exp.ert.
- Указать имя файла правил обмена в поле «Имя файла правил:» (мы его сохраняли здесь: C:\\Bases\\ПравилаОбменаДанными.xml) и
выбрать файл в поле «Имя файла данных:», в который будет осуществляться выгрузка данных (Например, C:\\Bases\\ВыгрузкаДанныхИз7.7.xml). - Далее необходимо загрузить правила обмена, нажав кнопку «Загрузить правила обмена».
- Для выгрузки документов за определенный интервал необходимо указать период — «Дату начала» и «Дату окончания».
- Флажки в списке «Правила выгрузки данных» указывают, какие данные будут выгружаться, а какие нет.
Теперь загрузим данные в базу приёмник. Откроем её в режиме 1С:Предприятие 8.2 и запустим обработку
«Универсальный обмен данными в формате XML» для загрузки данных источника.
Это файл оработки V8Exchan82.epf. Или открыть «Сервис»—>«Прочие обмены данными»—>«Универсальный обмен данными в формате XML»
- В обработке на вкладке «Загрузка данных» выберем имя файла данных (мы его сохраняли здесь: C:\\Bases\\ВыгрузкаДанныхИз7.7.xml).
- Нажмём кнопку «Загрузить данные» (Находится на панели вверху).
Данные загружены!
Те же действия для выгрузки из версии 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с необходимо открыть обработку в базе-приемнике. Затем нужно указать путь до выгруженного ранее файла и осуществить загрузку данных нажатием на кнопку «Загрузить данные».
При необходимости активируются флажки для загрузки данных в режиме обмена в распределенной информационной базе и игнорирования возникающих ошибок при загрузке объектов.
После этого необходимо проверить базы и убедиться, что все элементы загружены корректно, чтобы не получить их потери, например, если произошла ошибка в обработчике события после загрузки объекта.
Здесь я опишу основные моменты при работе со стандартной компонентой 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.