Файлы обмена Битрикс и 1С
Существует два различных набора файлов используемых в обмене между интернет-магазином и 1С:Предприятие. Набор этих файлов зависит от версии модуля обмена с веб-узлами, установленного в 1С. В «старом» обмене участвовало 3 файла: import.xml
, offers.xml
и orders.xml
. В «новом» добавилось еще 5 файлов: prices.xml
, rests.xml
, documents.xml
, contragents.xml
, references.xml
.
Разница между «старым» и «новым» обменом в том, что ранее 1C умела обмениваться с сайтом лишь в регламентном режиме с промежутком один раз в 15 минут и дольше, в новом появилась возможность обновления в режиме реального времени (realtime).
Список файлов участвующих в обмене
import.xml
содержит данные о товарах, категориях (группах), типах цен, складах, свойствах товаров и единицах измеренияoffers.xml
содержит данные о предложениях товаров (SKU) и их свойствахorders.xml
содержит подробные данные о заказахprices.xml
содержит данные о ценах предложений, перечисленных вoffers.xml
rests.xml
содержит данные о фактических остатках торговых предложений, перечисленных вoffers.xml
documents.xml
содержит информацию о документах, прикрепленных к товарамcontragents.xml
содержит информацию о контрагентахreferences.xml
содержит информацию о пользовательских справочниках, затронутых вimport.xml
В новых версиях модуля, обмен присходит 4
типами файлов, всего файлов 7
:
import.xml
(1й)import.xml
(2й)import.xml
(3й)offers.xml
(1й)offers.xml
(2й)rests.xml
prices.xml
Файл import.xml (1й)
Первый файл который отправляет 1С на сайт, в нем содержится мета-информация: инфоблок, его название, структура разделов, а так же список складов, типы цен и единицы измерения. Конкретной информации по товарам в нем нет, только информация в виде списков, необходимая для последующего импорта. Например создаётся инфоблок в который будут импортироваться товары.
Файл import.xml (2й)
В этом файле 1С присылает структуру свойств и их варианты значений (для типа список). Опять же, в этом файле нет конкретной информации по значениям свойств товаров, только мета-информация.
Файл import.xml (3й)
В этом xml уже содержится информация о товарах:
- Название, краткое описание (в 1С нет поля под описание товара, поэтому используется поле "полное наименование")
- Спец. поля (встроенные в 1С поля: страна, артикул, штрихкод, производитель, единица измерения)
- Значения свойств
- Значения реквизитов (отличается от свойств тем, что в этом поле могут быть абсолютно разные поля и значения. Выгружается в свойство типа строка с описанием (множественное))
Куда будет выгружаться значение: в свойство или в реквизиты зависит от программиста 1С, как ему было удобнее/как умеет.
Файл offers.xml (1й)
В нем находится мета-информация для торговых предложений: свойства торг. предложений и их варианты значения для свойств типа список. Аналогично как в файле import.xml (1й)
для товаров.
Файл offers.xml (2й)
Содержит информацию о торговых предложениях:
- Название торговых предложений
- Специальные поля (штрихкод, и т.п.)
- Значения свойств
- Характеристики
В этом файле уже нет реквизитов, а будут характеристики. Характеристика это различающийся параметр торг. предложения. Например для обуви это будет размер и/или цвет.
Вне зависимости от того используются на сайте торговые предложения или нет, offers.xml будет всегда, т.к. в 1С данные о товаре разделены. Поэтому import.xml описывает товар как “информационную” единицу, а offers.xml как единицу к покупке.
Файл rests.xml
Остатки торговых предложения на складах. В 1С-Битрикс остатки на складах выводятся только в качестве информации, а основной остаток один, находится в поле "Доступное количество" Поэтому во время импорта все остатки по складам складываются и записываются в это поле.
Файл prices.xml
Описывает цены на торговые предложения:
- Цена
- НДС
- Включен ли НДС в цену или нет
- Валюта
Структура файла import.xml
Файл содержит основную информацию о товарах, самые важные элементы:
<Классификатор>
— Содержит описание категорий товаров и свойств.<Каталог>
— Содержит полное описание товаров.
Общий вид файла:
<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.04">
<Классификатор>
<!-- Классификатор -->
</Классификатор>
<Каталог СодержитТолькоИзменения="false">
<!-- Каталог -->
<Каталог>
<КоммерческаяИнформация>
Классификатор
<Группы>
содержит информацию о группах (категориях) товаров, каждая<Группа>
может содержать подгруппы. Каждый элемент<Группа>
содержит:<Ид>
идентификатор группы (категории)<Наименование>
наименование группы (категории)
<Свойства>
содержит информацию о свойствах товаров. Каждый элемент<Свойство>
содержит:<Ид>
идентификатор свойства<Наименование>
наименование свойства<ВариантыЗначений>
содержит описание возможных значений свойств. Каждый элемент<ВариантЗначения>
содержит:<Ид>
идентификатор значения свойства<Значение>
значение свойства
<Классификатор>
<Ид>4bda4442-08dd-49c3-ae90-587e45ca65ce</Ид>
<Наименование>Классификатор (Основной каталог товаров)</Наименование>
<Владелец>
<Ид>51ed67a3-7220-11df-b336-0011955cba6b</Ид>
<Наименование>Торговый дом "Комплексный"</Наименование>
<ОфициальноеНаименование>Закрытое акционерное общество "Торговый дом Комплексный"</ОфициальноеНаименование>
<ИНН>7705260699</ИНН>
<КПП>770501001</КПП>
</Владелец>
<Группы>
<Группа>
<Ид>bd72d90d-55bc-11d9-848a-00112f43529a</Ид>
<Наименование>Обувь</Наименование>
<Группы>
<Группа>
<Ид>bd72d90e-55bc-11d9-848a-00112f43529a</Ид>
<Наименование>Женская обувь</Наименование>
<Группы/>
</Группа>
<Группа>
<Ид>dee6e1cf-55bc-11d9-848a-00112f43529a</Ид>
<Наименование>Кроссовки</Наименование>
<Группы/>
</Группа>
<Группа>
<Ид>dee6e186-55bc-11d9-848a-00112f43529a</Ид>
<Наименование>Мужская обувь</Наименование>
<Группы/>
</Группа>
</Группы>
</Группа>
</Группы>
<Свойства>
<Свойство>
<Ид>14ed8b2e-55bd-11d9-848a-00112f43529a</Ид>
<Наименование>Вид товара</Наименование>
</Свойство>
<Свойство>
<Ид>14ed8b20-55bd-11d9-848a-00112f43529a</Ид>
<Наименование>Производитель</Наименование>
</Свойство>
</Свойства>
</Классификатор>
Варианты описания свойств товаров в элементе <Классификатор>
:
<Свойства>
<Свойство> <!-- строка -->
<Ид>14ed8b20-55bd-11d9-848a-00112f43529a</Ид>
<Наименование>Производитель</Наименование>
<ТипЗначений>Строка</ТипЗначений>
</Свойство>
<Свойство> <!-- число -->
<Ид>984a5031-9698-11e2-9e62-002590093899</Ид>
<Наименование>Вес, кг</Наименование>
<ТипЗначений>Число</ТипЗначений>
</Свойство>
<Свойство> <!-- дата -->
<Ид>88fe46f9-8ad9-11e6-9420-001dd8b71c11</Ид>
<Наименование>Начало продаж</Наименование>
<ТипЗначений>Время</ТипЗначений>
</Свойство>
<Свойство> <!-- справочник -->
<Ид>14ed8b2e-55bd-11d9-848a-00112f43529a</Ид>
<Наименование>Напряжение питания</Наименование>
<ТипыЗначений>
<ТипЗначений>
<Тип>Справочник</Тип>
<ВариантыЗначений>
<ВариантЗначения>
<Ид>14ed8b3e-55bd-11d9-848a-00112f43529a</Ид>
<Значение>12 Вольт</Значение>
</ВариантЗначения>
<ВариантЗначения>
<Ид>14ed8b50-55bd-11d9-848a-00112f43529a</Ид>
<Значение>24 Вольт</Значение>
</ВариантЗначения>
</ВариантыЗначений>
</ТипЗначений>
</ТипыЗначений>
</Свойство>
</Свойства>
Каталог
<Товары>
содержит описания товаров. Каждый элемент<Товар>
содержит:<Ид>
идентификатор товара.<Артикул>
артикул товара.<Наименование>
название товара.<Группы>
содержит список элементов<Ид>
групп, к которым относится товар.<Описание>
подробное описание номенклатуры.<ЗначенияСвойств>
содержит свойства товаров, относящихся к данному товару. Каждый элемент<ЗначениеСвойства>
содержит:<Ид>
идентификатор свойства, по которому устанавливается взаимосвязь со свойством из элемента<Классификатор>
<Значение>
идентификатор значения свойства, по которому устанавливается взаимосвязь со значением свойства из элемента<Классификатор>
<СтавкиНалогов>
список ставок налогов. Каждый элемент<СтавкаНалогов>
содержит:<Наименование>
наименование ставки<Ставка>
значение ставки
<ХарактеристикиТовара>
содержит список характеристик номенклатуры в 1С (например, материал, масса). Каждый элемент<ХарактеристикаТовара>
содержит:<Наименование>
наименование характеристики<Значение>
значение характеристики
<ЗначенияРеквизитов>
список значений дополнительных реквизитов номенклатуры. Каждый элемент<ЗначениеРеквизита>
содержит:<Наименование>
наименование реквизита<Значение>
значение реквизита
<Картинка>
содержит путь к картинке
<Каталог СодержитТолькоИзменения="false">
<Ид>4bda4442-08dd-49c3-ae90-587e45ca65ce</Ид>
<ИдКлассификатора>4bda4442-08dd-49c3-ae90-587e45ca65ce</ИдКлассификатора>
<Наименование>Основной каталог товаров</Наименование>
<Товары>
<Товар>
<Ид>bd72d910-55bc-11d9-848a-00112f43529a</Ид>
<Артикул>Б-130001</Артикул>
<Наименование>Женские ботфорты</Наименование>
<БазоваяЕдиница Код="715" НаименованиеПолное="Пара (2 шт.)" МеждународноеСокращение="NPR">пар</БазоваяЕдиница>
<ПолноеНаименование>Женские ботфорты Б-130001 Фабрика обуви</ПолноеНаименование>
<Группы>
<Ид>bd72d90e-55bc-11d9-848a-00112f43529a</Ид>
</Группы>
<ЗначенияСвойств>
<ЗначенияСвойства>
<Ид>28b6895a-24a9-11e0-aeec-0015e9b8c48d</Ид>
<Значение/>
</ЗначенияСвойства>
</ЗначенияСвойств>
<СтавкиНалогов>
<СтавкаНалога>
<Наименование>НДС</Наименование>
<Ставка>18</Ставка>
</СтавкаНалога>
</СтавкиНалогов>
<ХарактеристикиТовара>
<ХарактеристикаТовара>
<Наименование>Цвет</Наименование>
<Значение>Белый</Значение>
</ХарактеристикаТовара>
</ХарактеристикиТовара>
<ЗначенияРеквизитов>
<ЗначениеРеквизита>
<Наименование>ВидНоменклатуры</Наименование>
<Значение>Обувь</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>Полное наименование</Наименование>
<Значение>Женские ботфорты Б-130001 Фабрика обуви</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>Вес</Наименование>
<Значение>1</Значение>
</ЗначениеРеквизита>
</ЗначенияРеквизитов>
</Товар>
</Товары>
</Каталог>
Структура файла offers.xml
Файл содержит информацию о ценах товаров, два главных элемента:
<ТипыЦен>
содержит общее описание цен<Предложения>
содержит список товаров с ценами и количеством
Общий вид файла:
<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.04">
<ПакетПредложений СодержитТолькоИзменения="true">
<ТипыЦен>
<!-- ТипыЦен -->
</ТипыЦен>
<Предложения>
<!-- Предложения -->
</Предложения>
</ПакетПредложений>
</КоммерческаяИнформация>
ТипыЦен
<Ид>
— Идентификатор цены.<Наименование>
— Наименование цены.<Валюта>
— Валюта цены.
<ТипыЦен>
<ТипЦены>
<Ид>aabf5dd5-f6b0-406d-b4e7-f93fb8329eec</Ид>
<Наименование>Розничная</Наименование>
<Валюта>руб</Валюта>
<Налог>
<Наименование>НДС</Наименование>
<УчтеноВСумме>true</УчтеноВСумме>
</Налог>
</ТипЦены>
<ТипЦены>
<Ид>b6fb4bdd-c8c6-4e92-9337-e759f5e0c5d8</Ид>
<Наименование>Оптовая</Наименование>
<Валюта>руб</Валюта>
<Налог>
<Наименование>НДС</Наименование>
<УчтеноВСумме>true</УчтеноВСумме>
</Налог>
</ТипЦены>
<ТипЦены>
<Ид>3ef9485b-e7e7-433f-94b5-7e72e2f0127f</Ид>
<Наименование>Интернет</Наименование>
<Валюта>руб</Валюта>
<Налог>
<Наименование>НДС</Наименование>
<УчтеноВСумме>true</УчтеноВСумме>
</Налог>
</ТипЦены>
</ТипыЦен>
Предложения
<Ид>
идентификатор номенклатуры<Наименование>
наименование номенклатуры<Цены>
значения цен номенклатуры. Каждый элемент<Цена>
содержит:<Представление>
название цены<ИдТипаЦены>
идентификатор цены, по которой устанавливается взаимосвязь с типом цен из элемента<ТипыЦен>
<ЦенаЗаЕдиницу>
значение цены<Валюта>
валюта цены<Единица>
единица измерения<Коэффициент>
коэффициент единицы измерения
<Количество>
количество на складе
<Предложения>
<Предложение>
<Ид>05e26d70-01e4-11dc-a411-00055d80a2d1</Ид>
<Наименование>Стол обеденный</Наименование>
<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
<Цены>
<Цена>
<Представление>50,00 руб. за шт</Представление>
<ИдТипаЦены>aabf5dd5-f6b0-406d-b4e7-f93fb8329eec</ИдТипаЦены>
<ЦенаЗаЕдиницу>50.00</ЦенаЗаЕдиницу>
<Валюта>руб</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
<Цена>
<Представление>40,00 руб. за шт</Представление>
<ИдТипаЦены>b6fb4bdd-c8c6-4e92-9337-e759f5e0c5d8</ИдТипаЦены>
<ЦенаЗаЕдиницу>40.00</ЦенаЗаЕдиницу>
<Валюта>руб</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
<Цена>
<Представление>45,00 руб. за шт</Представление>
<ИдТипаЦены>3ef9485b-e7e7-433f-94b5-7e72e2f0127f</ИдТипаЦены>
<ЦенаЗаЕдиницу>45.00</ЦенаЗаЕдиницу>
<Валюта>руб</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
</Цены>
<Количество>127</Количество>
</Предложение>
</Предложения>