Интернет магазин интеграция с 1С

Как интегрировать 1С с интернет-магазином?

Существует решение из коробки для битрикса. Смысл заключается в формировании CommerceML файлов для каталога товаров, их свойств, цен и остатков. Поддерживается как полная загрузка каталога, так и формирование файлов изменений, регистрируемых в плане обмена с сайтом. Загружаются также и заказы… В битриксе соответственно существует загрузка этих данных. Протокол обмена с сайтом. Безотносительно битрикса и его чудовищности, механизм этот практически самостоятельный, во всяком случае ознакомиться с ним не помешает (если есть такая возможность).

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

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

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

Некоторые пытаются преобразовать номенклатуру к виду на сайте, но обычно это fail. Отсюда возникает необходимость в дополнительных структурах (читай доработка конфигурации в большинстве случаев с нуля и не универсальная), отчасти дублирующих существующие данные, которые приводят к довольно большому объему работы менеджеров контента.

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

  • Вторая проблема — это объем информации для синхронизации с сайтом. Есть два варианта — вести каталог в 1С и вести каталог на сайте, в админке (имеется в виду свойства, картинки, характеристики товаров, которых просто может не быть в 1С по причине отсутствия надобности в учете). Первый вариант позволяет больше возможностей с точки зрения простоты и часто скорости ввода. Второй вариант позволяет избавиться от необходимости синхронизации каталога на каждое изменение не только структуры, но и свойств, категорий и т.д. Какой из вариантов выбирать зависит от каталога и размера номенклатуры.

Если для ведения каталога все-таки использовать 1С, то отсюда будет вытекать и метод выгрузки. Скажем csv хорош для простых списков, если же по каждому товару будет довольно много дополнительной информации, то XML выглядит предпочтительнее (как вариант CommerceML, не лишенный недостатков, но свою работу выполняющий). Также надо учитывать, что при большом объеме нужно будет дробить файлы на части и обрабатывать по частям (иначе timeout’ы на сервере и полный провал с выгрузкой).

  • Следующий момент, частота обновлений как в одну сторону (каталог, цены, свойства…) так и в другую (заказы покупателей).

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

При загрузке заказов покупателей придется реализовывать логику мгновенного обновления статуса (а может быть и состава заказа) в зависимости действий менеджера. Особенно если заказы обрабатывает сразу несколько человек. Неплохим вариантом здесь может стать веб-сервис…

Если идти от простого к сложному длинным путем, то да, берем каталог выгружаем в csv, смотрим на результат — на 95% не устраивает. Дальше появляется вуду…

Magento — это платформа с открытым исходным кодом для создания интернет-магазина. Несмотря на то, что сегодня эта платформа разрабатывается украинской командой, многие модули ориентированы на западный рынок.
Тем не менее, хватает расширений, хоть и платных, для украинского и российского рынков. Что в комплексе с неплохими возможностями платформы, и способствует тому, что многие при выборе платформы для интернет-магазина останавливаются именно на Magento.

Как следствие этого, вопрос о возможности интеграции 1С 7.7 и 8 интересен многим. И ответ на этот вопрос есть – интеграция возможна.
Но задача эта как оказалась не из простых. И связано это с тем, что для хранения данных в Magento задействовано очень много таблиц, которые между собой связаны. Например, для того чтобы выгрузить товар из 1С на сайт, необходимо выполнить запись в порядка 15 — 20 таблиц, тогда как в других движках это 1-2 таблицы. А если учесть выгрузку характеристик товаров, фотографий, цен, то количество таблиц возрастает до 30-40.

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

Вернемся к интеграции. Для большинства магазинов процесс обмена стандартный: выгрузка товаров из 1С в интернет-магазин и получение клиентов и заказов из интернет-магазина в 1С. Чего же удалось добиться от интеграции с Magento.

