1с 7.7 универсальная выгрузка. Внешний вид и особенности использования универсального обмена данными

Перенос данных состоит из двух этапов:

1-й - выгрузка данных из ТиС в файл формата xml с помощью обработки «ОбработкаВыгрузкиСправочников. ert » .

ПОДРОБНАЯ ИНСТРУКЦИЯ:

1) Открываем обработку «ОбработкаВыгрузкиСправочников. ert » в 1С 7.7 ТиС 9.2

Рис.1 Основной вид обработки выгрузки.

2) Выбираем путь к правилам обмена (п.1) к файлу «ПОД_Перенос_Справочников_ТиС_БП20.xml ».

3) Сразу можно указать файл для выгрузки данных в формате xml в (п.2) .

4) Если будут выгружаться документы, необходимо указать период выгрузки данных в (п.3).

5) Далее нажимаем кнопку (п.11), появится список Правил выгрузки данных. Слева каждого правила флажком можно отключать или подключать выгружаемый объект. Например, если нас интересует только справочник контрагенты пометка должна быть включена только у правила Контрагенты .

6)Если нам необходимо задать какой-либо отбор для объекта выгрузки (на рис.1 это Организации (п.10)). Выбираемэтот объект, нажимаем кнопку Установить ПВД (в (п.12) появится название выбранного объекта «Отбор данных для Организации ») только после этого можно будет добавлять условие для отбора кнопка Условие отбора (п.5) . В (п.6) ставим отметку если это условие отбора будет задействовано, далее (п.7) выбираем реквизит по которому будет делаться отбор. (П.8) задается логическая операция для отбора. И в (п.9) задается само значение отбора. После того как будет установлено условие отбора для какого-либо правила, в списке правил выгрузки данных (п.10) у этого правила в квадратных скобках появится слово [ОТБОР].

7) Приведу пример для выгрузки справочника Контрагенты. И так, нам необходимо выгрузить контрагентов только из группы «Покупатели» рис. 2

Выбираем объект Контрагенты в списке правил, жмем кнопку Установить ПВД, далее жмем кнопку Добавить условие, в таблице отбора появиться новая пустая строка заполняем ее: двойным кликом в колонке «Реквизит отбора» в новой строке (п.2) вызовем окно выбора реквизита отбора (таблица реквизитов объекта по которым возможно сделать отбор), в таблице (п.1) выбираем реквизит Родитель .

Рис.2 Выбор реквизита отбора

Следующий шаг рис. 4 выбор логического оператора в (п.1) из списка операторов (п.2), в нашем случае «В», т.е. будут отобраны и выгружены только те элементы которые входят в группу «ПОКУПАТЕЛИ»

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

1) Все теперь нажимаем кнопку Выгрузить , ждем когда пройдет выгрузка выбранных объектов. По окончанию получим радостное сообщение рис. 5.

Рис. 5

1) Переходим ко второму этапу - Загрузка в БП 2.0. Открываем стандартную обработку в «Бухгалтерии предприятия» - главное меню «Сервис» => «Прочие обмены данными» => «Универсальный обмен данными в формате XML» рис. 6 (п.1).

1) В открывшейся форме Рис. 7 на вкладке в поле Имя файла для загрузки (п.2) указываем файл, в который была произведена выгрузка, жмём кнопку Загрузить данные (п.1). По завершению загрузки появится окошко с надписью «Загрузка завершена».

Рис. 7 Типовая обработка универсального обмена в БП 2.0

Ну вот и всё.)

Надеюсь эта статья кому-нибудь пригодиться и поможет. Если кому очень надо можно будет доработать и под нетиповые конфигурации, обращайтесь, пишите комментарии.

почта: [email protected].

Здесь я опишу основные моменты при работе со стандартной компонентой 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 универсальная загрузка из XML (как и любые процессы обмена) происходит при помощи встроенного механизма "Конвертация данных". В разных его версиях реализованы различные подходы к организации обменных процессов.

Универсальная обработка

С седьмой версии 1С обмениваться информацией между базами и платформами можно при помощи встроенного инструмента "Конвертация данных". Его средства дают возможность преобразовывать информацию из баз 1С в формат XML и переносить ее из седьмой версии в восьмую, из "Управления торговлей" в "Склад" и др. Для 1С 7 этот инструмент включает в себя следующие компоненты:

    База конфигурации;

    Внешние обработки:

    • V77Exp.ert выгрузка из 1С в XML;

      MD77Exp.ert выгружает в XML-файл метаданные.

Конфигурация и обработки доступны на официальном сайте 1С для всех пользователей (партнеров) продукции этой компании. Их же можно найти на диске ИТС, который прилагается к любому продукту 1С при покупке.

Подходы к загрузке данных в XML-формат

Для переноса информации в рамках 1С используются версии 2.0 и 3.0 "Конвертация данных". Их различие заключается в подходах к обработке и преобразованию данных.

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

2.Версия 3.0 "Конвертации данных" разрабатывалась с целью обособления процессов обмена от структуры информационных баз. Это стало возможным благодаря XML-формату - EnterpriseData. Теперь для каждой базы создаются правила преобразования ее содержимого в этот универсальный формат без необходимости создания правил для каждой конкретной пары "источник-приемник" заново.

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

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

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

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

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