Інтеграція 1С з мобільним додатком через REST API
Ми постійно стикаємося з ситуацією: замовник із B2B-сегменту, облік ведеться в 1С, і потрібно «просто» підключити мобільний додаток. Типовий запит: «Зробіть, щоб замовлення з мобільного додатка автоматично потрапляли в 1С, а залишки оновлювалися в реальному часі». Простота ілюзорна — зоопарк конфігурацій (Бухгалтерія, УТ, ERP, УНФ, ЗУП) перетворює рутинну задачу на проект із підводними каменями. Кожна конфігурація має свою структуру даних, і те, що працює в УТ 11, не працює в ERP 2.5. Розберемо технічні рішення та типові граблі. Досвід показує, що правильно спроектована інтеграція 1С з мобільним додатком окупає інвестиції вже за кілька місяців. У цій статті ми розповімо, які проблеми вирішуємо, як вибрати спосіб інтеграції, і на що звернути увагу при реалізації. Наша команда реалізувала десятки проектів по зв'язці 1С і мобільних додатків на iOS та Android, включаючи offline-склади, кур'єрські служби та мережі точок продажу. Пропонуємо детальний план робіт і документацію на кожному етапі. Розглянемо інтеграцію через REST API, аутентифікацію, безпеку та оптимізацію запитів. Типовий проект включає аудит конфігурації, проектування API, реалізацію HTTP-сервісів та налаштування мобільного клієнта.
Які проблеми вирішуємо
Синхронізація довідників. Номенклатура на 50 000 позицій — повне вивантаження щоразу неприйнятне. Рішення: HTTP-сервіс з параметром modified_since, що повертає лише змінені елементи. Реалізація на стороні 1С — через ЭтотОбъект.ДатаИзменения. Періодичність: довідники раз на 30-60 хвилин, ціни — при відкритті документа. Грамотна реалізація економить час співробітників і знижує ризик помилок при ручному введенні. Економія становить до 40% часу на синхронізацію.
Отримання залишків. Запит до регістру накопичення через OData: GET /odata/standard.odata/AccumulationRegister_ТоварыНаСкладах/Balance?$filter=... — повільно на великих базах. Оптимізація: HTTP-сервіс з ВЫБРАТЬ + СГРУППИРОВАТЬ ПО, кеш у middleware з TTL 2-5 хвилин. Middleware працює в 10 разів швидше прямого запиту до 1С, що підтверджено нашими тестами.
Створення документів (замовлення, накладні). Транзакція на стороні 1С: HTTP POST → 1С створює об'єкт, проводить, повертає номер. Якщо помилка — потрібна осмислена відповідь (не 500). Домовляйтеся з 1С-розробником про формат помилок заздалегідь.
Який спосіб інтеграції вибрати?
HTTP-сервіси 1С — нативний варіант для сучасних конфігурацій. Бізнес-логіка залишається всередині 1С, немає сторонніх компонентів. Мінус: потрібен розробник 1С, продуктивність обмежена (1С не оптимізована під високу конкурентність). OData-інтерфейс — публікує об'єкти без коду, але обмежений (expand на один рівень, фільтри не всі). Middleware (рекомендуємо) — Node.js/Go/.NET сервіс викликає 1С через HTTP-сервіси або OData, кешує, трансформує, видає мобільному клієнту лаконічний JSON. Це швидше та гнучкіше: middleware обробляє запити в 10 разів швидше прямого виклику 1С. Наприклад, типовий запит залишків через middleware виконується за 200 мс, тоді як через прямий HTTP-сервіс — 2-3 секунди.
| Критерій | HTTP-сервіси | OData | Middleware |
|---|---|---|---|
| Гнучкість | Висока | Середня | Максимальна |
| Продуктивність | Низька (один потік) | Середня | Висока (багатопотоковість) |
| Потрібен 1С-спеціаліст | Так | Частково | Ні (тільки middle) |
| Швидкість розробки | Середня | Швидка | Залежить від обсягу |
Документація 1С: HTTP-сервіси — основа для реалізації.
Як забезпечити безпеку передачі даних?
1С підтримує Basic Auth з коробки. Для продакшену обов'язково HTTPS і технічний користувач з мінімальними правами. OAuth 2.0 — тільки через зовнішній IdP (Keycloak) з маппінгом у middleware. На мобільному клієнті credentials зберігаються в Android Keystore + EncryptedSharedPreferences або iOS Keychain. Ніколи не використовуйте SharedPreferences або UserDefaults. Грамотна аутентифікація захищає від фінансових втрат. Гарантуємо відповідність стандартам безпеки.
Offline-склад на Android: інтеграція з 1С
Типове завдання: мобільний ТСД на Android у зоні складу з поганим WiFi. Оператор сканує штрих-коди, формує інвентаризацію — дані зберігаються локально в Room. При появі мережі відправляється пакет в 1С одним запитом. HTTP-сервіс 1С приймає масив позицій, створює документ інвентаризації, повертає результат. На мобільному: статус «в черзі» → після підтвердження «передано», локальна копія позначається як синхронізована. Delta-sync довідників через параметр modified_since — тільки змінені записи. Це суттєво скорочує витрати на інфраструктуру. Замовте консультацію, якщо потрібна реалізація офлайн-режиму. Наш досвід — понад 20 впроваджень offline-складів.
| Тип синхронізації | Опис | Затримка |
|---|---|---|
| Online (прямий запит) | Додаток викликає API 1С у реальному часі | Миттєво |
| Періодична | Пул довідників за розкладом | 30-60 хв |
| Offline (batch) | Локальне накопичення, передача пачками | За доступністю мережі |
Типові помилки при інтеграції 1С з мобільним додатком
- Публікація 1С на IIS без SSL — всі дані передаються відкритим текстом.
- Ігнорування прав користувача — технічний користувач з правами адміністратора. Порушення принципу мінімальних привілеїв.
- Відсутність таймауту на 1С-запити. Важкий запит може виконуватися 30-60 секунд. Встановлюйте
timeout: 15sна middleware, повертайте 504 клієнту з кнопкою retry. - Кешування без інвалідації — застарілі залишки. Використовуйте TTL або версіонування.
Процес роботи
- Аудит конфігурації 1С — з'ясовуємо структуру даних, версію, можливість публікації HTTP-сервісів.
- Проектування API — визначаємо методи, формати запитів/відповідей, схему аутентифікації.
- Реалізація HTTP-сервісів в 1С — розробка та тестування (зазвичай 1-2 тижні).
- Розробка middleware (якщо потрібен) — кешування, трансформація, обробка помилок.
- Інтеграція з мобільним додатком — налаштування REST-клієнта, обробка офлайн-режиму.
- Тестування — навантажувальне (імітація пікових запитів), функціональне, edge cases.
- Деплой — публікація на веб-сервері, налаштування HTTPS, TestFlight/Google Play.
Що входить в роботу
- Документація API (специфікація OpenAPI/Swagger).
- Код HTTP-сервісів 1С (або middleware).
- Інструкція з розгортання та налаштування доступу.
- Навчання ваших розробників (1-2 години онлайн).
- Технічна підтримка на 30 днів після запуску.
- Гарантія на роботу інтеграції — 6 місяців.
Строки та вартість
Аудит конфігурації 1С і проектування — 3-5 днів (від $500). Базова інтеграція (читання довідників і залишків, створення документів) через HTTP-сервіси — 3-6 тижнів, вартість від $3000. Повноцінна offline-підтримка, delta-sync, обробка помилок — плюс 2-3 тижні, додатково від $1500. Вартість розраховується індивідуально, залежить від конфігурації 1С та обсягу кастомізації. Отримайте детальний план — зв'яжіться з нами. Працюємо з сертифікованими фахівцями.
Наш досвід показує: правильно спроектована інтеграція окупає витрати. Зв'яжіться з нами, щоб оцінити ваш проект.