1. Выгрузка товаров из 1С в интернет магазин.

  • Каталог товаров. Для организации каталога товаров на сайте может быть использована любая описанная в 1С и связанная с товаром структура данных. Самый простой способ – это использование справочника «Номенклатура», в котором и описывается структура нашего каталога. Что и было сделано, иерархия каталога в 1С полностью повторяет иерархию на сайте.
  • Товары с изображениями и характеристиками. При обмене на сайт выгружается основные данные по товару: наименование, артикул, описание, основное и дополнительные изображения и т.д. Но каждый товар может иметь ряд дополнительных, уникальных свойств, которые характеризуют тот или иной товар. Например, для описания компьютерной техники необходимо задать такие свойства как частота процессора, объем оперативной памяти и т.д., а для телевизоров – диагональ, тип матрицы и т.д. Естественно перечень свойств должен создаваться и заполняется в 1С, а потом выгружаться на сайт.

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

  • Информация об остатках и ценах товаров. Одним из ключевых моментов, для которого делается интеграция 1С и сайта, в т.ч. и Magento, является отображение на сайте актуальных цен и остатков товаров, а также оперативное их изменение. При изменении цены, продаже или приходе товара, проведении акций информация должна оперативно отражаться на сайте. Благодаря интеграции такая возможность есть. Изменения в 1С влекут за собой изменения на сайте, это может быть сделано менеджером, нажатием одной кнопки или автоматически через определенные промежутки времени.
  • Заказы. Заказы, загружаются в 1С нажатием кнопки или автоматически через определенные промежутки времени. Дальше полученные в 1С, обрабатываются сотрудниками компании — выполняется отгрузка товара, поступает оплата по заказу и т.д. Для того чтобы покупатель понимал что в данный момент происходит с его заказом и на каком он этапе выполнения необходимо постоянно менять статус заказа на сайте. Модуль интеграции 1С берет эту работу на себя. Он сам отследит изменение состояния заказа, и обновит статус в интернет-магазине.

2. Загрузка данных в 1С из интернет магазина:

  • Информация о покупателях. При оформлении заказа покупатель интернет-магазина указывает контактные данные – адрес, телефон, e-mal. При загрузке эти данные автоматически заносятся в 1С. В справочнике «Контрагенты» создаются новые элементы с заполненными контактными данными.
  • Заказы покупателей. В интернет-магазине все заказы создаются и выбираются для загрузки в 1С в определенном статусе. Загружаются заказы в 1С максимально заполненные и менеджеру достаточно просмотреть заказ и нажать кнопку провести. Дальше на основании данного заказа можно создать расходную накладную или принять оплату. Для этого достаточно ввести соответствующий документ в 1С. В целом на оформление заказа у менеджера уйдет меньше минуты, в зависимости от количества товарных позиций в заказе.

Решение 1С для высоконагруженных сайтов.

В ряде случаев, стандартного решения интеграции Magento-1C с помощью CommerceML недостаточно ввиду ограниченности протокола CommerceML: передача массивов данных, убранных в файлы, посредством HTTP (как сделано в 1С из «коробки») — решение, более чем сомнительное с точки зрения производительности.

В данном случае, мы используем надежную и проверенную схему: Magento и 1С совместно передают и принимают данные в общую отдельную MS SQL таблицу (Oracle, MySQL и любые другие с поддержкой ODBC/JDBC подходят тоже).

Преимущества высоконагруженного решения коннектора Magento-1C:

  1. Процедуры интеграции 1С легко модифицируются под особенности конкретных сущностей любым разработчиком конфигураций 1С;
  2. Единая документация по набору и составу сущностей прямо в SQL;
  3. Быстрота отладки неквалифицированным специалистом (всегда видно, в какую сторону не сработал обмен) — можно смотреть состояние обмена в Excel. При изменениях в конфигурации любой из сторон, разработчики всегда достоверно знают, на какой стороне проблема.
  4. Решение подразумевает быструю и гарантированную доставку любого по размерам массива данных о товарах, остатках (к нам попадались изменения в остатках размером в 150 000 артикулов и 70 миллионов записей одновременно), мгновенную передачу данных о заказах, простую фильтрацию обработанных и новых записей.
  5. Возможность транзакционного обмена (если пакет должно быть выгружен строго целиком: при возникновении сбоя в процессе передачи после записи части данных, записанные данные не добавляются в таблицы обмена).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *