Приобретение и регистрация программы

Стоимость ключа программы - 1000 грн.

Особенности ключа и регистрации:

  • Ключ не имеет ограничений во времени, приобретенный ключ будет работать постоянно.

  • Обновления Вы получаете на 1 год, т.е. в течении года от дня выдачи ключа Вы можете обновляться на новые версии. По истечении года, чтобы получать обновления - необходимо продлить лицензию, если Вы этого не сделаете, то следующие обновления не будут работать с Вашим просроченным ключем. Но если Вы не хотите обновляться, можете этого не делать, Ваш ключ будет работать бессрочно.

  • Поддержка программы осуществляется только по E-Mail: info@ukrsklad.com или support@softbalance.com.ua

  • Ключ оформляется на один / каждый домен Вашего сайта.

  • Купить программу "УкрСклад Синхронизация" может только зарегистрированный пользователь программы "УкрСклад".

Для покупки программы заполните форму-заказ (в самой программе меню "Помощь":"Быстрая регистрация") и пришлите нам на E-Mail info@ukrsklad.com

Форма-заказ программы "УкрСклад Синхронизация"

Название предприятия / ФИО: ________________________

Индекс: ____________________________________________

Область: ___________________________________________

Город (без "г."): ___________________________________

Фактический адрес: __________________________________

Получатель: ________________________________________

Телефоны: __________________________________________

E-Mail: _____________________________________________

Код программы*: _____________________________________

Ваш домен OpenCart: _________________________________

Ваш домен PromUa: ___________________________________

Код программы - это уникальный номер, который можно найти в программе, меню "Помощь"::"Быстрая регистрация". ВАЖНО ДО заполнения формы-заказ, в Параметрах программы Вы должны включить работу нужных сайтов для Синхронизации и поля в разделах Интернет-магазин каждого из сайтов должны быть заполнены.

Установка

ВНИМАНИЕ! Чтобы не навредить работающей программе и сайту, проверку работоспособности программы Синхронизации используйте на отдельно установленной программе и копии вашего Интернет-магазина. OpenCart можно установить у себя локально, например, используя такие программы как WampServer, XAMPP и другие.

Скачать программу Вы можете на нашем сайте, в разделе Скачать или по прямой ссылке.

Разархивируйте скачанный файл и перекопируйте ВСЕ файлы из архива в папку, где у Вас установлена программа УкрСклад. Для сетевой версии разархивируйте файлы в папку УкрСклад Клиент. Т.к. локальная версия позволяет только одно соединение к базе данных в один момент, нельзя будет одновременно работать в локальной версии и использовать программу Синхронизации. Либо устанавливайте сетевую версию программы на одно рабочее место, либо не запускайте программу Синхронизации и УкрСклад одновременно.

Программа работает 45 дней в демо-режиме с даты установки. Если хотите и далее, после окончания демо-периода, продолжать тестировать программу Синхронизации, то ваш домен должен содержать словосочетание ukrsklad-test или ukrsklad_test.

Для установки скриптов на сайт OpenCart, перекопируйте содержимое папки /site/ в корень Вашего Интернет-магазина OpenCart.

Как обновлять программу

Для обновления просто замените ВСЕ файлы из корня архива в папку программы.

Для обновления скриптов замените файлы из папки /site/ у себя на сайте КРОМЕ файла ..\ukrsklad_inc\config.php. Удалите все старые файлы из папки ..\ukrsklad_upl\ на сайте.

ВАЖНО при обновлении локальных файлов у себя на компьютере заменить и файлы на сайте, если этого не сделать - это может привести к необратимым последствиям.

Настройка работы с OpenCart / ocStore

Настройка программы

ВНИМАНИЕ! Не запускайте Синхронизацию без полной настройки программы. Запустите программу, нажмите кнопку "Параметры", закладка "OpenCart / ocStore".

В поле URL магазина, введите адрес Вашего Интернет-магазина, например:

http://www.mysite.com/ (обязательно указывайте с префиксом http:// или https:// и в конце ставьте слеш / ), укажите логин и пароль доступа к магазину. Это не пароль администратора к Вашему OpenCart, это внутренний пароль к скриптам, которые прописываются в файле конфигурации на сайте: ..\ukrsklad_inc\config.php, параметры:

define('CON_LOGIN', 'admin');

define('CON_PASS', '123qweasd');

По умолчанию логин admin, пароль 123qweasd, обязательно их поменяйте в скрипте на сайте и в настройках программы.

