Модуль обмена для opencart v2.x с торговой системой по стандарту CommerceML 1.6.4.1

   (13 отзывов)

9 изображений

Информация о файле

ВНИМАНИЕ! данный модуль находится в стадии разработки, используйте его на свой страх и риск.
Модуль выйдет в релиз когда версия будет 1.7.0 и тогда можно будет его смело ставить на рабочий сайт
Данный модуль предназначен для обмена с сайтом opencart, ocstore, ocshop версий 2.1.x в формате CommerceML версий 2.03 и выше.

Модуль будет везде работать где есть обмен с Битрикс! Настраивается аналогично, только путь в 1С указываете http://МойСайт/export/exchange1c.php

Включена поддержка для версий CMS 2.3.x, тестируем!
CMS 2.0.x - СНЯТА С ПОДДЕРЖКИ!

 

Версия 1.6.4.1 для Opencart 2.3 (скачать обновленный файл)

  • Модуль пока находится в стадии тестирования

Установка

  • Настройках "Система->Настройки->МойМагазин->FTP" нужно все настроить и включить FTP
  • Установить модуль через "Установка дополнений", при этом модуль автоматически установится и включится.
  • Затем нужно установить дополнение которое правит необходимые файлы. Для этого нужно зайти в "Менеджер дополнений (Модификаторы)" и нажать в правом верхнем углу кнопку "Обновить"
  • После этого в меню появится ссылка модуль на модуль "Exchange 1C 8.x", если это меню не появилось то возможно не установились дополнения и модуль может не работать.


Обновление модуля

  • Удалить модификатор
  • Установить модуль не удаляя старый
  • Обновить модификатор
  • Зайти в модуль (при этом запустится обновление, вверху будет видно подробное описание изменений)
  • Проверить все опции и обязательно записать изменения


Внимание!

После установки модуль правит несколько таблиц баз данных, которые не повлияют на работу сайта, но при удалении модуля все изменения восстанавливаются обратно. А именно:

  • Таблица "cart" - добавляет поле "unit_id"
  • Таблица "product" - изменен тип поля "quantity" с INT на DECIMAL(15.3)
  • Таблица "product" - изменен тип поля "weight" с INT на DECIMAL(15.3)
  • Таблица "product_option_value" - изменен тип поля "quantity" с INT на DECIMAL(15.3)
  • Таблица "product_special" - добавляет поле "product_feature_id"
  • Таблица "product_discount" - добавляет поле "product_feature_id"

 

Добавляет таблицы:

  • "product_to_1c", "category_to_1c", "attribute_to_1c", "store_to_1c", "manufacturer_to_1c" - связь с Ид
  • "attribute_value" - используется при загрузке 1С Битрикс, связи Ид со значениями атрибутов
  • "product_quantity" - остатки товара по складам, характеристикам и единицам измерений
  • "warehouse" - склады, связь складов с Ид
  • "product_image_description" - описания картинок на разных языках (пока не используется)
  • "product_feature" - Характеристики товаров в 1С
  • "product_feature_value" - значения характеристик (варианты)
  • "product_price" - цены характеристик для каждой группы покупателей к которым привязаны типы цен в настройках
  • "product_unit" - единицы измерений товаров
  • "unit_to_1c" - связи Ид единицы с классификатором единиц измерений
  • "unit" - классификатор единиц измерений
  • "unit_group" - названия групп единиц измерения (классификатор)
  • "unit_type" - типы единиц (классификатор)


Удаление модуля

  • Полное удаление модуля с файлами можно сделать по http запросу: http://МойСайт/export/exchange1c.php?module=remove
  • Перед удалением проходит проверка по списку IP адресов.
  • В последующих версиях необходимо в начале функции modeRemoveModule() файле /admin/controller/module/exchange1c.php закомментарить строчку: return false;
  • Если в настройке модуля список IP адресов пустой, то эта опция работать не будет
  • После этого надо зайти в дополнения (модификаторы) и нажать в правом верхнем углу кнопочку обновить.


Экспорт модуля

  • Экспорт модуля можно сделать по http запросу: http://МойСайт/export/exchange1c.php?module=export
  • Перед экспортом проходит проверка по списку IP адресов или если включена опция экспортировать всем, то фильтр IP адресов не работает..
  • Если в настройке модуля список IP адресов пустой, то эта опция работать не будет


Проверка

 

При проблеме авторизации

