Складской учет для OpenCart / ocStore бесплатно

При помощи СКИФ вы можете вести складской и финансовый учет, интегрированный с вашим интернет-магазином на OpenCart. СКИФ устанавливается на вашем сайте, поэтому вы имеете полный контроль над базой данных и возможность дорабатывать систему для своих потребностей.

Схема интеграции:

из СКИФ в OpenCart передаются производители, категории, товары и остатки (см. ниже о вариантах синхронизации изображений)

из OpenCart в СКИФ передаются интернет-заказы и данные о покупателях.


Как добавить складской учет к своему магазину на OpenCart:

Если инструкция по самостоятельной интеграции покажется Вам сложной или у Вас нет времени, напишите нам на адрес biz@webnice.biz или запросите обратный звонок, чтобы заказать интеграцию под ключ нашими силами.
1 Скачайте СКИФ
Запросите дистрибутив СКИФ для установки на своем сайте. В ответ сразу придет ссылка на скачивание. Дистрибутив бесплатный без каких-либо ограничений!

2 Установите СКИФ
Установите СКИФ на своём сайте по инструкции на отдельный домен, поддомен или в подпапку сайта с установленным OpenCart.
Важно! Установка СКИФ должна быть на том же аккаунте хостинга, а таблицы СКИФ в той же базе данных, что и OpenCart. Таблицы СКИФ имеют собственный префикс, поэтому никак не могут нарушить работу OpenCart.

3 Задайте настройки синхронизации
Скопируйте из блока настроек ниже массив $sync_opencart, добавьте его в конец файла настроек wn_settings.php в корне установки СКИФ и укажите нужные вам параметры синхронизации. Подробное описание настроек ниже. НАСТРОЙКИ СИНХРОНИЗАЦИИ
Скопируйте ниже массив $sync_opencart, вставьте его в конец файла настроек wn_settings.php в корне установки СКИФ и укажите нужные вам параметры синхронизации:
$sync_opencart=array(
// сборка и версия OpenCart. Возможные значения:
// ocstore1 - для сборки ocStore 1.5 https://ocstore.com/downloads
// ocstore2 - для сборки ocStore 2.3.0.2.3 https://ocstore.com/downloads
// opencart2 - для opencart версии 2.3.0.2 http://opencart-russia.ru/
// opencart3 - для opencart версии 3.0.2.0 http://opencart-russia.ru/
// узнать версию можно в файле index.php в корне установки OpenCart
'version'=>'укажите вашу',
// префикс базы данных интернет-магазина
'shop_prefix'=>'oc_',
// тип заказа из массива $scif_order_fields['type'] в файле настроек wn_settings.php в корне папки установки СКИФ.
// Рекомендуется добавить отдельный, например 2-Интернет-магазин
'scif_order_type'=>0,
// код группы в справочнике контрагентов в СКИФ, в которой будут добавляться заказчики интернет-магазина
'scif_contr_group'=>1,
// код склада в СКИФ для обновления остатков в OpenCart. Если не задан или установлен в 0, остатки в OpenCart не обновляются
'scif_store'=>1,
// данные для создания документа в СКИФ (пользователь, организация, контрагент, склад, ответственный),
// если они отличаются от массива $wn_catalog_invoice, указанного в файле настроек wn_settings.php в корне сайта
// array('user_insert'=>1,'org'=>1,'contr'=>1,'store'=>1,'manager'=>1)
// Пользователь user_insert - ID пользователя СКИФ, от имени которого будут добавляться записи. Для лучшего контроля рекомендуется завести в СКИФ отдельного пользователя
'invoice'=>$wn_catalog_invoice,
// синхронизации изображений: 0-не синхронизировать, 1-хранить и в СКИФ и OpenCart, 2-хранить в OpenCart по symlink, 3-хранить только в СКИФ (подробнее https://www.webnice.biz/opencart/)
'sync_image'=>0,
// Если задано копирование изображений (sync_image=1), скопируйте в переменную dir_image константу DIR_IMAGE из config.php в корне установки OpenCart
'dir_image'=>'' // имеет вид '/var/www/..../image/' или /home/.../public_html/image/
);
Варианты синхронизации изображений
Вариант синхронизации изображений задаётся в переменной sync_image и может иметь следующие значения:
0 (не синхронизировать), 1 (хранить и в СКИФ и OpenCart), 2 (хранить в OpenCart по symlink), 3 (хранить только в СКИФ). Подробнее об этих вариантах:

0 - Не синхронизировать.
Изображения не будут синхронизироваться. Вы будете вводить товары в СКИФ, а изображения нужно будет загружать в панели управления OpenCart. Этот вариант может быть удобен, если загрузкой изображений на сайте занимается другой человек.

1 - Хранить и в СКИФ и OpenCart.
Изображения, загруженные в СКИФ, будут копироваться из папки СКИФ в папку OpenCart.
Минус этого способа в том, что изображения на сайте будут храниться в двух копиях, занимая лишнее место на диске.
Плюс в том, что данный вариант никак не вмешивается в работу OpenCart, поэтому подойдет, если изображения, загруженные ранее в OpenCart используются другими сервисами или плагинами.
Для использования данного способа скопируйте из скрипта config.php в корне установки OpenCart значение константы 'DIR_IMAGE' и вставьте его в параметр dir_image массива $sync_opencart.

2 - Хранить в OpenCart по symlink.
СКИФ будет загружать изображения в стандартную директорию загрузки изображений OpenCart, при этом изображения будут храниться в одной копии и будут доступны и в СКИФ и в OpenCart. Этот вариант является оптимальным для большинства случаев. Для его использования проделайте следующее:
2.1. Переместите папки /img/scif1/ и /img/scif1_orig/ со всем их содержимым из директории установки СКИФ в папку /image/catalog/ в директории установки OpenCart
2.2. Создайте на их месте две ссылки с именами scif1 и scif1_orig, ссылающиеся на соответствующие адреса перемещенных папок. (Ссылки можно создать в файловом менеджере из панели управления хостингом. Для панели ISPManager 5 меню Главное - Менеджер файлов, кнопка Создать, Тип: Ссылка)

3 - Хранить только в СКИФ.
OpenCart будет использовать изображения, загруженные в СКИФ. Изображения будут храниться только в папке СКИФ, что сэкономит место на вашем хостинге, но для данного способа требуется внести некоторые изменения в скрипты OpenCart. Эти изменения разрешают использовать другую папку для изображений вместо стандартной /images/catalog/ и использовать в качестве картинок файлы с расширением img. Для использования данного способа скачайте архив и следуйте инструкции в файле readme.txt из архива.
Импорт заказов
Вы можете настроить как сохранять заказы из OpenCart в СКИФ:

1. Создавать документ "Заказ покупателя"
. Этот документ является "счетом на оплату", при его создании остатки на складе не уменьшаются и задолженность клиента не увеличивается. Используйте этот вариант, если требуется, чтобы поступившие из интернета заказы сначала проверил/обработал ваш менеджер. Для формирования из заказа документа отгрузки, просто измените в нём "Вид документа" с "Заказ покупателя" на "Продажа". После этого товары спишутся со склада, а сумма долга покупателя увеличится на сумму документа. Этот вариант используется по умолчанию.

2. Создавать документ "Продажа"
. При создании этого документа остаток товаров на складе и в OpenCart уменьшается, а долг клиента увеличивается. Для использования этого варианта замените в файле настроек wn_settings.php в корне установки СКИФ значение type в массиве $wn_catalog_invoice с 11 на 2.

Все заказы из Опенкарт дополнительно сохраняются в журнал "Торговля-Заказы с сайта" (без данных о товарах). Этот журнал может использоваться для контроля обработки заказов из разных источников.

4 Проверьте настройки
Перейдите на страницу /scif/?act=sync_opencart чтобы проверить настройки. Здесь вы можете выполнить импорт справочников, внесенных ранее через панель управления OpenCart и проверить работу синхронизации.

5 Выполните импорт (если необходимо)
Если в вашем интернет-магазине есть внесенные ранее товары и производители, вы можете импортировать их в СКИФ. Для этого на странице /scif/?act=sync_opencart нажмите ссылку "Импорт справочников из OpenCart". После импорта данных, если в настройках вами была задана синхронизация изображений, вам будет предложено скопировать все картинки.
ИМПОРТ СПРАВОЧНИКОВ ИЗ OPENCART
1. Обратите внимание, что в СКИФ по умолчанию в справочниках названия групп, элементов и SEO URL (ЧПУ) должны быть уникальными. В справочнике товаров, кроме того, уникальным должно быть поле "Штрихкод" (barcode). Для успешного импорта, обеспечьте уникальность этих полей в OpenCart или уберите условие уникальности в СКИФ. Чтобы убрать условие уникальности, в phpmyadmin измените тип индексов `name` и `parent_name` с UNIQUE на INDEX.

2. В СКИФ по умолчанию в справочнике номенклатуры разрешено только два уровня вложенности. Если структура ваших категорий в OpenCart имеет больше уровней, добавьте в конец файла настроек wn_settins.php в корне установки СКИФ следующую строку, она разрешит неограниченный уровень вложенности групп для справочника товаров:
$sprs[5]['multilevel']=true;

6 Автоматизируйте синхронизацию (по желанию)
Проверьте работу синхронизации, нажав кнопку "Выполнить синхронизацию" внизу страницы. Если всё в порядке (не выводится никаких ошибок, товары и остатки из СКИФ перенеслись в OpenCart, а заказы из OpenCart в СКИФ), вы можете задать выполнение синхронизации в автоматическом режиме по расписанию через планировщик CRON. Для выполнение через планировщик добавьте вызов скрипта /cron/sync.php с нужным вам расписанием в CRON на своем хостинге.
Проверить, что синхронизация по планировщику выполняется корректно, можно на странице /scif/?act=sync_opencart. Внизу после кнопки "Выполнить синхронизацию" будет выводиться время последней успешной синхронизации.


Это всё! Теперь Ваш складской учет и интернет-магазин автоматически синхронизируются!
Остались вопросы или нужна доработка синхронизации под Ваши потребности? Напишите нам biz@webnice.biz


P.S. Дистрибутив СКИФ включает также собственный интернет-магазин, который напрямую интегрирован с системой учета. Если вы только выбираете движок для своего интернет-магазина, просто установите СКИФ и у вас будет складской учет, сайт и интернет-магазин. Подробнее.
Вы также можете при помощи СКИФ организовать работу второго интернет-магазина, отдельного от OpenCart, например, для акцента на других товарных категориях. Данные всех магазинов будут аккумулированы в единой системе учета.
Закажите интеграцию складского учета с OpenCart из формы заказа или отправив письмо на адрес biz@webnice.biz