1с универсальный обмен данными в формате xml

Обновлено: 04.07.2024

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

Внешняя обработка выгрузка и загрузка данных в xml 1с 8.3

В некоторых конфигурациях имеется типовой функционал для обмена данными (например, выгрузка из конфигурации Зарплата и управление персоналом в Бухгалтерию предприятия или из Управления торговлей в Бухгалтерию предприятия, из Зарплата и кадры государственного учреждения в Бухгалтерию государственных учреждений и т.п.).

В случае, если конфигурации разные, приходится создавать правила переноса в конфигурации 1С: Конвертация данных. Также некоторые данные можно загрузить из табличного документа Excel, с помощью обработки Загрузки данных из табличного документа.

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

Данная обработка поставляется в составе конфигурации 1С: Конвертация данных 2, а также скачать ее можно с сайта 1С или с диска ИТС.

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

Рассмотрим принцип работы данной обработки.

Выгрузка данных из 1С 8.3 в xml


Выберем и откроем файл обработки Выгрузка и загрузка данных XML .


Откроется обработка, в которой необходимо произвести настройку выгрузки.

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

Например, при выгрузке справочника Номенклатура можно загрузить Единицы измерения . При выгрузке справочника Контрагенты или Организации можно выгрузить Банковские счета и Договора . Если их не выгрузить, то при загрузке этих данных не будет, а при переносе документов эти поля окажутся пустыми и в этих полях вместо данных будет надпись <Объект не найден>.


При выгрузке можно установить галочку выгружать в формате FastInfoSet . Данный формат использует альтернативный синтаксис отображения xml-данных, обеспечивает меньший объем файлов и более высокую скорость обработки, чем скорость обработки данных, записанных в обычном xml-формате. Файл этого формата имеет расширение .fi или .finf.

Для примера, в новую созданную базу 1С 8.3 выгрузим справочники Организации , Контрагенты и Номенклатура .

О том, как создать новую базу 1С подробнее читайте в статье Как создать информационную базу в 1С 8.3

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


Нажимаем Сохранить и указываем папку. В нашем примере папка Выгрузка из 1С.


Загрузка данных из xml файла в базу 1С 8.3

Откроем информационную базу-приемник, т.е. базу 1С 8.3, куда будем загружать наши данные.

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


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



Проверяем наши справочники.


Проверим, перенесся ли справочник Договоры . Проверим вкладу Договоры в элементе справочника Контрагенты .


Есть. Но для этого при выгрузке мы его тоже отметили.


  • Как выгрузить документ, отчет из 1С 8.3 в Excel
  • Загрузка из Excel в 1С 8.3
  • Как выгрузить базу 1С 8.3 на флешку

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Похожие публикации

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

Карточка публикации

(7 оценок, среднее: 4,29 из 5)

Данную публикацию можно обсудить в комментариях ниже.
Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>

Все комментарии (6)

Спасибо! Статья очень помогла.

Отлично! Спасибо за обратную связь.

Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>

Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>

Задача: требуется настроить обмен данными через файл из 1С: Управление торговлей 11 (далее УТ) в 1С: Бухгалтерия 3.0 (далее Бухгалтерия).

  • платформа 1С: Предприятие 8.3 (8.3.13.1690),
  • конфигурация Управление торговлей, редакция 11 (11.4.7.150),
  • конфигурация Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.72.72)
  • режим Файловый (без сжатия).
  • настроить параметры подключения,
  • настроить правила отправки и получения данных,
  • выполнить начальную выгрузку данных.
  • настроить правила отправки и получения данных,
  • выполнить сопоставление и загрузку данных,
  • выполнить начальную выгрузку данных.

ШАГ 1. Настройка в УТ

Переходим в раздел «НСИ и администрирование» и выбираем пункт «Синхронизация данных». Обязательно должен быть указан префикс информационной базы. В нашем случае это «ЦБ».


Устанавливаем флаг «Синхронизация данных» и переходим по ссылке «Настройки синхронизации данных». Нажимаем кнопку «Новая синхронизация данных». В открывшемся окне выбираем конфигурацию, с которой будем настраивать обмен. В нашем случае это «Бухгалтерия предприятия, редакция 3.0».


Откроется окно настройки синхронизации. Выберем пункт «Настроить параметры подключения».


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


Далее укажем каталог и настроим архивацию файлов.


Далее укажем префикс базы бухгалтерии и название файла с настройками синхронизации.


Обратите внимание: если указать префикс, по которому уже есть обмен, то будет ошибка, программа предложит указать уникальный код. Нажимаем «Далее» и на этом заканчивается первый шаг настройки.


В результате у нас появится два файла в указанной папке: файл с данными (Message_ЦБ_БП.zip) и файл с настройками обмена (Синхронизация данных через универсальный формат.xml). Обратите внимание: если в УТ попробовать перейти к этапу «Настроить правила отправки и получения данных», то будет ошибка.


ШАГ 2. Настройка в Бухгалтерии

Перед настройкой синхронизации в Бухгалтерии нам понадобятся два файла, созданных на предыдущем шаге. Разместим файлы Message_ЦБ_БП.zip и Синхронизация данных через универсальный формат.xml в любую папку на компьютере с базой Бухгалтерии. Внимание: если Бухгалтерия находится на одном компьютере с УТ, то ничего переносить не нужно. Будем использовать ту же папку, что и для УТ.

Сначала перейдем в раздел «Администрирование» и выберем пункт «Синхронизация данных». В открывшемся окне проверим, чтобы префикс указанной базы совпадал с префиксом, который мы указали на первом шаге.


Устанавливаем флаг «Синхронизация данных» и переходим по ссылке «Настройки синхронизации данных». Нажимаем кнопку «Новая синхронизация данных». В открывшемся окне выбираем конфигурацию, с которой будет настроен обмен. В нашем случае это «1С: Управление торговлей, редакция 11».


Откроется окно настройки синхронизации. Выберем пункт «Настроить параметры подключения».


Так как обмен настраиваем через файл, то выбираем пункт «синхронизация данных через файл, без подключения к другой программе». На Шаге 1 мы уже создали файл с настройками обмена Синхронизация данных через универсальный формат.xml, поэтому выберем его. Если был создан другой каталог и туда скопировали файл с настройками обмена, то выбираем его.


Далее укажем каталог и настроим архивацию файлов. В данном случае каталог может быть тот же самый или тот, в который перенесли два файла.


Далее проверяем настройки префиксов и на этом настройка параметров подключения в Бухгалтерии завершена.



Далее переходим к следующему этапу «Настройка правил отправки и получения данных».


Так как задачи выгрузки из Бухгалтерии у нас нет, то в настройках отправки данных укажем «не отправлять».


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


Нажимаем «Записать и закрыть». Далее переходим к следующему этапу «Выполнить начальную выгрузку данных».


После выполнения операции будет создан в каталоге обмена файл с данными Message_БП_ЦБ.zip. На этом этап настройка обмена в Бухгалтерии закончена.


ШАГ 3. Окончание настройки в УТ

Вернемся в УТ. Если использовался другой каталог, то в папку обмена УТ перенесем файл, созданный на прошлом шаге Message_БП_ЦБ.zip.

Продолжим настройку синхронизации в УТ с этапа «Настроить правила отправки и получения данных».


В настройках обратим внимание на два поля.

1.Отправлять только используемую в документах нормативно-справочную информацию.

2.Отправлять все, начиная с даты. Это поле полезно, так как бывает, что нужно начать синхронизацию с определенного времени. Например, учет в УТ уже был настроен ранее, а в
Бухгалтерии только начинаем вести учет. Тогда нет необходимости переносить все документы из УТ в Бухгалтерию. Или второй случай: нужно поменять настройки обмена, но чтобы они действовали только для документов с определенной даты.


Все остальные поля заполняем в зависимости от учета.

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


Нажимаем «Записать и закрыть». Переходим к следующему этапу «Выполнить сопоставление и загрузку данных».


В нашем случае программа ничего загружать не будет и перейдет к следующему этапу.


На последнем этапе «Выполнить начальную выгрузку данных» программа выгрузит данные из УТ в файл Message_ЦБ_БП.zip.



