Интеграция RetailCRM c 1С

image_pdfimage_print

Печать (Ctrl+P)
Одна из многих CRM-систем для работы с клиентами в интернете называется  RetailCRM. Подробнее об этой системе можно посмотреть на сайте разработчиков этой системы  https://www.retailcrm.ru/

RetailCRM предоставляет возможность интеграции  с  1С: предприятие  и с другими системами, например, Система управление сайтом 1С: битрикс ( далее CMS).  Информация по интеграции с 1С поподробнее можно посмотреть в документации http://www.retailcrm.ru/docs/Users/1C. 

Информация по интеграции с системой управления сайтом  1С: битрикс   можно посмотреть по ссылке  http://www.retailcrm.ru/docs/Users/Bitrix

Один клиент  обратился ко мне за советом –  У его, в торговой фирме,  установлена 1С розница, ред 2.2.7 с настроенным обменом с сайтом 1с: битрикс и теперь хотели приобрести RetailCRM. Однако было не ясно  как построить бизнес процесс при трехкратном обмене 1С- Сайт – CRM

В отделе поддержки  RetailCRM мне посоветовали такую схему интеграции 1С- Сайт – CRM

Рис 1 Схема интеграции RetailCRM с 1С

 

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

 Основные цели интеграции  CRM-систем с 1 С  в этой схеме –  это обмен заказами  и  передача остатки товаров и цен в  CRM и товарами.

Особенность интеграции RetailCRM с 1С

  1. У них нет законченного   универсального решения  интеграции для прикладных решений 1С. Они предоставляю шаблонное решение на примере «1С: Управление торговлей, редакция 11.2». Этот шаблон разработчики и партнеры могут использовать и адаптировать под любую конфигурацию 1С.   Скачать шаблонное решение интеграции с  1С можно по ссылке https://github.com/retailcrm/1C-configuration.
  2. Для обмена заказами, выгрузки остатков  и цен в систему  RetailCRM используется  API (интерфейс программирования приложений, интерфейс прикладного программирования) (англ. application programming interfaceAPI [эй-пи-ай]) — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) или операционной системой для использования во внешних программных продуктах.  Описание API для разработчиков , занимающихся интеграцией   с системой RetailCRM доступно по ссылке  https://www.retailcrm.ru/docs/Developers/Index
  3. Выгрузка информации о товарах и структуры каталогов в систему RetailCRM происходит в формате ICML ( International Conference on Machine Learning – основная международная научная конференция по машинному обучению). Техническое описание этого формата  ICML  можно посмотреть по ссылке  http://www.retailcrm.ru/docs/Developers/ICML .  Возможно  написать файл выгрузки самостоятельно  в соответствии с описанием ниже или воспользоваться готовое решение  модули интеграции .

Я скачал из сайта файл  RetailCRM_8.3_УТ11.4_api_v5.cf, с целю интегрировать его с розницей  его с  розницей  2.2.7.   У них объявлено, что данный  модуль интеграции  является рабочим на версии конфигурации Управление торговлей, редакция 11 (11.4.2.х) / 11 (11.4.2.х для api v5) Демо, платформа 1С:Предприятие 8.3 (8.3.11.2867).   Этот файл конфигурации содержит следующие объекты конфигурации, которые должны быть добавлены в прикладном решении при объединении конфигураций:

Рис 2. Конфигурация шаблонного решения интеграции
  • Подсистема – RetailCRMИнтеграция. Содержит в составе все объекты интеграции, перечисленные ниже 
  • Общий модуль – RetailCRM_Общий. Содержит набор  процедур и функций общего назначения,
  • Роль – RetailCRMИнтеграция 
  • Общие картинки – RetailCRM и RetailCRMlogo
  • Подписка на событие – RetailCRM_документы .  В подписке на события необходимо выбрать в качестве источника ДокументОбъект.ЗаказКлиента. Выгрузка данных по заказу из 1С в retailCRM происходит при проведении заказа. Для этих целей и нужна подписка на событие. Её настраиваем под нужную конфигурацию.
  • Константа RetailCRM_константы. Набор констант, которые используются как параметры настройки интеграции и заполнения документов
  • Обработка – RetailCRMШаблонноеРешение.  С помощью этой обработки инициализируют константы, выполняется загрузка заказов из retailCRM, выгрузка остатков и цен в retailCRM, выгрузка типов цен (если используются) и если есть необходимость то и выгрузка каталога номенклатуры в retailCRM.

Обратите внимание, что  в данном шаблонном решении интеграции в отличии от интеграции с сайтом 1С: битрикс  не используется  план обмена и вместо этого используется набор констант для хранения параметров обмена.

При интеграции модуля в  типовой конфигурации 1С розница 2.2.7  я  решил  отказаться  от констант и обработки в шаблоне  отказаться. Вместо констант в шаблоне, я использовал реквизиты плана обмена, а вместо формы обработки шаблона  – форму  узла  обмена . Однако, задача оказалось сложной.  Я обнаружил  существенные недостатки  интеграции с 1С, которые не позволяет использовать объект конфигурации План обмена:

  1. Не возможно загружать  только измененные  объекты информационной базы. Например, если у одной номенклатуры изменилась картинка, а у другой номенклатуры изменилась цена или остаток на складе, то нужно выгружать из 1С весь каталог товаров, все остатки и все цены .  Я сначала  загрузил группу товаров  бытовая техника, а затем  загрузил продукты питания. Я удивился, когда увидел, что  элементы из группы бытовая техника пропали  после загрузки группы справочника  продукты питания. Я до сих пор, не понимаю почему разработчики создали разные   механизмы для выгрузки каталога и для торговых приложений и заказов. Если  посмотреть описание формата ICML для выгрузки каталога  здесь  , можно убедиться, что в начале файла отсутствует тег,  который мог бы передать системе инструкцию о том. что выгружаемые данные в файле являются измененными и не нужно очистить весь каталог, а  просто заменить найденные или добавлять новые.
  2.  Система  RetailCRM не предоставляет место у себя на сервере для создания файла каталога товаров в формате ICML  как это делается, например, при обмене с сайтом 1С: Битрикс Файл должен находится на каком-то HTTP -сервере,  например, на сайте  организации, а в настройке системы   RetailCRM, нужно  указать  полный путь к этому файлу.
  3. Система  RetailCRM подключается к файлу каталога только по протоколу HTTP .  На момент написания этой статьи в системе RetailCRM  не доступно подключение по  FTP «File Transfer Protocol» для загрузки файла каталога .  Если протокол HTTP был изначально предусмотрен создателями для осуществления передачи гипертекста  и небольших текстовых файликов, то FTP  служит для “транспортировки” практически любых файлов.
  4. Не возможно выгружать  остатки на складах  в разрезе  характеристики номенклатуры. Я  посмотрел описание   метода   /api/v5/store/inventories/upload,  который позволяет обновлять остатки и закупочные цены по складам для торговых предложений. У этого метода отсутствует свойство  характеристики номенклатуры. Кроме разных идентификаторов типа ID у метода есть свойства склад, цена и количество ( остаток)  товаров

Статья не закончена. Продолжение следует ….

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

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