Добавляем в файл .htaccess в корне сайта ниже строчек RewriteEngine On

RewriteCond %{HTTP:Authorization} ^Basic.*
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
После этого авторизация должна заработать.

в файле /export/exchange1c.php есть строчки которые нужны только для отладки авторизации, позже их можно убрать

// Используются только для отладки (начало)
$log->write("Client IP address: " . $_SERVER['REMOTE_ADDR']);
if (isset($remote_user))
	$log->write("remote_user: " . $remote_user);

if (isset($_SERVER['PHP_AUTH_USER']))
	$log->write("PHP_AUTH_USER: " . $_SERVER['PHP_AUTH_USER']);

if (isset($_SERVER['REMOTE_USER']))
	$log->write("REMOTE_USER: " . $_SERVER['REMOTE_USER']);

if (isset($_SERVER['REDIRECT_REMOTE_USER']))
	$log->write("REDIRECT_REMOTE_USER: " . $_SERVER['REDIRECT_REMOTE_USER']);

if (isset($_SERVER['PHP_AUTH_PW']))
	$log->write("PHP_AUTH_PW: " . $_SERVER['PHP_AUTH_PW']);
// Используются только для отладки (конец)


Основные возможности:

  1. Загрузка товаров на сайт
  2. Двусторонний обмен заказами и статусами
  3. Генерация SEO полей при загрузки товаров (можно отключить, должна в системе включена ЧПУ)
  4. Ручная загрузка как отдельных файлов так и архива
  5. Ручная выгрузка заказов
  6. Поддержка 1С Битрикс
  7. Загрузка харакеристик товаров в опции (два режима)
  8. Встроенная система связанных опций (может потребоваться редактирование модификатора под Ваш шаблон)
  9. Загрузка остатков по складам и характреристикам
  10. Поддержка порционной загрузки как файлов так и архивов
  11. Расширенный фильтр IP адресов, можно указать подсеть, например "192.168.1.", тогда будет обмен работать со всеми компьютерами с адресами 192.168.1.ххх
  12. Просмотр списка складов загруженных из 1С, в дальнейшем добавится возможность их редактировать, то есть указывать свое название на сайте, при этом обмен остатками будет проходить нормально. Добавятся дополнительные поля для настройки ПВЗ.

Товары:

  • Первоначальная синхронизация по Ид, Артикулу, Наименованию или Штрихкоду
  • Загрузка наименования из элемента <Наименование> или из реквизита <ПолноеНаименование> или можно указать свое название элемента.
  • Загрузка неограниченное количество картинок к товару
  • Загрузка свойств в атрибуты
  • Отменить загрузку некоторых свойств, указав в таблице их названия
  • Загрузка производителей из элемента "Изготовитель" или "Производитель", а также из свойства "Производитель" или "Изготовитель" или из реквизита "Производитель"
  • Определить свойства в определенную группу, для этого в названии свойства в конце допишите название группы в скобках, например так: "Разрешение (Экран)", "Поверхность (Экран)", будет создана группа свойства "Экран" и в нем будут свойства "Разрешение" и "Поверхность".
  • Запрет на создание новых товаров.
  • Запрет на изменение описания
  • Запрет на изменение категорий товара (можно построить свою структуру на сайте)
  • Запрет на изменение производителя товара
  • Запрет на изменение картинок товара
  • Загрузка из свойств "Вес", "Ширина", "Высота", "Длина", "Модель", "Артикул" имеет приоритет
  • Отключить товары которых нет в выгрузке (только при полной выгрузке)
  • Отключить товар если остаток или цена равна нулю
  • При выгрузке из торговой системы элемента с названием <Код>21413</Код> и при включенной опции синхронизация по кодам, модуль будет искать товар с ID указанному в элементе <Код>, если не найдет создаст с таким ID новый товар (так как полноценной переделки никто не делает, связи модуль все равно создает и корректно отрабатывает по указанным Ид)
  • Отключать статус у новых товаров

