Послуги Кейси Калькулятор Ціни Блог Питання
Безкоштовний аудит +38 (063) 799-18-28
Інтеграції

Як налаштувати обмін BAS/1С з OpenCart

OpenCart — найчастіша платформа, з якою доводиться зв'язувати український облік. Розповідаю, з чого складається така робота, у якому порядку її роблять і де саме зазвичай усе йде не за планом.

10 хвилин читання

Етап 0: підготовка, яку не можна пропустити

Спокуса почати одразу з технічної частини велика, але саме на цьому етапі визначається, буде проєкт легким чи перетвориться на місяць мучень. Обмін не наводить лад у даних — він переносить наявний стан на сайт. Якщо в базі безлад, на сайті буде такий самий безлад, тільки автоматично оновлюваний.

Перед стартом у номенклатурі має бути наступне.

  • Унікальний артикул у кожного товару. Не назва, а саме артикул чи код — це буде ключ зв'язку. Порожні артикули означають, що товар неможливо зіставити.
  • Жодних дублів. Дві картки одного товару гарантовано дадуть стрибки залишків на сайті.
  • Зрозуміла структура груп. Вона стане структурою категорій на сайті. Якщо в базі групи зроблені «для бухгалтерії», для покупця вони будуть незручні — краще передбачити окреме поле для категорії сайту.
  • Рішення щодо типів цін. Яка ціна йде на сайт: роздрібна, з націнкою, окремий тип «Ціна сайту». Останній варіант найзручніший: можна змінювати ціни для сайту, не чіпаючи облік.
За досвідом, наведення порядку в номенклатурі займає від одного дня до двох тижнів залежно від того, скільки років базу вели без правил. Це робота вашого товарознавця, не програміста, і закладати її треба в план окремо.

Етап 1: вибір способу обміну

Для зв'язки 1С і OpenCart реально використовуються три підходи. Вибір впливає і на вартість, і на те, наскільки зручно буде жити з обміном далі.

СпосібКоли підходитьМінуси
Обмін через API Основний варіант для більшості магазинів. База сама звертається до сайту Потрібен доступ до сайту ззовні й трохи більше роботи на старті
Файловий обмін Коли база в закритому контурі й назовні її не випускають Повільніше, складніше ловити помилки
Готовий модуль з маркету Типовий магазин без особливостей і з обмеженим бюджетом Майже завжди доводиться допилювати, підтримка залежить від автора

Я в більшості випадків роблю обмін через API: він прозоріший у діагностиці й не залежить від того, чи хтось поклав файл у потрібну папку.

Етап 2: зіставлення товарів

Це серце інтеграції. Кожен товар на сайті має бути однозначно пов'язаний з товаром у базі. Якщо сайт новий і порожній — усе просто: товари створюються обміном і зв'язок виникає одразу. Якщо на сайті вже є каталог, потрібне разове зіставлення.

  1. Вивантажуємо перелік товарів сайту з їхніми артикулами.
  2. Вивантажуємо перелік номенклатури з бази.
  3. Зводимо за артикулом і отримуємо три групи: збіглися, є тільки в базі, є тільки на сайті.
  4. Перші дві групи обробляються автоматично. Третю доводиться розбирати руками — це або застарілі позиції, або товари з іншим артикулом.
  5. Зафіксований зв'язок зберігається, щоб наступні обміни працювали вже без зіставлення.
Не запускайте перший обмін на живому каталозі. Помилка в зіставленні на цьому кроці означає переплутані ціни й залишки на всьому сайті одразу. Спершу тестова копія, звірка результату очима — і тільки потім бойовий запуск.

Етап 3: вивантаження каталогу

Тут вирішується, що саме передається і як часто. Розумний розклад виглядає так: каталог і описи — раз на добу вночі, ціни й залишки — кожні 10–30 хвилин. Немає сенсу ганяти повний каталог щогодини: це навантажує базу й нічого не дає.

Окремо треба домовитися про поведінку з нульовими залишками. Варіанти: сховати товар з каталогу, показувати з позначкою «немає в наявності» або показувати як «під замовлення». Третій варіант зазвичай найвигідніший — сторінка залишається в індексі пошуку й продовжує приводити людей.

Етап 4: приймання замовлень

Зворотний напрямок технічно простіший, але вимагає більше домовленостей з вашими людьми. Потрібно визначити, як створюється контрагент, що робити з повторним покупцем, у якому статусі з'являється замовлення й хто його далі обробляє.

  • Замовлення з сайту створює документ у базі з усіма позиціями й сумами.
  • Покупець шукається за телефоном або поштою; якщо не знайдений — створюється новий.
  • Адреса доставки, включно з відділенням Нової Пошти, потрапляє в документ.
  • Статуси повертаються назад на сайт, щоб клієнт бачив рух замовлення.

Етап 5: контроль після запуску

Обмін, за яким ніхто не стежить, рано чи пізно тихо зупиняється. Мінімальний набір, який я закладаю в кожен проєкт: лог кожного запуску, сповіщення в Telegram, якщо успішного обміну не було понад дві години, і щотижневий звіт про розбіжності між базою й сайтом. Докладніше про те, як це ламається без контролю, — у статті про причини, чому залишки перестають оновлюватися.

Скільки це займає насправді

ЕтапЧас
Аудит бази й сайту1–2 дні
Наведення порядку в номенклатурівід 1 дня до 2 тижнів, робота на вашому боці
Налаштування вивантаження каталогу, цін і залишків3–5 днів
Приймання замовлень і статуси3–5 днів
Тестування й запуск2–3 дні

Разом для типового магазину виходить від тижня до трьох. Основний ризик зсуву термінів — не технічна частина, а стан даних. Якщо в базі порядок, обмін налаштовується швидко й передбачувано.

Якщо хочете подивитися, як це виглядає з боку вартості й що входить у роботу — усе описано на сторінці послуги з інтеграції 1С із сайтом.

Хочете такий обмін у себе?

Напишіть, яка у вас конфігурація й скільки позицій у каталозі. Цього достатньо для попередньої оцінки термінів і бюджету.