gifts2017

Интеграция 1С:Предприятие Розница (редакция 2.х) и Интернет-магазина Opencart

Опубликовал Капитан Немо (capitan) в раздел Обмен - Интеграция с WEB

Честно говоря, после выхода редакции 1С:Розница 2.1 (2.1.8.13) эту статью можно было бы и не писать.
Практически все грабли, на которые можно было наступить при настройке обмена с Opencart, заботливо убраны программистами 1С.
С другой стороны, хотелось бы замолвить словечко за Opencart.
Да и 1С:Розница подешевле и поближе к простому народу.
Связка же розничного и интернет магазинов вообще скоро будет повсеместной.
Кроме того - во вложениях настроенный lamp сервер с ocstore и измененный под с 1С:Розница модуль обмена.

Увидев реализацию обмена с сайтом в редакции 2.1.8.х я понял, что мир уже никогда не станет прежним.
С другой стороны, хотелось бы замолвить словечко за Opencart.
Ведь в отличие от 1С Битрикс – это бесплатный магазин с очень приличным видом прямо из коробки.
Все, что будет написано ниже, применимо и к обмену с 1С: Предприятие Управление торговлей, редакция 11.1.х.
Про настройку торговли я уже говорил (см. Интеграция 1С:Предприятие УТ 11.1.2 и 1С Битрикс. Настройка обмена товарами), она ничем не отличается.
А 1С:Розница подешевле и поближе к простому народу. Связка же розничного и интернет магазинов вообще скоро будет повсеместной.
Итак, приступим.
Вполне логично перед выгрузкой на рабочий сайт протестировать все локально.
Если 1С Битрикс (не перестаю восхищаться его предусмотрительностью) предоставляет виртуальную машину с развернутым сайтом, то здесь придется поработать лошадью самим.
Начнем с того, что кроме официального сайта www.opencart.com существует несколько русскоязычных клонов: ocStore и ocshop, и можно (и даже, наверное, нужно) выбирать их.
Для редакции Opencart 2.х пока модуля обмена нет, поэтому берем 1.5.х
Практически все локально развертываемые в windows сборки lamp серверов спокойно принимают любую версию Opencart.
Более того, на официальном форуме поддержки рекомендуется (и описывается как) установить Opencart на xampp.
Но при выгрузке товаров из 1С они (товары) не попадают ни в одну категорию сайта


На рисунках видно, что у шин не заполнились категории, и у категории "Зимние шины" не заполнилась родительская.
Обратить внимание.



А должно получаться так:


 

EasyPHP-DevServer-14.1VC11

нет

wamp

нет

usbserver

нет

denver

нет

server2go

нет

frswebserver 

нет

open_server

нет

wingin

нет

ZeroXI 

нет


 

EasyPHP-DevServer-14.1VC9

да

Ampps

да



Я рекомендую EasyPHP-DevServer-14.1VC9 за его небольшой вес и портабельность.
В приложенных файлах вы найдете полностью настроенный сервер localhost, достаточно только распаковать его в корень диска C:
Тем, кто не внемлет этому совету или устанавливает на хостинг, кроме основного пакета нужно будет скачать Модуль обмена данными с 1С 8.x в формате CommerceML2 для OpenCart и vqmod
Установка сводится к копированию каталогов на хостинг и включению модулей в административной панели.

Обратить внимание.


Если после установки увидите сообщение: Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in ….