После того как настроите подключение к Интернет-магазину, можно закрыть Параметры и воспользоваться кнопкой "Тест соединения", чтобы проверить есть ли связь с магазином. Если тест прошел без проблем, программа выдаст сообщение "Тест Ок". После этого можно зайти в Параметры и продолжить настройки.

Для того, чтобы настроить статусы заказов, надо чтобы программа уже могла соединяться к сайту. Если статусы на сайте были изменены, нажмите кнопку "Обновить статусы заказов с сайта". Для каждого действия выставьте соответствующий статус с сайта, например:

  • Резервирование товара – статус Ожидание (означает, что при статусе заказа на сайте Ожидание программа создаст счет и зарезервирует товар в программе УкрСклад)
  • Отгрузка товара (выписка расходной) – статус Доставлено (товар снимается с резерва и выписывается расходная накладная)
  • Товар оплачен – статус Оплачено (выписывается документ оплаты, например, Приходный кассовый ордер, чтобы взаиморасчеты в программе были верными)
  • Сделка завершена – статус Сделка завершена (сделка считается завершенной, когда выписан счет, проставлена галочка Оплачен, выписаны расходная накладная и документ оплаты, это все программа делает автоматически)
  • Отменено – статус Отменено (удаляются все оплаты, расходки и резервы, остается просто выписанный счет-фактура без резерва)

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

Далее идут настройки УкрСклад, укажите фирму и склад, по которым будет происходить Синхронизация. Синхронизация может происходить только по одному выбранному складу.

Кнопка "Очистить идентификаторы" используется, если Вы меняете Склад, скрипт магазина, просто заливаете новую номенклатуру в Интернет-магазин или УкрСклад, удаляете товары и группы на сайте. Программа Синхронизации делает связку между позициями УкрСклада и Интернет-магазина, и чтобы после смены склада или номенклатуры убрать старые связи, надо проделать очистку идентификаторов в УкрСкладе.

Укажите порядок Синхронизации для программы, кто будет первый получать и отправлять данные, УкрСклад или Интернет-магазин. Логика закладывалась такая, кто первый начинает передавать - тот и считается главным, т.е. данные желательно формировать в одном месте либо в УкрСкладе, либо в Интернет-магазине, после синхронизировать, хотя формировать можно и там, и там.

Вы можете включить автоматическую Синхронизацию, указав период в минутах, через какое время производить Синхронизацию. Если включите галочку "Автоматически синхронизировать при старте программы", то программа при запуске сразу включится на Синхронизацию, это удобно если ставить программу в автозагрузку.

Настройка скриптов

После копирования файлов на Ваш сайт надо обязательно настроить скрипты на работу с программой. Путь к файлу настроек относительно Вашей корневой папки на сайте ..\ukrsklad_inc\config.php. Можно открыть этот файл у себя на диске любым редактором, подправить и после закачать на сайт.

Пример файла настроек с объяснением:

//DIR

define('DIR_APP', dirname(__DIR__).DIRECTORY_SEPARATOR); // полный путь к корневой папке OpenCart

define('DIR_INC', DIR_APP.'ukrsklad_inc/'); // полный путь к папке с скриптами OpenCart

define('DIR_UPL', DIR_APP.'ukrsklad_upl/'); // полный путь к папке с вложениями OpenCart, сюда будут записываться временные файлы

//Примечание: не изменяйте пути, если Вам не нужны особые настройки по размещению файлов

//CON

define('CON_LOGIN', 'admin'); // логин для доступа к скриптам из программы

define('CON_PASS', '123qweasd'); // пароль для доступа к скриптам из программы

//OpenCart

define('MAIN_LANG_ID', '1'); // ID языка в OpenCart, можно посмотреть список ID через программу кнопкой "Информация о сайте"

define('SEC_LANG_ID', '-1'); // ID дополнительного языка в OpenCart, если используется один язык, оставьте параметр '-1'

define('STORE_ID', '0'); // ID магазина в OpenCart, обычно не надо менять

Править Вам надо CON_LOGIN и CON_PASS, чтобы поменять логин и пароль. STORE_ID обычно трогать не надо, т.к. магазин один.

Папки DIR_INC и DIR_UPL - это подпапки главного пути DIR_APP. Чтобы установить DIR_APP можно посмотреть config.php самого OpenCart в корневой папке магазина, там будет, например, параметр:

