Практически все грабли, на которые можно было наступить при настройке обмена с 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§ion=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:EasyPHPdatalocalwebadminmodel ool)
Обратить внимание.
В редакции 2.1.8.13 не работает режим «Обновления на сайте цен и остатков» — в этом легко убедиться, переведя режим выгрузки на диск – в каталоге обмена ничего не создается. Хотя вы можете ввести реализации, приходы и установки цен номенклатуры.
Работайте в режиме полного обмена – оно надежнее.
Обмен идет быстро, при большом количестве товара можно разбить обмены на группы или склады.
Я бы рекомендовал создать три настройки обмена:
- Полная выгрузка номенклатуры, свойств, изображений, цен и остатков (ночная или в конце рабочего дня)
- Обмен заказами (каждые минут 30, зависит от трафика сайта)
- Обновление остатков и цен (аналогично)
Итак, за несколько часов мы получаем полностью рабочий интернет-магазин в связке с 1С:Предприятие Розница редакция 2.х
на ocshop не работает. Выгружает только цены и кол-во….
на Opencart 2 будет работать?
(2) okulus, по моим данным бесплатных модулей под Opencart 2 нет
(1) st8899, смотрите настройки или версии — 100 % должно работать
Подскажите если в интернет-магазине уже есть номенклатура, модуль загрузит ее в пустую базу 1C ?
(5) planeta22, смотрите в сторону платных модулей, там есть двусторонний обмен
Подскажите ,не вижу в рознице обмен заказами .
(5) Если ещё уктуально, можете обратить внимание на этот модульОбмена и синхронизации с 1C