Файлы обмена с 1С:Предприятие

07.06.2018

Теги: 1С:ПредприятиеWeb-разработкаXMLБитрикс

Существует два различных набора файлов используемых в обмене между интернет-магазином и 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.
Инициатором обмена всегда является 1С. Сайт выступает только принимающей стороной и обрабатывает данные, присланные из 1С. На стороне магазина не хранятся никакие доступы, позволяющие подключиться на удаленный сервер 1С и инициализировать обмен.

Структура файла 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 Вольт</Значение>
                    </ВариантЗначения>
                </ВариантыЗначений>
            </ТипЗначений>
        </ТипыЗначений>
    </Свойство>
</Свойства>

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

<Свойство> <!-- составной тип -->
    <Ид>14ed8b2e-55bd-11d9-848a-00112f43529a</Ид>
    <Наименование>Напряжение питания</Наименование>
    <ТипыЗначений>
        <ТипЗначений>
            <Тип>Справочник</Тип>
        </ТипЗначений>
        <ТипЗначений>
            <Тип>Строка</Тип>
        </ТипЗначений>
        <ТипЗначений>
            <Тип>Число</Тип>
        </ТипЗначений>
        <ТипЗначений>
            <Тип>Дата</Тип>
        </ТипЗначений>
    </ТипыЗначений>
</Свойство>

«Чистый» справочник (содержащий только значения ссылочного типа) может быть представлен проще:

<Свойство> <!-- справочник -->
    <Ид>14ed8b2e-55bd-11d9-848a-00112f43529a</Ид>
    <Наименование>Напряжение питания</Наименование>
    <ТипЗначений>Справочник</ТипЗначений>
    <ВариантыЗначений>
        <ВариантЗначения>
            <Ид>14ed8b3e-55bd-11d9-848a-00112f43529a</Ид>
            <Значение>12 Вольт</Значение>
        </ВариантЗначения>
        <ВариантЗначения>
            <Ид>14ed8b50-55bd-11d9-848a-00112f43529a</Ид>
            <Значение>24 Вольт</Значение>
        </ВариантЗначения>
    </ВариантыЗначений>
</Свойство>

Но это только мои догадки, не нашел нигде толкового описания формата элемента <Свойство>, собирал по крупицам.

Варианты задания значений свойств товаров в элементе <Каталог>:

<Товары>
    <Товар>
        <ЗначенияСвойств>
            <ЗначенияСвойства> <!-- строка -->
                <Ид>14ed8b20-55bd-11d9-848a-00112f43529a</Ид>
                <Значение>Аврора</Значение>
            </ЗначенияСвойства>
            <ЗначенияСвойства> <!-- число -->
                <Ид>984a5031-9698-11e2-9e62-002590093899</Ид>
                <Значение>5</Значение>
            </ЗначенияСвойства>
            <ЗначенияСвойства> <!-- дата -->
                <Ид>88fe46f9-8ad9-11e6-9420-001dd8b71c11</Ид>
                <Значение>01.02.2018 0:00:00</Значение>
            </ЗначенияСвойства>
            <ЗначенияСвойства> <!-- справочник -->
                <Ид>14ed8b2e-55bd-11d9-848a-00112f43529a</Ид>
                <ИдЗначения>14ed8b3e-55bd-11d9-848a-00112f43529a</ИдЗначения> <!-- 12 Вольт -->
                <ИдЗначения>14ed8b50-55bd-11d9-848a-00112f43529a</ИдЗначения> <!-- 24 Вольт -->
            </ЗначенияСвойства>
        </ЗначенияСвойств>
    </Товар>
</Товары>

<Каталог>

  • <Товары> — Содержит описания товаров. Каждый элемент <Товар> содержит:
    • <Ид> — Идентификатор товара.
    • <Артикул> — Артикул товара.
    • <Наименование> — Название товара.
    • <Группы> — Содержит список элементов <Ид> групп, к которым относится товар.
    • <Описание> — Подробное описание номенклатуры.
    • <ЗначенияСвойств> — Содержит свойства товаров, относящихся к данному товару. Каждый элемент <ЗначениеСвойства> содержит:
      • <Ид> — идентификатор свойства, по которому устанавливается взаимосвязь со свойством из элемента <Классификатор>.
      • <Значение> — идентификатор значения свойства, по которому устанавливается взаимосвязь со значением свойства из элемента <Классификатор>.
    • <СтавкиНалогов> — Cписок ставок налогов. Каждый элемент <СтавкаНалогов> содержит:
      • <Наименование> наименование ставки.
      • <Ставка> значение ставки.
    • <ХарактеристикиТовара> — Содержит список характеристик номенклатуры в 1С (например, материал, масса). Каждый элемент <ХарактеристикаТовара> содержит:
      • <Наименование> — наименование характеристики.
      • <Значение> — значение характеристики.
    • <ЗначенияРеквизитов> — Cписок значений дополнительных реквизитов номенклатуры. Каждый элемент <ЗначениеРеквизита> содержит:
      • <Наименование> — наименование реквизита.
      • <Значение> — значение реквизита.
    • <Картинка> — содержит путь к картинке.
<Каталог СодержитТолькоИзменения="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</Количество>
    </Предложение>
</Предложения>

Дополнительно

Поиск: 1С:Предприятие • Web-разработка • XML • import.xml • offers.xml • Битрикс

Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.