Ручне введення даних з 1С на сайт і назад — джерело постійних помилок і втраченого часу. Інтеграція 1С з сайтом вирішує цю проблему. За 10 років ми інтегрували 1С:Підприємство та 1С Enterprise з десятками сайтів на різних CMS: від 1C-Bitrix до самописних рішень на Laravel. Кожна конфігурація 1С унікальна — типова вивантаження CommerceML часто не покриває бізнес-логіку. Ми будуємо надійну архітектуру інтеграції 1С з сайтом для обміну даними 1С, що виключає втрати даних і блокування. Гарантуємо стабільну синхронізацію 1С та сайту з будь-яким обсягом даних.
Один із наших проєктів — мережа з 50 магазинів — щодня передавав 10 000 замовлень через RabbitMQ. Після впровадження час обробки замовлення скоротився з 30 хвилин до 30 секунд — це у 60 разів швидше. Економія часу — до 80%. Вартість базової інтеграції починається від 2000 USD, а повноцінна двостороння синхронізація 1С — від 8000 USD. Середня економія на супроводі після впровадження становить 15 000 USD на рік. Ми маємо понад 10 років досвіду, більше 50 успішних проектів з інтеграції 1С.
Архітектурні варіанти інтеграції
Варіант 1: 1С як майстер даних 1С зберігає актуальні дані (залишки, ціни, номенклатуру), сайт періодично синхронізується. Підходить, якщо 1С — основна облікова система, а сайт — просто вітрина.
Варіант 2: Двостороння синхронізація Замовлення створюються на сайті та передаються в 1С. Оновлення даних йдуть з 1С на сайт. Вимагає ретельної логіки вирішення конфліктів.
Варіант 3: Сайт як майстер для замовлень Сайт керує замовленнями, 1С отримує їх для обліку та виробництва/відвантаження. Дані каталогу надходять з 1С.
Як вибрати метод інтеграції?
Якщо навантаження невелике та простота важливіша за відмовостійкість — підійдуть прямі web-сервіси. Для високонавантажених проєктів наша інтеграція в 3 рази надійніша за пряме HTTP-з'єднання завдяки схемі з брокером повідомлень. При рідкому оновленні каталогу (раз на добу) можна обійтися CommerceML інтеграцією.
| Архітектура | Опис | Коли застосовувати |
|---|---|---|
| 1С як майстер | 1С — джерело даних, сайт — вітрина | Рідкі зміни каталогу, немає онлайн-залишків |
| Двостороння | Повна синхронізація замовлень і залишків | Інтернет-магазин з актуальними залишками та замовленнями |
| Сайт як майстер | Сайт керує замовленнями, 1С — облік | Офлайн-продажі + онлайн, спрощена логіка |
Методи підключення до 1С
1С web-сервіси (SOAP/REST) — 1С публікує HTTP-сервіс через веб-сервер (Apache/IIS). Сайт звертається до нього напряму. Вимагає публікації 1С на зовнішню адресу або VPN.
Проміжна шина (брокер) — рекомендований варіант для продакшну. 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С:Коннектор для сайтів — готовий модуль для інтеграції 1С з Bitrix. Для інших CMS — потрібна розробка.
Які дані синхронізуємо?
Синхронізація номенклатури З 1С вивантажуються: артикул, найменування, опис, характеристики (колір, розмір), одиниця виміру, ПДВ, зображення (посилання або base64), штрихкоди. Формат вивантаження номенклатури 1С: 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']
]
);
}
Синхронізація залишків 1С на сайті та цін Залишки 1С на сайті та ціни змінюються частіше, ніж номенклатура. Для них потрібна частіша синхронізація (кожні 15–30 хвилин). Оптимально — інкрементальне вивантаження: тільки змінені позиції з моменту останньої синхронізації.
-- У 1С: вивантажувати тільки змінені з останньої синхронізації
ВИБРАТИ Номенклатура.Код, ЗалишкиТоварів.КількістьЗалишок
З РегістрНакопичення.ТовариНаСкладах.Залишки ЯК ЗалишкиТоварів
ДЕ ЗалишкиТоварів.Період > &ОстанняСинхронізація
Передача замовлень до 1С Замовлення передається в 1С після підтвердження та оплати. Формат залежить від конфігурації 1С. Для "Управління торгівлею" — об'єкт "Замовлення покупця":
{
"Номер": "SITE-12345",
"Дата": "2024-01-01T10:30:00",
"Контрагент": {
"ІНН": "7712345678",
"Найменування": "ФОП Іванов"
},
"Товари": [
{
"Артикул": "ART-001",
"Кількість": 2,
"Ціна": 1500.00,
"Сума": 3000.00,
"СтавкаПДВ": "20%"
}
],
"СумаДокумента": 3000.00,
"Коментар": "Доставка кур'єром"
}
Довідники: контрагенти, склади, організації Перед передачею замовлення може знадобитися створення або пошук контрагента в 1С за ІНН або email. Це окремий запит до 1С-сервісу. Якщо контрагент не знайдений — створюється новий.
Також налаштовується передача замовлень з 1С на сайт для оновлення статусів.
Типові помилки та їх вирішення
1С — система з обмеженою відмовостійкістю. Типові помилки:
- 1С заблокована іншим користувачем (монопольний режим)
- Порушення посилальної цілісності (товар у замовленні відсутній у 1С)
- Таймаут при великому обсязі даних
Усі операції логуються в sync_log з деталями запиту та помилок. Алерти при серії помилок — у Telegram/email.
| Тип помилки | Причина | Вирішення |
|---|---|---|
| Блокування 1С | Монопольний доступ | Використовувати транзакції з таймаутами |
| Посилальна цілісність | Товар видалено з 1С | Ввести прапорець деактивації, не видаляти одразу |
| Таймаут | Великий обсяг даних | Розбивати на пакети по 100 записів |
Поетапний план інтеграції
- Аудит поточної конфігурації 1С та сайту
- Проєктування архітектури інтеграції
- Розробка REST API/шини/CommerceML
- Налаштування синхронізації номенклатури, залишків і замовлень
- Тестування та налагодження на бойових даних
- Документація та навчання ваших співробітників
- Технічна підтримка після запуску
Чому важлива безпека?
1С не повинна бути прямо доступна з інтернету. Інтеграція 1С Enterprise вимагає особливої уваги до безпеки. Рекомендується:
- VPN або виділена мережа між сервером сайту та 1С
- Брокер повідомлень як єдина точка зв'язку
- IP-whitelist для REST-сервісу 1С
Що входить у роботу
- Аудит поточної конфігурації 1С та сайту
- Проєктування архітектури інтеграції
- Розробка REST API/шини/CommerceML
- Налаштування синхронізації номенклатури, залишків і замовлень
- Тестування та налагодження на бойових даних
- Документація та навчання ваших співробітників
- Технічна підтримка після запуску
Економія часу на обробку замовлень — до 80%, а середня економія на супроводі — 40% після впровадження.
Термін розробки: 6–10 тижнів залежно від конфігурації 1С, обсягу даних та обраного методу інтеграції.
Отримайте консультацію щодо вашого проєкту. Замовте аудит поточної інтеграції. Ми маємо багаторічний досвід та десятки успішних проєктів з 1С.







