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

Выгрузка и загрузка данных 1С — xml. В этой статье я постараюсь структурировать знания по вопросу выгрузки и загрузки данных из 1С в формат xml. Все актуальнее становятся подобные обмены.

Итак, что же из себя представляем формат xml? Если очень упрощенно, то это файл, в котором данные хранятся в тегах. Например:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE recipe>
<recipe name="хлеб" preptime="5min" cooktime="180min">
   <title>
      Простой хлеб
   </title>
   <composition>
      <ingredient amount="3" unit="стакан">Мука</ingredient>
      <ingredient amount="0.25" unit="грамм">Дрожжи</ingredient>
      <ingredient amount="1.5" unit="стакан">Тёплая вода</ingredient>
   </composition>
   <instructions>
     <step>
        Смешать все ингредиенты и тщательно замесить. 
     </step>
     <step>
        Закрыть тканью и оставить на один час в тёплом помещении. 
     </step>
     <!-- 
        <step>
           Почитать вчерашнюю газету. 
        </step>
         - это сомнительный шаг...
      -->
     <step>
        Замесить ещё раз, положить на противень и поставить в духовку.
     </step>
   </instructions>
</recipe>

При этом структура этого файла должна обговариваться каждый раз отдельно. Т.е. единственное общее правило для файлов xml заключается в том, что все данные хранятся в тегах. Как видно в примере выше, например, в теге «title» хранится информация «Простой хлеб», в «step» — «Почитать вчерашнюю газету» и т.д.

Более подробно о xml можно прочитать тут.

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

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

Но существует уже устоявшиеся структуры файлов xml. И это очень удобно! Т.к. для определенной задачи всем уже известен формат файла для обмена — это очень ускоряет процесс запуска обмена данными. Например, YML (yandex market language), YRL (yandex tealty language) и др. Как ясно из названий, первый служит для обмена информацией о каталоге товаров, а второй для обмена информации о недвижимости.

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

Кроме того, можно самому придумывать структуры файлов xml. Больше 3 лет назад у меня в голове возник вопрос «почему нет обработки от 1С, которая переносила бы данные справочников между любыми базами 1С?». В итоге я придумал собственную структуру файла формата xml именно для обмена данными между любыми базами. Так родилась идея обработки, которая уже помогла более чем 150 организациям в переносе данных (информация на 2018 год). Ознакомиться с ней можно тут.

Если у вас остались вопросы по обменам данными с 1С в формате xml — задавайте их в комментариях.

Добавить комментарий

Ваш адрес email не будет опубликован.