Обмен данными с 1с

Двухсторонний обмен данными с 1С реализован в рамках стандарта протокола CommerceML разработанного компанией 1С специально для синхронизации товаров и заказов между веб-сайтами  и 1С.

При обмене данными в формате CommerceML, 1C должна формировать и отправлять два файла import.xml и offers.xml
Скачать пример файлов обмена

Какие данные участвуют в обмене

  1. Со стороны 1С, на сайт передается вся структура каталога товаров, их количество, свойства, варианты и изображения.
  2. Сайт в свою очередь отдает 1С новые и измененные заказы сделанные на сайте, а 1С изменяет остатки товаров, которые были заказаны.

В обратном направлении (Из сайта в 1С), передать структуру каталога и товары - запрещено рамками протокола CommerceML, но при этом если в заказе на сайте присутствуют товары, которые не заведены в 1С, то при обмене они будут созданы в 1С автоматически.

Как настроить обмен данными 1С с сайтом на Moguta.CMS

1. На стороне 1С перейдите в раздел "Обмен с сайтом".

1с как настроить обмен данными с moguta.cms
2. Нажмите на кнопку "Создать", чтобы настроить обмен данными с новым сайтом.

 1с интеграция с moguta.cms


3. Укажите индивидуальные параметры импорта и параметры для подключения к сайту.

 
 moguta и 1с

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

 

Рекомендуем создать отдельного администратора, для синхронизации с 1С. 

  • Имя пользователя: впишите логин администратора вашего сайта, например admin@email.ru
  • Пароль: пароль администратора вашего сайта.
  • Адрес магазина: http://ваш_сайт/exchange1c

Точный адрес можно посмотреть в админке вашего сайта в разделе "Настройки" – "Настройки 1С"
 Настройки 1с на Могуте
 
Проверьте соединение с сайтом, если логин и пароль указаны верно, без пробелов и лишних символов, а адрес сайта совпадает с указанным в настройках 1С на стороне Mоguta.CMS, то вы увидите сообщение об успешной установке соединения.
 
1C как настроить обмен данными с сайтом на Moguta CMS

Внимание! если на сайте используется https, то обмен с 1с может не работать на некоторых хостингах, пока не исключить редирект для адреса http://ваш_сайт/exchange1c

Сделать это можно таким образом: в файле .htaccsess, после строки 
RewriteBase /
Добавьте следующие правила
RewriteCond %{HTTP:X-HTTPS} 1 [NC]
RewriteCond %{REQUEST_URI} ^/exchange1c$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/  [R=301,L]

Если строки RewriteBase / нет, добавьте её самостоятельно (добавить можно в конец файла).
Если данный код не помог установить соединение, попробуйте использовать следующий код:

RewriteBase /

RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !^/exchange1c


4. Во вкладке "Выгрузка товаров" укажите "Режим выгрузки только Изменения" это позволить снизить нагрузку на сайт во время обмена данными.
обмен сайта с 1c
5. Во вкладке заказы укажите необходимые параметры вашей компании.
CommerceML Moguta
6. Для запуска процесса обмена данными нажмите на кнопку "Выполнить обмен".
Обмен данными с 1С


Если все сделано верно, то при нажатии на кнопку "Выполнить обмен​" вы увидите историю "Служебных сообщений", с информацией об успешной выгрузке товаров и заказов.

Для обмена данными по протоколу CommerceML предусморен раздел настроек на стороне Moguta.CMS, где можно указать какие поля в товарах обновлять, а какие оставить неизменными на сайте, а также есть возможность собирать журнал логов, в которых будет отражен весь процесс обмена данными.

Логи 1С
В разделе "Обновляемые поля товаров при обмене данными" укажите какие данные надо перезаписывать при каждом новом импорте.
Обновляемые поля

Обмен заказами с услугой доставки

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