Категории:

  • Заполнение родительских категорий
  • Загрузка товарных категорий (УНФ 1.6, УТ 11.3)
  • Запрет загрузки групп и товарных категорий из торговой системы
  • Отключать статус у новых категорий
  • Запрет на создание новых, но обновит существующие
  • Установить порядок сортировки из названия категории, например группы: "1. Пылесосы", "2. Мониторы", будут записаны как "Пылесосы" с сортировкой 1 и "Мониторы" с сортировкой 2
  • При выгрузке из торговой системы элемента с названием <Код>21413</Код> и при включенной опции синхронизация по кодам, модуль будет искать категорию с ID указанному в элементе <Код>, если не найдет создаст с таким ID новую категорию (так как полноценной переделки никто не делает, связи модуль все равно создает и корректно отрабатывает по указанным Ид)
  • Загрузка картинок из элемента <Картинка> (требуется доработка торговой системы)
  • Загрузка сортировки из элемента <Сортировка> (требуется доработка торговой системы)
  • Загрузка свойств категорий (групп) "Картинка" и "Сортировка"

Цены:

  • Автозагрузка типов цен из XML (если не знаете как называется цена, оставьте включенной). При первом обмене цены в товар не будут загружены, необходимо зайти заново в модуль и настроить куда должны загружаться типы цен, записать настройки и выполнить повторно обмен).
  • Загрузка цен по характеристикам и через модификатор меняется цена при выборе опций
  • Запрет на изменен ие цены если цена у товара не указана или равна нулю.
  • Конвертация валюты при загрузке по курсу валюты в opencart (временно отключена, в стадии переработки.
  • Загружать цены в акции или в скидки (с указанием от какого количества начинает действовать для всех товаров). Если есть характеристики у товара, то в скидки и в акции цены не загружаются, так как участвуют в характеристиках

Остатки:

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

Заказы:

  • Двусторонний обмен заказами в торговую систему и из торговой системы (при изменении заказа в 1С заказ будет обновлен на сайте, и наоборот при изменении заказа на сайте будет обновлен в 1С, при условии что заказ в состоянии "Не подтвержден")
  • Двусторонний обмен статусами заказов (при изменении статуса в 1С будет присвое статус на сайте, соответствия статусов настраивается в обмене на стороне 1С)
  • Отправка уведомления по email при смене статуса заказа
  • Выгрузка покупателя как физическое или юридическое лицо в торговую систему, если заполнены поля "Организация".
  • Выгрузка несколько статусов заказов, если заказы были изменены на сайте, то есть если заказ перезаписать или изменить статус на сайте, то он будет выгружен в 1С при условии что в настройках указано выгружать заказы с таким статусом.

Упаковки товаров (единицы измерений):

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

Склады (магазины):

  • Складской учет, ведение остатков как общих так и по характеристикам по складам. Возможность вывести названия складов (магазинов) в карточку товаров. В дальнейшем планируется передача склада в корзину и реализация ПВЗ.
  • Отображение остатков по складам (магазинам) при выборе характеристики

Прочее:

  • Ведение лога в 3-х режимах для отладки ошибок.
  • Опция очистки лога при каждом ручном обмене, удобно при отладке.
  • Файл для английского языка в стадии переделки как только будет сделан русский.
  • Подробнейшее описание каждой опции в настройках.
  • В разделе ручной обработки выводит информацию о настройках PHP для загрузки файлов.
  • В разделе ручной обработки можно загружать любые файлы стандарта Commerce ML, а также zip архивы с XML и картинками.
  • Экспорт файла заказов в XML для ручной загрузки в торговую систему

SEO:

  • SEO для товаров, категорий и производителей (отключаемая опция)
  • Шаблонная система, если нужны дополнительные паттерны, пишите какие надо сделаю.
  • Ручная генерация SEO из админки

 

  • Форматы CommerceML (которые были протестированы)
  • УТ 11.х версия CML 2.07
  • 1С Битрикс версия CML 2.09, 2.10
  • УТ 10.3 версия CML 2.05, 2.07
  • УТ для Украины, редакция 2.3 (включена в поддержку, протестирована 13.02.2017 с версией 1.6.2.b25) CML 2.03
  • УНФ 1.6 версия CML 2.08


Как настроить 1С:Предприятие Управление торговлей (редакция 10.3)
По аналогии с Битрикс.
 

Как настроить 1С:Предприятие Управление торговлей (редакция 11.х)
По аналогии с Битрикс
 

Как настроить 1С:Предприятие Управление небольшой фирмой (редакция 1.6)
По аналогии с Битрикс
 

Как настроить "Мой склад"

По аналогии с Битрикс (работает, даже если система выгружает характеристики товара не по порядку).

 

Как настроить "Класс365"
Еще не тестировался, но если есть выгрузка на сайт Битрикс, то настраивайте, должно работать

 

 



  • Последние посетители   1 пользователь онлайн