Придбання та реєстрація програми

Вартість ключа програми – 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