define('DIR_APPLICATION', '/home/public_html/mysite.com/catalog/');

вот наш параметр будет такой же, только без надписи 'catalog/', т.е.:

define('DIR_APP', '/home/public_html/mysite.com/');

Чтобы установить верный MAIN_LANG_ID и если надо SEC_LANG_ID, сделайте все изменения в файле config.php, загрузите его на сайт. Запустите программу Синхронизации у себя на компьютере и нажмите кнопку "Информация о сайте", в окне лога Вам выдаст список языков и их ID, пропишите эти ID в файле config.php. Если используется один язык, то параметр SEC_LANG_ID оставьте так как был, т.е. '-1'.

Настройка работы с PromUa

Настройка программы

ВНИМАНИЕ! Не запускайте Синхронизацию без полной настройки программы. Запустите программу, нажмите кнопку "Параметры", закладка "PromUa".

  • "URL API Prom.ua" - менять не требуется, это статический URL для работы с сайтами Prom, поле по-умолчанию заполнено верно: https://my.prom.ua/api/v1

  • "Ключ (токен) доступа к API" - запросите этот ключ у поддержки PromUa, отправив запрос на E-mail api@prom.ua указав в письме ID своего Интернет-магазина (ID можно взять на главной странице, в Вашем "Кабинете продавца" на сайте PromUa).

  • "URL на YML файл товаров" - этот URL возьмите в Вашем "Кабинете продавца" на сайте PromUa, зайдите в раздел "Товары и услуги" : "Экспорт" : "YML формат" : "Сгенерировать ссылку".

Работа

Для работы в ручном режиме доступны 3 кнопки:

  • "Синхронизировать данные" – производит импорт и экспорт данных в порядке, указанном в параметрах программы;

  • "Отправить данные на сайт" – производит экспорт данных с УкрСклад в Интернет-магазин;

  • "Принять данные в УкрСклад" – производит импорт данных с Интернет-магазина в УкрСклад.

Важно понимать, что основной режим работы программы - это кнопкой "Синхронизировать данные", остальные кнопки предназначены для одноразового обновления товаров или категорий товаров, не более. Никогда не начнется обмен фото и заказами, пока Вы не пройдете несколько полных кругов синхронизации, кнопкой "Синхронизировать данные". Только кнопкой "Синхронизировать данные" программа вначале должна синхронизировать группы, потом товары, потом этим товарам из УкрСклада прописать идентификаторы Интернет-магазина, чтобы каждый раз не искать повторно товары, и только после этого Синхронизация начнет делать запросы на поэтапную отправку фотографий, и только после того как синхронизирует всю номенклатуру, начнет синхронизацию Заказов.

Галочка Авто-синхронизация производит "Синхронизацию данных" в указанный в параметрах период. Если Вы включили галочку "Автоматически синхронизировать при старте программы" в параметрах, то при старте программа сразу начнет Синхронизацию.

Галочка "Не синхронизировать товары" используется, если Вы точно знаете, что у Вас не меняется номенклатура товаров и ее не надо синхронизировать. При больших базах товаров, например, больше 10000, это существенно увеличивает Синхронизацию Заказов.

Особенности работы с Prom.ua

Если использовать в Настройках программы : Тип Экспорта : XLSx, то на сайт будут передаваться остатки и введенный товар на сайте Пром не будет дублироваться, так как в этом файле есть поле внешнего ID или external_id.

Если используете Тип Экспорта: XML протокол Price.ua, то по итогу переписки с поддержкой Prom.ua, выяснилось, что Синхронизация по товарам и группам товаров происходит по: - "Идентификатор_товара" (внешний ID или external_id) и - "Идентификатор_группы" (внешний ID или external_id)

Если заводить товар в УкрСкладе и передавать на Пром, то ID Товара и ID группы - это и будет уникальный внешний ID, по которому происходит Синхронизация. Но, если заводить товар в Пром, то у него нет внешнего ID, и когда мы импортируем такую позицию в УкрСклад, мы находим группы по дереву групп, а товары - по Код+Наименование, даже без каких-либо ID. Но когда отправляем данные назад на Пром, то Пром не может найти уникальности товаров и групп, он просто это делает по внешнему ID, но его нет.

Мы бы могли прописывать внешний ID новой позиции пришедшей из Пром, например, через API или через импорт XML файла, но как оказалось, исходя из переписки с поддержкой Пром такой возможности нет. Вот цитата поддержки Пром:

К сожалению, без изменений, через импорт табличного файла задать внешний идентификатор невозможно: ни через XML, ни через API, ни в ЛК.

И единственный способ - это прописать внешний ID вручную, вот цитата поддержки Пром:

Если позиция не имеет внутреннего идентификатора, задать его через импорт XML файла невозможно, в таком случае необходимо:

  • экспортировать позиции в формате xlsx из личного кабинета
  • в полученном файле в столбец "Идентификатор_товара" прописать ID позиций
  • импортировать изменённый файл с настройкой принудительного обновления

Товары получат внешний идентификатор синхронизировавшись по внутреннему (столбец "Уникальный_идентификатор"). Данное действие актуально так же и для групп.

У нас и так не чистая связь через API Прома, т.к. кое-что вытягиваем через API, а кое-что вытягиваем через файл YML. Например:

  1. Через API нельзя получить полностью сформированное дерево групп товаров командой /groups/list, а только там где есть товары, но в главных группах часто товаров нет и тогда подгруппы с товарами не понятно к каким главным группам относятся, ведь их нет в файле. Написали на доработку API добавить ключ full_tree, пока доработки нет. Приходиться вытягивать весь файл YML и там есть полное дерево групп.

  2. Через API нельзя получить опции товаров командой /products/list, а через YML можно.

Для обновления позиций пользуемся API + передача файла XML (price.ua), но обновление позиций происходит по внешнему ID, а у заведенных в Пром товаров этого внешнего ID нет, вот и Пром при втяжке делает дубли товаров. Есть функция /products/edit, но через нее нельзя присвоить внешний ID.

Вывод, как работать:

  1. Заводить товары только в УкрСкладе.

  2. Если заводить в Пром, то прописывать вручную (через файл xlsx) Внешний ID, как описывала поддержка Пром выше, но этот ID не должен совпасть с ID УкрСклада никогда.

  3. Доработать передачу файла XML (price.ua) так, чтобы было можно прописывать обновление позиции не по внешнему ID, а по внутреннему уникальному ID от Пром.

  4. Доработать API добавив в команду /products/edit прописывать внешний ID для товара и добавить команду для групп товаров /groups/edit, мы сразу бы добавляли внешний ID при получении новой позиции с Пром (идеальный вариант).

Доработку №4, написали на поддержку Пром (можете и Вы запросить такую доработку), но т.к. версия API 1.0.0 и давно не менялась, когда такие изменения будут внедрены сказать не можем, и будут ли вообще. Хотя такие доработки в API можно добавить без нарушения обратной совместимости, но тут решение за Пром. Для 1С и МойСклад (тот же 1С) у Пром есть отдельная синхронизация, но там API закрыт и нам Пром не дает разрешение на его использование.

Частые ошибки работы с OpenCart / ocStore

  • ошибка "Class 'PDO' not found" - говорит о том, что у Вас для PHP на Вашем сервере не установлены компоненты 'PDO', установите. Как это сделать можно легко найти в гугле.

  • ошибка "Host not found" - в переводе означает "Сервер не найден", т.е. Вы неверно указали URL сайта в Параметрах, чаще всего пользователи забывают поставить слеш в конце Вашего URL, т.е. так работать не будет: http://www.myshop.com , а вот так будет: http://www.myshop.com/ . Также часто пользователи в URL сайта вводят путь на диске, это неверно, т.к. путь и URL - разные вещи, надо указывать так, как Вы пишете в Вашем браузере.

  • ошибка "Unknown Protocol" – в большинстве случаев означает, что Вы не указали приставку http:// в URL Вашего сайта, т.е. вот так писать неверно: www.myshop.com/, должно быть полностью: http://www.myshop.com/ .

  • ошибка "status=error_auth" обычно возникает, когда Вы неверно указали логин и пароль к скриптам. Но если Вы уверены, что все указано верно, то такая проблема может быть, если у Вас PHP работает как CGI на Вашем сервере. Для устранения проблемы отредактируйте файл import_ukrsklad.php, удалите из него две строки, где написано "Удалите эту строку для работы под CGI". Также для работы в CGI добавьте в конец файла .htaccess текст ниже, если такого файла нет, создайте его, файл должен быть там, где и import_ukrsklad.php:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

</IfModule>

Информация

Ветка на форуме: http://www.softbalance.com.ua/forum/index.php/topic,2520.0.html