нужно или искать хостинг в версией php поменьше, или, что благоразумнее, установить модуль mysqliz .
Иначе обмен вообще не пройдет.
После установки этих модулей пробуем загрузку номенклатуры из файла xml (его любезно предоставил форум https://opencartforum.com/index.php?app=core&module=attach&section=attach&attach_id=19714)
Если она прошла – настройки на стороне сайта закончены.
Очищать загруженную номенклатуру и категории я рекомендую через phpMyAdmin, не факт, что модуль OpenCart Exchange 1C аккуратно очищает все таблицы.

Обратить внимание.





Лучше вообще не устанавливать флажки очистки в модуле OpenCart Exchange 1C, а выполнить в phpMyAdmin следующий код.
TRUNCATE `category`;
TRUNCATE `category_description`;
TRUNCATE `category_filter`;
TRUNCATE `category_path`;
TRUNCATE `category_to_1c`;
TRUNCATE `category_to_layout`;
TRUNCATE `category_to_store`;
TRUNCATE `product`;
TRUNCATE `product_attribute`;
TRUNCATE `product_description`;
TRUNCATE `product_discount`;
TRUNCATE `product_filter`;
TRUNCATE `product_image`;
TRUNCATE `product_option`;
TRUNCATE `product_option_value`;
TRUNCATE `product_related`;
TRUNCATE `product_reward`;
TRUNCATE `product_special`;
TRUNCATE `product_to_1c`;
TRUNCATE `product_to_category`;
TRUNCATE `product_to_download`;
TRUNCATE `product_to_layout`;
TRUNCATE `product_to_store`;


Переходим к настройке 1С. И тут – чудо. Можно практически завершать статью.
Если в редакции Розница 2.1 (2.1.7.х) нужно было нехилые танцы с бубном сплясать, чтобы настроить обмен, то в 2.1.8.х остается только настроить отбор для номенклатуры и ввести параметры подключения.




 


Обратить внимание.

Модуль OpenCart Exchange 1C ориентирован на обмен с 1С: Предприятие Управление торговлей.
Розница немного по-другому отдает информацию об остатках на складе и ожидает немного другого формата загрузки заказа.

Измененный файл exchange1c.php прилагается, поместить его нужно в каталог  ./admin/model/tool (в данном примере C:\EasyPHP\data\localweb\admin\model\tool)

Обратить внимание.


В редакции 2.1.8.13 не работает режим «Обновления на сайте цен и остатков» - в этом легко убедиться, переведя режим выгрузки на диск – в каталоге обмена ничего не создается. Хотя вы можете ввести реализации, приходы и установки цен номенклатуры.

Работайте в режиме полного обмена – оно надежнее.
Обмен идет быстро, при большом количестве товара можно разбить обмены на группы или склады.

Я бы рекомендовал создать три настройки обмена:

  • Полная выгрузка номенклатуры, свойств, изображений, цен и остатков (ночная или в конце рабочего дня)
  • Обмен заказами (каждые минут 30, зависит от трафика сайта)
  • Обновление остатков и цен (аналогично)

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

Скачать файлы

Наименование Файл Версия Размер
Настроенный lamp сервер с ocstore 24
.7z 29,54Mb
02.07.15
24
.7z 29,54Mb Скачать
Измененный под с 1С:Розница модуль обмена 45
.exchange1c 60,04Kb
02.07.15
45
.exchange1c 60,04Kb Скачать
Файл для теста обмена 13
.xml 15,14Kb
02.07.15
13
.xml 15,14Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Стас ТТТ (st8899) 17.03.16 12:42
на ocshop не работает. Выгружает только цены и кол-во....
2. Виктор Окулов (okulus) 21.03.16 15:05
на Opencart 2 будет работать?
3. Капитан Немо (capitan) 23.03.16 21:14
(2) okulus, по моим данным бесплатных модулей под Opencart 2 нет
4. Капитан Немо (capitan) 23.03.16 21:15
(1) st8899, смотрите настройки или версии - 100 % должно работать
5. Вячеслав Ганов (planeta22) 11.04.16 20:01
Подскажите если в интернет-магазине уже есть номенклатура, модуль загрузит ее в пустую базу 1C ?
6. Капитан Немо (capitan) 12.04.16 10:47
(5) planeta22, смотрите в сторону платных модулей, там есть двусторонний обмен
7. александр кварц (rossoxa) 30.04.16 14:34
Подскажите ,не вижу в рознице обмен заказами .
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа