→ Универсальная выгрузка в xml 1с 7.7.

Универсальная выгрузка в xml 1с 7.7.

А эта статья описывает шаги необходимые для обмена данными из конфигурации 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.

Сегодня мы рассмотрим с Вами обработку "Универсальная выгрузка в 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.

Здесь я опишу основные моменты при работе со стандартной компонентой 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

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

Внимание: Это не готовое решение, это шаблон, образец, который нужно допиливать под себя.

В программном коде файла, путь к файлу выгрузки указан явно, желательно поместить его в константу конфигурации.

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

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

Фильтры справочника Склады, указаны по кодам нашего основного склада.

Технология подключения:

1) В базах создается служебный пользователь Robot.

2) Обработку поместить в каталог ExtForms базы 1С.

3) В конец процедуры глобального модуля "ПриНачалеРаботыСистемы()" вносятся изменения.

//************************************ Если ИмяПользователя() = "Robot" Тогда СтатусВозврата(0); ОткрытьФорму("Отчет", "Robot", КаталогИБ()+"ExtForms\PriceXML_BP_4_5.ert"); Возврат; КонецЕсли; //************************************

Т.е. при запуске 1С под пользователейм Robot, произойдет запуск обработки, у которой в процедуре ПриОткрытии прописана выгрузка остатков в XML, далее сеанс Robot автоматически завершится.

4) Средствами операционной системы "Планировщик заданий" настраивается запуск 1С по расписанию под пользователем Robot.

5)Транспорт файла на FTP сайта, осуществляется сторонними средствами.

Обновление 25.08.2017

Клиент попросил создать аналогичную выгрузку под БП 3.0 платформа 8.3 тонкий клиент.

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

Можно использовать как образец, для создания своих выгрузок в ХМЛ под тонково клиента.

P.S. Если обработка вам помогла, поблагодарите автора, поставив звездочку!

Перенос информации между базами данных является одной из задач их поддержки и администрирования. Для его эффективного выполнения в автоматизированных комплексах 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с необходимо открыть обработку в базе-приемнике. Затем нужно указать путь до выгруженного ранее файла и осуществить загрузку данных нажатием на кнопку «Загрузить данные».

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

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

 

 

Это интересно: