Автоматизація обміну даними: інтеграція 1С:ERP з сайтом
Уявіть: ваше підприємство випускає продукцію на замовлення. Клієнти оформлюють замовлення на сайті, а виробничий відділ отримує їх лише після ручного введення в 1С:ERP. Помилки, затримки, втрачені замовлення — типова картина за відсутності інтеграції. Ми вирішуємо це завдання, налаштовуючи пряму синхронізацію сайту з 1С:ERP на рівні замовлень, залишків, цін та виробничих завдань.
1С:ERP Управління підприємством — найповніша конфігурація 1С, що охоплює виробництво, ланцюжок постачання, фінансовий облік, управління активами та персоналом. Інтеграція з сайтом — частина ширшої архітектури корпоративної інформаційної системи. Без неї зростає час обробки замовлень, з'являються розбіжності в залишках, а ціни для різних клієнтів доводиться оновлювати вручну.
За 10 років роботи ми реалізували 30+ проєктів з інтеграції 1С:ERP з сайтами. Наш досвід включає підприємства з десятками юридичних осіб, складними умовами ціноутворення та багаторівневим виробництвом. Кожна інтеграція унікальна, але архітектурні рішення залишаються схожими. У цій статті розповімо, як побудувати надійну інтеграцію з використанням OData та шини даних ESB.
Як працює інтеграція за 30 хвилин замість 2 днів?
Для машинобудівного підприємства ми реалізували інтеграцію, за якої замовлення з сайту запускає ланцюжок документів в 1С:ERP:
- Замовлення покупця → розрахунок потреби в матеріалах
- Потреби → замовлення постачальникам або виробничі завдання
- Готова продукція → резервування під замовлення покупця
Раніше обробка замовлення займала 2 дні: менеджер вручну переносив дані з сайту в 1С. Після інтеграції час скоротився до 30 хвилин. Ключові рішення: використання OData для вивантаження номенклатури та залишків (з періодичністю 5 хвилин), RabbitMQ для асинхронної передачі замовлень (в реальному часі) та доопрацювання модуля 1С для автоматичного створення документів за даними із шини.
Чому OData — найкращий вибір для інтеграції з 1С:ERP?
1С:ERP підтримує публікацію через OData — протокол поверх REST. Це найсучасніший спосіб інтеграції. OData-інтеграція в 3 рази швидша та надійніша, ніж обмін через FTP та XML. Приклад запиту:
GET https://1c-server/odata/standard.odata/Catalog_Номенклатура ?$filter=DeletionMark eq false &$select=Code,Description,Weight,НоменклатурнаГрупа_Key &$expand=НоменклатурнаГрупа OData підтримує фільтрацію, сортування, пагінацію та розширення пов'язаних об'єктів — що зручно для інкрементальної синхронізації. На відміну від застарілих обмінів через XML та FTP, OData забезпечує типізацію даних та прозорість помилок. Детальніше про OData можна прочитати в офіційній документації Microsoft.
Як часто синхронізувати дані?
| Тип даних | Періодичність | Вимоги до реального часу |
|---|---|---|
| Залишки та ціни | 5-15 хвилин | Ні |
| Замовлення | Реальний час через черги | Так |
| Номенклатура | Інкрементально раз на добу | Ні |
| Контрагенти | Інкрементально раз на добу | Ні |
Порівняння підходів: пряма інтеграція vs ESB
| Критерій | Пряма інтеграція | Інтеграція через ESB |
|---|---|---|
| Складність додавання нових систем | Висока (щоразу нові зв'язки) | Низька (підключаєш до шини) |
| Надійність при збоях | Немає повторної відправки | Є retry-логіка та черга повідомлень |
| Моніторинг потоків даних | Тільки логи 1С | Централізований моніторинг через RabbitMQ/Kafka |
| Масштабованість | Обмежена | Легко масштабується |
Як працює інтеграційна шина (ESB)
ESB (Enterprise Service Bus) — це проміжний шар між сайтом та 1С:ERP. Він приймає повідомлення від сайту, трансформує їх у формат 1С та доставляє з гарантією доставки. При збоях шина автоматично повторює відправку. Також ESB дозволяє підключати інші системи (WMS, CRM, BI) без зміни існуючих інтеграцій.
Типова конфігурація: RabbitMQ для черг повідомлень, WSO2 для трансформації даних, PostgreSQL для логування. Шина встановлюється на окремому сервері або в контейнері Docker.
Що робити, якщо 1С:ERP сильно модифікована?
На багатьох підприємствах 1С:ERP доопрацьована під специфічні бізнес-процеси. У таких випадках інтеграція потребує додаткового аналізу: ми перевіряємо, які об'єкти були змінені, та адаптуємо OData-запити або додаємо кастомні обробники. Навіть при глибоких доопрацюваннях ми прагнемо зберегти типовий OData-інтерфейс, додаючи лише необхідні розширення.
Процес роботи
- Аналіз — вивчаємо поточні бізнес-процеси, конфігурацію 1С:ERP та архітектуру сайту. Готуємо документ з вимогами.
- Проектування — визначаємо схему інтеграції (ESB або пряма взаємодія), формат даних та протоколи. Погоджуємо з вашою командою 1С.
- Реалізація — налаштовуємо OData на стороні 1С, розробляємо конектор до ESB або інтеграційні скрипти на сайті. Проводимо модульне тестування.
- Тестування — виконуємо навантажувальне та приймальне тестування на тестовій базі. Виправляємо помилки.
- Деплой — розгортаємо рішення на продуктивних серверах, налаштовуємо моніторинг та логування.
Що входить в роботу
- Технічна документація з інтеграції (архітектура, опис API, налаштування)
- Налаштування OData на сервері 1С:ERP
- Розробка конектора до ESB (RabbitMQ/Kafka)
- Створення консолі адміністрування (запуск ресинхронізації, перегляд логів)
- Навчання персоналу 1С
- Гарантія 6 місяців на інтеграційні скрипти
Строки орієнтовно
Від 10 до 20 тижнів залежно від обсягу інтеграції, складності конфігурації 1С:ERP та обраної архітектури шини даних.
Типові помилки при інтеграції
- Ігнорування версіонування OData — при оновленні 1С може змінитися структура запитів
- Відсутність механізму повторної відправки при тимчасових збоях (вирішується ESB)
- Спроба синхронізувати всі дані одразу замість інкрементального підходу — веде до великих навантажень на 1С та сайт
Якщо ви хочете автоматизувати обмін даними між сайтом та 1С:ERP — зв'яжіться з нами. Ми проведемо аудит, запропонуємо оптимальну архітектуру та виконаємо інтеграцію під ключ. Отримайте консультацію інженера — це безкоштовно. Замовте інтеграцію сьогодні та скоротіть час обробки замовлень у 2 рази.







