Pull to refresh

Интеграция Opencart с 1С Предприятие

Reading time 4 min
Views 52K
На сегодняшний день электронная коммерция ушла далеко вперед и предприниматели интернет магазинов уже давно не используют собственные склады, а продают товар чаще всего
напрямую со склада поставщика.

В связи с этим появилась возможность публиковать на сайте объемы товары немыслимо превышающие самый большой гипермаркет: 2000 наименований, 6 000 наименований и более. Причем каждый товар может иметь различные характеристики, такие как: цвет, размер, тип материала и т.д. И тогда количество объектов может перевалить за 20 000 шт. К таким интернет магазинам чаще всего относят магазины автозапчастей, детских игрушек, магазины одежды/аксессуаров и др.

Имея такое количество товаров бизнес ставит новые условия автоматизации: обязательная интеграция интернет магазина с существующей системой учета организации. Чаще этой системой является система программ 1С Предприятие, прочно вошедшая в жизнь любого бизнеса. В данной статье мы рассмотрим интеграцию интернет магазина на популярной системе управления сайтом Opencart и 1С Управление торговлей.

CMS Opencart — разработана и позиционирует себя, как удобная платформа для интернет магазинов.

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



Впрочем он есть в любых конфигурациях: 1С: Управление торговлей, 1С Розница, 1С Комплексная автоматизация, 1С Управление небольшой фирмой, 1С ERP и другие. Для интеграции Opencart с 1С Управление торговлей на сегодняшний день существует множество модулей и методов обмена. Все их можно разделить на несколько видов:

1. Прямая запись данных о товарах в БД сайта с встраиванием доп.функционала в программу 1С
2. Прямая запись данных о товарах через внешние обработки обмена
3. Обмен данными по стандарту Commerce ML

Про первый вид: чаще всего для его реализации используется модификация конфигураций 1С, встраивание стороннего кода. Обычно при этом варианте происходит так называемый «процесс снятия с поддержки „конфигураций что дает автоматическую отмашку техподдержке 1С брать дополнительные деньги за обновление таких конфигураций. Для прямой записи в БД сайта нужно также дополнительно установить компоненту 1С осуществляющей подключение к mysql сайта. С этим тоже могут иногда возникнуть трудности, из за специфики установки компоненты на платформу 1С и работы операционной системы.

Про второй вид: все тоже самое, но изменение конфигурации 1С не происходит.

Про третий вид: Обмен по стандарту Commerce ML состоит в том, что 1С формирует XML файл с данными и отправляет его на сайт. Далее сайт осуществляет чтение полученного файла и запись в БД сайта. Та же технология используется для CMS 1С-Битрикс. Плюсы данного метода в том, что со стороны 1С выгрузка XML файла полностью реализована и есть в любой конфигурации, остается лишь настроить подключение к сайту.

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

Все существующие модули обмена позволяют выгружать на сайт и получать с сайта следующую информацию:

  • Выгрузка на сайт групп и подгрупп номенклатуры
  • Выгрузка на сайт номенклатуры, наименования, артикула, описания
  • Выгрузка на сайт нескольких изображений к товару из 1С
  • Выгрузка на сайт производителя указанного в номенклатуре
  • Выгрузка на сайт дополнительных пользовательских реквизитов номенклатуры в атрибуты товара
  • Выгрузка на сайт цен номенклатуры
  • Выгрузка на сайт типов цен номенклатуры для групп покупателей сайта
  • Выгрузка на сайт количества товара на складе и постоянное обновление текущих остатков
  • Загрузка с сайта в 1С заказов от покупателей
  • Загрузка с сайта в 1С Контрагента и Партнера участвующего в заказе
  • Загрузка с сайта в 1С номенклатуры участвующей в заказе
  • Создание отбора при выгрузке на сайт

По моему мнению, наиболее удобный и простой в установке и реализации модуль обмена Opencart с 1С Предприятие этот.

Работает на всех версиях Opencart, не требует установки каких то доп. сторонних модулей на сайт и какому либо изменению конфигурации 1С или модификации платформы 1С.

Теперь про то как устроена во всех модулях, в том числе и в этом, связь между объектами 1С и таблицами базы данных Opencart (стандартный префикс по умолчанию не стал убирать для наглядности):

Объект 1С Таблицы базы данных Opencart
Элементы справочника “Номенклатура» oc_product, oc_product_description
Свойства элементов справочника «Номенклатура» oc_attribute, oc_attribute_description, oc_product_attribute
Изображения элемента справочника «Номенклатура» oc_product, oc_product_image
Группы справочника «Номенклатура» oc_category, oc_category_description
Типовое соглашение об условиях продаж или Типы цен номенклатуры oc_customer_group, oc_customer_group_description, oc_product_discount
Остатки номенклатуры по складам oc_product
Цена номенклатуры oc_product, oc_product_discount
Документ «Заказ клиента» и товары заказа oc_order, oc_order_product, oc_order_status
Покупатель или Контрагент участвующий в заказе oc_order

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

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

20 тыс. позиций — 10 минут
60 тыс. позиций — 15 минут
80 тыс. позиций — 25 минут

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

Завершающим этапом идет время чтение полученного файла XML уже непосредственно на сайте, и запись в базу данных. Время здесь не существенно, и обычно сервер очень быстро «читает» данные.

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

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



Но в то же время, существует мнение что opencart начинает плохо работать при очень большом количестве товаров на сайте. Лечится оптимизацией и использованием кэширования. Для небольших интернет магазинов вполне хорошая и экономичная CMS.
Tags:
Hubs:
+10
Comments 8
Comments Comments 8

Articles