Перейти к основному содержанию
+7(495)127-09-41
Написать мне
Описание обмена данными между 1С и интернет-магазином.
аватар автора
Кинзябулатов Рамиль
12/17/2018

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

При этом CMS и особенности реализации интернет-магазинов могут быть самыми разными, в качестве учетной системы чаще всего выступает 1С, но и здесь конфигурации могут очень сильно отличаться друг от друга. Но есть основные принципы и определенные стандарты обмена данными, общие для всех типов программного обеспечения. О них я и хочу поговорить.

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

Зачем нужен обмен данными

Автоматическая интеграция между интернет-магазином и учетной системой помогает решить целый ряд вопросов:

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

Основные этапы обмена данных

Процесс обмена данными между программными системами состоит из 3 основных частей:

  1. Инициация обмена.
  2. Выгрузка данных на сайт.
  3. Выгрузка данных с сайта.

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

Инициация обмена

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

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

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

Из учетной системы на сайт выгружаются следующие сведения:

  1. Название товарной позиции;
  2. Иерархия товара;
  3. Артикул и код товара;
  4. Описание ( не рекомендуется, подробнее – ниже);
  5. Характеристики ( цвет, размер и т.д)
  6. Штрих-код товара;
  7. Цены, акции, скидки;
  8. Товарные остатки.

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

Иерархия

Иерархию заводят как отдельный справочник в 1С. Встроенную иерархию 1С использовать не рекомендуется. Дело в том, что структура каталога товаров на сайте и справочников в 1С очень часто оказывается разной. При этом именно так удобнее всего строить работу: для покупателей – один вариант структуры, для работы в 1С – другой. Соответственно, для выгрузки в магазин необходим отдельный реквизит «Группа товаров на сайте», где будет отражаться иерархия каталога в интернет-магазине.

Цены, скидки и акции

Цены для интернет-магазина рекомендуется также хранить как  отдельный тип цены (справочник "Типы цен"), так как они нередко отличаются от стоимости товара в оптовых или розничных продажах. При этом отдельно нужно учитывать возможность продаж со скидками и в рамках акций.

Обычно «Акция» в карточке товара в 1С включаются при помощи флага («галочка»). Необходимо этот параметр также переносить в интернет-магазин, где акционные товары будут выделяться соответствующим образом.

Для цены со скидкой необходимо реализовать отдельный реквизит. При этом в магазин выгружаются 2 цены: без скидки и со скидкой. Это нужно для реализации распространенного решения: перечеркнутая цена без скидки и новая – со скидкой.

Товарные остатки

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

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

Описания товаров и фото

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

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

  1. Графические файлы сравнительно много «весят», в результате обмен данными будет значительно замедляться, при этом потребуется задействовать значительные серверные мощности.
  2. Отображение фото в CMS может быть некорректным, файлы «обрезаются» или «сжимаются» системой под заданные параметры, а в некоторых CMS вообще не отображаются после выгрузки без дополнительных действий контент-менеджера.
  3. Фото, как и описания товара, обновляются крайне редко.

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

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

А потому фотографии необходимо оптимизировать до выгрузки на сайт (даже если ваша CMS поддерживает автоматическую оптимизацию, большие файлы будут занимать лишнее место на хостинге). И при оформлении контент-менеджер обязательно должен отслеживать такие параметры, как названием файла (лучше всего осмысленное) и заполнять тег alt (отображается если не видно картинки, полезен для поисковой оптимизации).

Выгрузка из магазина в 1С

Из интернет-магазина в учетную систему обязательно выгружается один тип документов – заказ от клиента вместе со всеми необходимыми данными (ФИО, email, телефон, адрес, финансовая информация для юридических лиц и т.д.)

Здесь стоит остановиться на двух важных этапах:

  1. Выгрузка заказа;
  2. Проведение заказа.

Выгрузка заказа

В процессе выгрузки необходимо корректно из базы данных магазина в 1С передать все данные:

  1. ФИО и контакты (при этом важно избегать дублирования в случае повторных заказов);
  2. Адрес доставки или точку самовывоза.
  3. Данные об оплате.
  4. Данные о товарах и их количестве.

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

Очень важно, чтобы все сведения из заказа передавались в 1С без искажений. Например, товар был продан с определенной скидкой, в заказе в 1С должна отображаться цена со скидкой, даже если она окажется индивидуальной (с учетом бонусных баллов и т.д.). Нередко возникают ситуации, когда при автоматическом обмене данных в 1С используется цена из справочника цен для интернет-магазина, в результате в учетной системе цены и сумма заказа могут не совпадать с тем, что было на сайте. Этой распространенной ошибки необходимо избегать.

Проведение заказа

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

Статусы: работа с проведенным заказом

После оформления заказа и проведения его в 1С процесс продажи переходит к вопросам проверки оплаты и осуществлению доставки (адресной или к точке самовывоза).

И здесь важно предусмотреть, каким образом покупатель будет получать уведомления о статусе заказа.

  • Вариант 1. Уведомления будут рассылаться из 1С (на email, при помощи sms или телефонии)
  • Вариант 2. Статус заказа отображается в интернет-магазине и уведомления отправляются с сайта.

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

Что необходимо предусмотреть при организации обмена данными

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

Что важно учитывать при составлении техзадания по интеграции:

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

Технические нюансы реализации интеграции зависят от выбранной конфигурации 1С и особенностей интернет-магазина. Методы их реализации выбирают специалисты по внедрению. Но независимо ни от чего, если при обсуждении заказа и составлении технического задания будут учтены описанные в статье этапы и учтены «подводные камни», интеграция пройдет быстро, а последующий обмен данными будет работать качественно и эффективно.

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

Что делать, если у нас несколько магазинов, и мы хотим торговать из розничного магазина и на сайте одновременно?

Необходимо организовать обмен данными между всеми торговыми точками и сайтом интернет-магазина, т.е. все торговые точки и склад должны быть объединены в общую систему при помощи интеграции.

А если я торгую оптом и хочу продавать через интернет?

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

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

Какие стандарты обмена данными вы рекомендуете?

Обмен данных может быть по API, текстовыми файлами или при помощи прямой записи в базы данных. Я рекомендую по возможности пользоваться API. Этот вариант обмена наиболее защищен от ошибок, удобен и прост при внедрении. Но если такая возможность не реализована или вам необходима повышенная скорость обмена, можно использовать и другие методы обмена. Например, если на сайте базы данных реализованы на MySQL, прямой обмен реализовать можно быстро и относительно просто.