Выбор номенклатуры производится по следующему пути: «Обмен с сайтом» → «Настройки обмена с сайтом» → правой кнопкой по строке с обменом → «Изменить» → Вкладка «Обмен заказами» → «Параметры обмена заказами» → Раздел «Реквизиты для создания новых элементов справочника "Номенклатура"» → «Вид номенклатуры услуга». Здесь необходимо выбрать вид номенклатуры «Услуга» (если её нет, то создать).

Обмен заказами с услугой доставки


Теперь при первой передаче заказа с доставкой будет создана номенклатура «Доставка заказа» и в дальнейшем она же будет использоваться для обозначения цены доставки в заказе клиента.

Настройка для приема изменений заказ из 1С

Для того, чтобы 1С при обмене с сайтом отдавал обновление статуса заказа, необходимо задать в «Обмен с сайтом» → «Настройки обмена с сайтом» → правой кнопкой по строке с обменом → «Изменить» → Вкладка «Обмен заказами» → «Параметры обмена заказами» → «Дополнительные реквизиты для поиска документов "Заказ клиент"» установить параметр «Номер заказа на сайте».

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

Соответствие статусов заказа

Соответствие статусов заказа

С версии Moguta CMS 8.8.0 и выше, появилась возможность устанавливать наименование статусов заказ для обмена данными с 1С. Теперь есть три варианта синхронизации статусов заказов:

1. Установить на стороне 1С в «Обмен с сайтом» → «Настройки обмена с сайтом» → правой кнопкой по строке с обменом → «Изменить» → Вкладка «Обмен заказами» → «Дополнительно» каждому названию статуса необходимое имя из Moguta CMS

1С соответствие статусов заказа

2. Задать на стороне Moguta CMS в разделе настроек обмена данными с 1С соответствие статусов заказа.

Установить собственные наименования статусов с обеих сторон

3. Установить собственные наименования статусов с обеих сторон

Установить собственные наименования статусов с обеих сторон

Настройка оптовых цен

Для синхронизации оптовых цен необходимо выполнить следующие шаги:
1. Создаём дополнительные поля товара в административной панели сайта, например "оптовая цена 1" и "оптовая цена 2"
- На стороне 1С должны быть такие же поля

2. Привязываем оптовые цены к нужной группе пользователей

3. Настраиваем соответствие дополнительных полей на нашей стороне, где наименование дополнительного поля и наименование на стороне 1С должны совпадать. Также не забудьте указать что это дополнительное поле "цена", также указать количество от которого будет применена оптовая цена.


4. Указываем на стороне 1С виды цен, которые необходимо выгружать

5. Указываем в административной панели сайта откуда из 1С брать розничную цену

Настройка цветоразмерной сетки

Чтобы при обмене с 1С автоматически создавалась цветоразмерная сетка товаров, необходимо подготовить корректные файлы для формата СommerceML (пример файлов).

Цветоразмерная сетка доступна только для вариантов. Поэтому вам нужно проверить, что в 1с у товаров заданы варианты. Как создать вариант для товара в 1с, можно утонить в поддержке 1с, так как для разных конфигураций инструкция отличается.


В итоге 1С должна отдать файл offers.xml который содержит информацию о товарном предложении в следующем виде:

1. Идентификатор товара должен иметь символ #. Именно он говорит о том, что это вариант товара, а не отдельный товар.
2. У варианта товара в файле должны быть заданы свойства с названиями 'Размер' и 'Цвет'.
3. У свойств должны быть значения.
CommerceML цвета и размеры



Настройка для обмена с МойСклад

Чтобы настроить обмен данными с сайтом, необходимо в сервисе МойСклад перейти в раздел "Настройки" на вкладку "Онлайн-торговля". Нажать на кнопку "Магазин", из выпадающего списка выбрать "Обмен по CommerceML" .

В настройках подключения укажите

  • Адрес магазина:https://ваш_сайт/exchange1c
    Корректную ссылку можно найти в административной панели вашего сайта на вкладке настроек "1С или МойСклад".
  • Логин:логин администратора вашего сайта (почта)
  • Пароль:пароль администратора вашего сайта.

Для обмена статусами заказов отметьте опцию "Отправлять статусы заказов" в настройке "Выгружать изменения по заказам".