Увидев реализацию обмена с сайтом в редакции 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:\EasyPHP\data\localweb\admin\model\tool)
Обратить внимание.
В редакции 2.1.8.13 не работает режим «Обновления на сайте цен и остатков» - в этом легко убедиться, переведя режим выгрузки на диск – в каталоге обмена ничего не создается. Хотя вы можете ввести реализации, приходы и установки цен номенклатуры.
Работайте в режиме полного обмена – оно надежнее.
Обмен идет быстро, при большом количестве товара можно разбить обмены на группы или склады.
Я бы рекомендовал создать три настройки обмена:
- Полная выгрузка номенклатуры, свойств, изображений, цен и остатков (ночная или в конце рабочего дня)
- Обмен заказами (каждые минут 30, зависит от трафика сайта)
- Обновление остатков и цен (аналогично)
Итак, за несколько часов мы получаем полностью рабочий интернет-магазин в связке с 1С:Предприятие Розница редакция 2.х