Інтеграція 1С:Підприємство з сайтом

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Інтеграція 1С:Підприємство з сайтом
Складна
~5 робочих днів
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Інтеграція 1С:Підприємства з веб-сайтом

Інтеграція веб-сайту з 1С — це завдання, складність якого часто недооцінюється. 1С — це не просто база даних, а складна облікова система з власною логікою бізнес-процесів, конфігураціями, які сильно відрізняються між клієнтами, та інфраструктурними обмеженнями (часто працює в локальній мережі підприємства).

Архітектурні варіанти інтеграції

Варіант 1: 1С як мастер даних 1С зберігає актуальні дані (залишки, ціни, номенклатуру), веб-сайт періодично синхронізується. Підходить, якщо 1С — основна облікова система, а веб-сайт — просто вітрина.

Варіант 2: Двостороння синхронізація Замовлення створюються на веб-сайті й передаються в 1С. Оновлення даних надходять з 1С на веб-сайт. Вимагає ретельної логіки розв'язання конфліктів.

Варіант 3: Веб-сайт як мастер для замовлень Веб-сайт управляє замовленнями, 1С отримує їх для обліку та виробництва/відправлення. Дані каталогу надходять з 1С.

Методи підключення до 1С

Веб-сервіси 1С (SOAP/REST) — 1С публікує HTTP-сервіс через веб-сервер (Apache/IIS). Веб-сайт звертається до нього безпосередньо. Вимагає публікації 1С на зовнішню адресу або VPN.

Проміжна шина (брокер) — рекомендуємий варіант для production. RabbitMQ або Redis Queue між веб-сайтом і агентом 1С. Агент — окремий процес (Node.js, Go, Python), який читає чергу й викликає COM-об'єкт 1С або його HTTP-сервіс.

Веб-сайт → RabbitMQ (exchange: site_to_1c) → агент 1С → 1С
1С → RabbitMQ (exchange: 1c_to_site) → PHP Worker → Веб-сайт

CommerceML (1С→веб-сайт) — XML-формат експорту каталогу з 1С. Детальніше в описі CommerceML-інтеграції.

1С:Коннектор для веб-сайтів — готовий модуль для 1C-Bitrix. Для інших CMS — немає готового рішення, потрібна розробка.

Синхронізація номенклатури

З 1С експортуються: артикул, найменування, опис, характеристики (колір, розмір), одиниця виміру, ПДВ, зображення (посилання або base64), штрихкоди.

Формат експорту: JSON через REST API 1С або XML за протоколом CommerceML.

// Обробка отриманої номенклатури
foreach ($nomenclature as $item) {
    Product::updateOrCreate(
        ['sku_1c' => $item['code']],
        [
            'name'        => $item['name'],
            'description' => $item['description'],
            'price'       => $item['price'],
            'stock'       => $item['stock']
        ]
    );
}

Синхронізація залишків і цін

Залишки й ціни змінюються частіше, ніж номенклатура. Для них потрібна частіша синхронізація (кожні 15–30 хвилин). Оптимально — інкрементальний експорт: тільки змінені позиції з моменту останньої синхронізації.

-- У 1С: експортувати тільки змінені з останньої синхронізації
SELECT Номенклатура.Код, ОстаткиТоварів.КоличествоОстаток
FROM РегістрНакопління.ТовариНаСкладах.Остатки AS ОстаткиТоварів
WHERE ОстаткиТоварів.Період > &ПоследняяСинхронізація

Передача замовлень у 1С

Замовлення передається в 1С після підтвердження й оплати. Формат залежить від конфігурації 1С. Для "Управління торгівлею" — об'єкт "Замовлення клієнта":

{
    "Номер": "SITE-12345",
    "Дата": "2024-03-15T10:30:00",
    "Контрагент": {
        "ПІБ": "7712345678",
        "Найменування": "ІП Іванов"
    },
    "Товари": [
        {
            "Артикул": "ART-001",
            "Кількість": 2,
            "Ціна": 1500.00,
            "Сума": 3000.00,
            "СтавкаПДВ": "20%"
        }
    ],
    "СумаДокумента": 3000.00,
    "Коментар": "Доставка кур'єром"
}

Довідники: контрагенти, склади, організації

Перед передачею замовлення може знадобитися створення або пошук контрагента в 1С за ПІБ або електронною поштою. Це окремий запит до сервісу 1С. Якщо контрагент не знайдено — створюється новий.

Обробка помилок і моніторинг

1С — система з обмеженою відмовостійкістю. Типові помилки:

  • 1С заблокована іншим користувачем (монопольний режим)
  • Порушення референціальної цілісності (товар у замовленні не існує в 1С)
  • Timeout при обробці великих обсягів даних

Усі операції логуються в sync_log з деталями запиту й помилок. Сповіщення про серію помилок — у Telegram/email.

Безпека

1С не повинна бути прямо доступна з інтернету. Рекомендується:

  • VPN або виділена мережа між сервером веб-сайту й 1С
  • Брокер повідомлень як єдина точка контакту
  • IP-whitelist для REST-сервісу 1С

Терміни розробки: 6–10 тижнів залежно від конфігурації 1С, обсягу даних та обраного методу інтеграції.