Обратите внимание (для случая с двумя каталогами): полученный файл Message_ЦБ_БП.zip копируем в каталог обмена Бухгалтерии. В Бухгалтерии выполняем синхронизацию. При этом Бухгалтерия сначала загрузит данные из присланного файла Message_ЦБ_БП.zip, потом обновит свой файл выгрузки Message_БП_ЦБ.zip Этот файл выгрузки Message_БП_ЦБ.zip нужно скопировать обратно в каталог обмена УТ и в УТ выполнить синхронизацию. При этом УТ сначала загрузит данные (если они там есть) из файла Message _БП_ЦБ.zip, а потом обновит свой файл выгрузки Message _ЦБ_БП.zip и т.д.

Что необходимо для автоматического обмена данными, без внесения изменений в конфигурацию:
1) Обработка "Универсальный обмен данными в формате XML", которая входит в состав большинства типовых конфигураций. Если её там не оказалось, то её легко найти на диске ИТС или на просторах интернета. В конфигурации она обзывается "УниверсальныйОбменДаннымиXML"
2) Правила обмена данными. Создаются с помощью "Конвертации данных". Работу с которой вам придётся освоить. Есть и видеокурсы и учебные пособия. Например: http://programmist1s.ru/wp-content/uploads/2013/06/Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
3) Внешняя обработка, содержащая процедуры загрузки/выгрузки. Займемся её созданием:
Создаётся внешняя обработка в модуле объекта которой будет нижеприведённый текст (подставляете свои данные по базам и пользователям). Желательно создать отдельного пользователя с полными правами для обмена данными. Назовём обработку, к примеру, "ОбменДанными.epf".

4) Bat файл выгрузки, который будет запускать 1с и внешнюю обработку с параметром запуска под пользователем, который предназначен для обмен данными. Файл необходимо создать к примеру в notepad++ с кодировкой OEM(MS-Dos), иначе работать не будет. Файл назовём, например "BatVygruz.bat". Текст будет следующим:

Если база файловая:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\Inbox\КБФ\1Cv8_Base_8.1\Зевс 83 БП3\Зевс 83 БП3" /N"РоботОбменаДанными" /P"pass" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\ОлегА\ОбменДанными.epf" /C"Выгрузка"
Пояснения:
а) C:\Program Files (x86)\1cv82\common\1cestart.exe - ваш путь к стартеру 1С
б) C:\Inbox\КБФ\1Cv8_Base_8.1\Зевс 83 БП3\Зевс 83 БП3 - ваш путь к файловой базе, из которой будем выгружать данные
в) РоботОбменаДанными - Имя пользователя, под которым запускам 1С для обмена данными
г) pass - пароль пользователя
д) /DisableStartupMessages - закрываем всплывающие окна при старте 1С
е) /RunModeOrdinaryApplication - запуск в обычном режиме толстый клиент
ж) C:\Inbox\ОлегА\ОбменДанными.epf - путь к нашей обработке, которая запустится при старте
з) Выгрузка - передаём параметр запуска 1С, сообщает, что надо выгружать данные

Если база серверная:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /S"Server1C/DataBase" /N"РоботОбменаДанными" /P"pass" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\ОлегА\ОбменДанными.epf" /C"Выгрузка"
Пояснения:
а) C:\Program Files (x86)\1cv82\common\1cestart.exe - ваш путь к стартеру 1С
б) Server1C/DataBase - ваш сервер на котором находится база и имя самой базы из которой выгружаем данные.
Остальные параметры аналогичны файловому варианту bat файла

5) Bat файл загрузки (при необходимости). Если вы решили выгружать данные в файл, а не напрямую в базу. То этот пункт нам тоже понадобится (обычно необходим).
Создание Bat файла загрузки аналогично файлу выгрузки, но отличается лишь параметр запуска, вместо "Выгрузка", мы ставим "Загрузка"

6) Задать расписание запуска наших Bat файлов загрузки/выгрузки на сервере. Для этого надо зайти в администрирование панели управления на сервере и в планировщике заданий создать новое задание запуска файла выгрузки на 23 часа каждый день и задание на загрузку с указанием Bat файла загрузки(если надо) на 04 часа к примеру.

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

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

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

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

  1. Выгрузка данных;
  2. Загрузка данных;
  3. Дополнительные настройки;
  4. Удаление данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также: