Выгрузка и загрузка данных 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 — задавайте их в комментариях.