Первая схема обмена для интеграции 1С и WooCommerce

Плагин который добавляет схему обмена данными по товарной номенклатуре в плагин синхронизации интернет магазина на WooCommerce с программами Фирмы 1С различных конфигураций.

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

Для обмена заказами используется вторая схема обмена данными.

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

Какие данные синхронизируются?

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

  • Артикул
  • Наименование (название товара)
  • Описание товара
  • Вес (опционально)
  • Ширина (опционально)
  • Высота (опционально)
  • Свойства (атрибуты)
  • Изображения (главные и дополнительные)
  • Категории (виды номенклатуры)
  • Цены (несколько типов, в зависимости от версии CommerceML)
  • Остатки (по складам при наличии дополнительных плагинов и поддерживаемой версии CommerceML)
  • Налоговые ставки (опционально)
  • Единицы измерения (опционально)
  • Производитель (опционально)
  • Модель (опционально)

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

Функциональные возможности

Возможности, предоставляемые схемой обмена для практического применения. Описаны возможности самой последней версии схемы обмена.

Категории (виды номенклатуры)

В схеме предусмотрена возможность полной настройки алгоритма синхронизации категорий. Можно настраивать создание, изменение, удаление, обновление категорий как угодно.

К примеру можно:

  • Удалять старые категории в WooCommerce при полной выгрузке.
  • Обновлять названия категорий в WooCommerce при повторной выгрузке.
  • Создавать категории или не создавать категории в WooCommerce при выгрузке.
  • Делать слияние категорий с группами из 1С при выгрузке или не делать. Слияние происходит по названию.
  • Можно указать название главной категории в WooCommerce и все выгружаемые товары будут в ней.

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

Синхронизация продуктов (товаров)

Бывает так, что все товары или часть уже существуют на стороне интернет магазина. Поэтому целесообразно не удалять их, делая новую синхронизацию, а просто нужно их сопоставить.

Для этого имеется настройка, благодаря которой можно:

  • Синхронизировать существующие товары по Названию в WooCommerce и Наименованию в 1С
  • Синхронизировать существующие товары по Артикулу
  • Синхронизировать существующие товары по Штрихкоду
  • Синхронизировать существующие товары по Коду из 1С
  • Синхронизировать существующие товары по идентификатору из 1С, который был добавлен бесплатным старым плагином обмена.

Создание продуктов (товаров)

Если продукт ранее не создавался на стороне WooCommerce или же создавался, но не найден при включенных настройках синхронизации по Названию, Артикулу, Штрихкоду, Коду из 1С, идентификатору из 1С сторонних плагинов, он будет создан исходя из настроек создания продуктов.

При создании новых продуктов можно указать:

  • Создавать ли вариативные продукты. Вариативные продукты создаются на основе характеристик продуктов. Номенклатура в 1С должна быть заполнена соответствующим образом.
  • Назначать или не назначать категории для создаваемых продуктов
  • Импортировать изображения при создании или не назначать
  • Назначать статус Черновик или не назначать. Удобно для создания продуктов с дальнейшим наполнением на стороне WooCommerce
  • Импортировать описание для новых продуктов или не импортировать. При включении настройки заполняется описание продукта, если оно заполнено в 1С
  • Импортировать Артикулы или не импортировать. При включении настройки заполняются артикулы создаваемого продукта.
  • Импортировать Штрихкоды или не импортировать. При включении настройки к товару добавляется мета поле _ean которое заполняется данными штрихкодов указанными в 1С.

Обновление продуктов (товаров)

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

Обновление цен

Можно включить или выключить обновление цен у продуктов.

Назначение категорий

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

Обновление имени продукта

Если продукт изменил свое наименование в номенклатуре 1С, можно его обновить и на сайте в WooCommerce.

Обновление описания продукта

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

Обновление изображений

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

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

Обновление артикулов

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

Обновление штрихкодов

Если используются штрихкоды, их можно обновлять.

Удаление продуктов

Можно включить удаление продуктов на стороне WooCommerce, которые были помечены как удаленные в 1С.

Атрибуты (свойства, характеристики, реквизиты)

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

Добавление глобальных атрибутов

 

Добавление значений глобальных атрибутов

 

Атрибуты при добавлении продукта

 

Атрибуты при обновлении продукта

 

Вывод идентификаторов 1С

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

  • В списке товаров выводится дополнительная колонка с идентификатором товара в 1С
  • В списке категорий выводится дополнительная колонка с идентификатором в 1С

Технические детали

Было бы не справедливо оставить без внимания технические детали схемы обмена. Да да, они настолько изящны.

Поддержка транзакций

В большинстве версий систем управления базами данных имеется поддержка транзакций (отложенной записи данных). Транзакции нужны для уверенности в изменяемых данных. По умолчанию транзакции выключены. Включение поддержки транзакций в настройках конфигурации.

Если поддержка транзакций включена и в системе на стороне сайта произошла малейшая ошибка — изменения на сайт вносится не будут.

Режим отладки

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

Конвертация в кодировку win-1251

Для старых версий 1С требовалась конвертация кодировки ответа сайта, и она была добавлена в виде настройки.

Передача в сжатом виде (zip)

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

К сожалению, архиватор занимает больше ресурсов процессора. Поэтому подходит не для всех.

Проверка изображений

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

Вопросы и ответы

Часто задаваемые вопросы и ответы на них.

Как получить данную схему обмена?

Для получения схемы обмена, нужно написать запрос на почту support@mofsy.ru изложив информацию о вас и ваших задачах по интеграции в произвольном формате.

Какие версии WooCommerce поддерживаются?

Поддерживаются WooCommerce версии 3.х и новее. Совместимость со старыми версиями делается по индивидуальному заказу.