2.2.0
Двусторонний обмен с МойСклад
Установка
После скачивания модуля, его установка производится штатными средствами CS-Cart на странице Панель администратора → Модули → Управление модулями → Загрузить и установить модуль (+).
Настройка
После установки штатными средствами, необходимо произвести первичную настройку модуля:
Указать логин и пароль от аккаунта МойСклад.
Установить минимум две галки "Включить обмен между системами" и "Включить обмен из CS-Cart в МойСклад"(по умолчанию установлены). Нажать Сохранить.
Для обмена необходимо установить хуки и получить сообщение что хуки установлены (автоматически устанавливаются при подключении).
Описание настроек
Создавать статусы заказов - Если наименование статуса заказа отсутствует в системе МойСклад, то он будет создан при импорте заказа с параметрами 'name' => ИМЯ_СТАТУСА, 'color' => 69446, 'stateType' => 'Regular'.
Создавать новый продукт - При срабатывании хука в CS-Cart "update_product_post" с параметром $create = true будет вызвана процедура создания продукта в МойСклад "create_product" со следующим сопоставлением полей (слева поля из МойСклад, справа поля из CS-Cart):
Название = Название
Описание товара = Подробное описание
Код продукта = Код товара
Артикул продукта = Код товара
externalCode = будет назначен из модуля CommerceML или если не задан то product_id
Цена продажи = Цена
Обновлять продукт - Обновить продукт в МойСклад, если он обновлён в CS-Cart.
Сопоставление полей аналогичное Создать новый продукт.
Включить запись логов в файлы - включает запись логов в папку корня модуля(/app/addons/ms_moysklad/logs) и классов модуля (/app/addons/ms_moysklad/Tygh/Addons/MsMoySklad/logs) Пишется всего много и подробно. На разные сущности пишутся разные файлы.
Включить обмен только для текущего дня - обмен только за текущие сутки (время по Гринвичу).
Не обновлять заказы - заказы не будут обновлены в МойСклад при обновлении на сайте. Настройка не влияет на настройку Создавать заказ при обновлении.
Создавать заказ при обновлении - модуль попытается создать заказ при его обновлении если он отсутствует в МойСклад.
Не обновлять пользовательские поля - при обновлении заказа никакие дополнительные/пользовательские поля не будут обновлены.
Выгружать изображения товаров в МойСклад - Выгрузка происходит в момент создания или редактирования товара. Выгружаются все изображения для данного товара. Если какое-то изображение уже присутствует в моём складе, то повторно выгружаться не будет. Если в моем складе есть изображения не имеющиеся в cs-cart, они будут удалены, проверка производится по имени файла изображения.
Задержка в секундах запроса к API МойСклад после хуков - приводит к задержке в секундах перед выполнением запросов к API, относящихся к заказам.
Склад по умолчанию - после синхронизации с МойСклад сюда подгрузятся все его склады. Можно выбрать только один склад для обмена. Он появится в соответствующем поле заказа МойСклад.
Организация по умолчанию - Организация из МойСклад, которая будет назначена по умолчанию при создании заказа.
Важные моменты:
1. При создании дополнительных полей у заказов в МойСклад, поля автоматически отобразятся в настройках модуля и к ним нужно будет присвоить значение из таблицы заказов СS-cart.
2. В моём складе должна быть услуга 'Доставка' с внешним кодом: ORDER_DELIVERY. Если её не будет при сохранении заказа, она будет создана автоматически.
3. Для корректной работы передачи доп. полей доставки и оплаты, их названия в МойСклад должны быть идентичны:Тип доставкиАдрес доставкиСпособ оплаты4. После п.3 в настройках модуля в разделе "Дополнительные поля в заказах" появятся эти поля и нужно будет выбрать из списка для них следующие значения:Тип доставки -> 'shipping ids'Адрес доставки -> 's_address'Способ оплаты -> 'payment_id'5. При использовании commerceML, нужно предотвратить срабатывание модуля ms_moysklad, а то может произойти дублирование товаров, для этого есть 2 способа: 1 способ. Применить в модуле 'ms_addon_fixer' фикс №41. Он сделает всё автоматически. 2 способ. Добавить в ручную в "app/addons/rus_exim_1c/controllers/frontend/exim_1c.php" следующие строчки вначале php кода, то есть после