Создание мульти склада в opencart и получение остатков из 1С
- Реализована возможность работать с несколькими складами в Opencart. Общий остаток товара складывается из остатков на складах.
- Реализована передача остатков в интернет-магазин (ИМ) из выгрузки 1С.
- Реализован вывод остатков по складам в карточке товара.
Заказать организацию мульти склада в opencart и получение остатков из 1С можете через мой кворк или напрямую через контакты на сайте.
I. Условия для работы модуля
Товарам в ИМ должен быть присвоен уникальный код, соответствующий GUID из 1с. В вашей выгрузке xml из 1С для каждой позиции должны присутствовать коды складов и товаров. Только при выполнении этих условий модуль сможет обновлять остатки в ИМ из выгрузки.
II. Подробное описание модуля
2.1 Передача остатков в ИМ настраивается с любых складов 1с, например, с основного склада и двух других. Есть возможность использовать любые статусы наличия, например,
— если на «складе 1» товара нет, но на основном складе этот товар есть (или есть на складе 2), то в карточке на витрине будет показываться статус ожидание 1 день
— если нигде товара нет, то в карточке — статус нет в наличии
— если на выбранном складе товара менее Х штук, то статус — мало. (значение Х доступно для корректировки из админ-панели)
2.2 В модуле опенкарта реализована возможность добавлять/убирать склады и корректировать их настройки. Чтобы работало обновление остатков из 1С, в настройках модуля требуется складам присвоить GUID из 1с.
2.3 Списание остатков производится в зависимости от способа доставки в заказе. Например, если выбрана курьерская доставка, то списание товара начнётся с основного склада, продолжится со склада 1 (при отсутствии на основном), далее со склада 2. Если в методе доставки заказа выбран самовывоз со склада 1 или со склада 2, то вначале списание произойдет с выбранного склада, затем с основного склада, и далее с последнего склада, где остались остатки. Приоритеты списания остатков настраиваются в админ-панели модуля.
III. Инструкция по установке и настройке
3.1. Установка модуля из архива u0920864.ocmod.zip


3.2. Включение модуля и настройка
3.2.1. Основной модуль


Задать опции как на скриншотах ниже
3.2.1.1 Общие настройки

3.2.1.2 Оформление

3.2.1.3 Статусы наличия


Информация как создавать склады приведена в пункте IV
3.2.1.4 Пополнение матрицы наличия:
1. Нажать на кнопку добавления строк и заполнить все доступные поля
2. Поле со списком выбора складов появляется после сохранения настроек модуля. Нужно выполнить сохранение, зайти во вкладку «Матрица наличия» и указать склад в новой строке

3.2.2 Модуль доставок (самовывоз со складов)


Включить модуль

Настроить в соответствии со скриншотом ниже

При оформлении заказа, когда выбрана доставка, не относящаяся к модулю мульти склада, порядок списания производится в порядке, описанным в пункте 4.3
3.3 Интеграция с 1С
при отправке из 1с отстатков нужно, чтобы выполнялся вот такой запрос из 1с в БД магазина
UPDATE oc_product_to_multistore SET quantity=».$quantity_product.» WHERE multistore_id = (SELECT multistore_id FROM oc_multistore WHERE gui_1c = ‘».$gui_sklad.»‘) AND product_id= (SELECT max(product_id) FROM oc_product WHERE product_1c_id = ‘».$gui_product.»‘)» |
а потом общий остаток суммировался вот этим запросом
«UPDATE oc_product SET quantity = ‘» . $summa_quantity . «‘ WHERE product_1c_id = ‘».$gui_product.»‘» |
переменные $gui_sklad $gui_product $quantity_product $summa_quantity $gui_product запрограммировать на свои и организовать цикл, если понадобится.
3.4 Для возврата остатков при отмене заказа, нужно перевести заказ в статус, который не отмечен галочкой в настройках магазина


Это стандартный функционал, который есть во всех магазинах на Opencart. Т.е. если этот статус в настройках не отмечен галочками,
то остатки возвратятся на склады автоматически.
IV. Создание складов
4.1 Склады и магазины редактируется вот здесь

4.2 Для привязки к интернет-магазину складов 1с в настройках модуля указываются их GUI

4.3 Поле сортировка

используется, когда определяется порядок списания остатков товара после подтверждения заказа. Если, например, ставим для «Склад» сортировку 0, то будет списан остаток отсюда в первую очередь. Во вторую очередь, будет списан у магазина «Дунайский», т.к. там значение сортировки 1 и т.п.
4.4 При добавлении нового склада нужно нажать на кнопку обновить
