# Research Findings — Ukrtruboizol BAS ERP Штрихкодування

Дата: 22.05.2026
Джерело: live web research за озвученими у зустрічі №1 темами.

## 1. BAS ERP — концепти маршрутних листів та етапів виробництва

**Концепція BAS ERP:**
- Загальний обсяг робіт за **етапом виробництва** розбивається на партії запуску — **маршрутні листи**
- Кожен маршрутний лист формується на основі **маршрутної карти** етапу і містить її репліку даних
- Планування між цеховими переходами здійснюється на основі етапів **ресурсної специфікації**
- Задачі розсилаються у виробничі підрозділи для поопераційного планування

**Методика «Реєстрація операцій»** (kubik.com.ua) — релевантна для нашого випадку:
- Стандартний механізм реєстрації виконаних операцій по маршрутним листам у BAS ERP

**Виробничі підрозділи** налаштовуються:
- НДІ → Структура підприємства, АБО Виробництво → Налаштування і довідники → Структура виробництва
- Параметри: склад матеріалів, графік роботи

**Документ «Виробничий звіт за зміну»** — типовий документ BAS ERP, частина стандартного workflow. Це той самий, з яким працює Олена.

## 2. BAS ERP — інтеграція з мобільним клієнтом

**Доступні механізми BAS:**
- **HTTP-сервіси** — це і потрібно для нашого Android-додатку (REST-подібний обмін)
- **Веб-сервіси** (SOAP-style)
- **Обміни** (через формати XML/JSON)
- **Конвертація даних** (стандартна підсистема BAS для трансформації між форматами)

**Готовий мобільний додаток BAS для складу** — існує (продається окремо). АЛЕ:
- Орієнтований на складські операції (приймання/відвантаження), не на виробничі дільниці
- Авторизація: користувач + біометрія (на сучасних версіях)

**Наш кейс — кастомний Android-додаток**, бо:
- Виробничі дільниці мають специфічний робочий процес (виконання операцій, не складські операції)
- Замовник чітко сказав: «нам треба факт того, що вони зробили», не «передати лист»
- Мобільний додаток BAS не виконує цю модель

## 3. Android barcode scanning — технологічний стек

**Рекомендація — Google ML Kit + CameraX:**
- Стандарт галузі 2025-2026 для Android
- Безкоштовний, on-device (працює офлайн)
- Підтримує всі поширені формати (Code 39, Code 128, EAN, QR тощо)
- Інтеграція через `ImageAnalysis.Analyzer` у CameraX

**Альтернатива — ZXing:**
- Open-source, але у **maintenance-only mode** (тільки security patches)
- Підтримує більше форматів за ML Kit
- Слабше від ML Kit за продуктивністю на сучасних пристроях

**Обмеження ML Kit для виробничих/складських ШК:**
- Не розпізнає 1D штрихкоди з 1 символом
- Не розпізнає ITF штрихкоди з менше ніж 6 символів
- (Захист від false positive — критично для warehouse)

**Висновок:** ML Kit + CameraX — оптимальний стек для нашого випадку. Потрібно лише перевірити який формат ШК Замовник використовує (зазвичай Code 128 — стандарт для виробничих процесів — OK для ML Kit).

## 4. Архітектура мобільного клієнта — best practices

**Modes обміну:**
- **Push** (мобільний → BAS): сканування → формування об'єкту → POST через HTTP-сервіс → запис у BAS
- **Pull** (BAS → мобільний): завантажити список листів на дільниці робітника, поточну зміну, відкриті завдання
- **Sync-on-demand** (як озвучив Виконавець): не онлайн, але періодична синхронізація за командою

**Авторизація — варіанти:**
- PIN / пароль (просто, але повільно для робітника)
- QR-код для входу (друкований на бейджику робітника)
- Біометрія (відбиток на сучасних телефонах) — стандарт BAS Склад
- NFC-карта (для пром-середовища — стійка до забруднення)

**Рекомендація для нашого випадку:** PIN + опціонально NFC (якщо у Замовника вже є картки доступу).

## 5. Точки інтеграції з BAS ERP — карта

| Подія у мобільному | Об'єкт BAS ERP |
|--|--|
| Робітник входить у додаток | Користувач (з прив'язкою до дільниці на день) |
| Сканує лист (на вхід на дільницю) | Реєстрація початку виконання операції (маршрутний лист, етап) |
| Сканує лист (після виконання операції) | Реєстрація виконаної операції → формування рядка у «Виробничий звіт за зміну» |
| Помилка / повторне сканування | Логування події (без створення обʼєкту) |
| Передача листа в комору (вже існуючий процес) | Документ «Передача матеріалів» (вже працює — інтегрується через існуючий механізм) |
| ОТК — присвоєння партії готовій трубі | Документ ОТК (виконавець у базі BAS, не через мобільний) |

## 6. Виявлені нюанси, що потребують уточнення на наступній зустрічі

1. **Формат ШК на листах** — який саме (Code 128, EAN, QR, інший)? Структура (номер серії листа? Або композитний код?)
2. **Скільки одночасно листів на одній дільниці** — Замовник заперечив транзитну модель, але обсяг паралельної черги впливає на UX
3. **Конкретна редакція BAS ERP** у клієнта (2.1 / 2.5) — впливає на available API endpoints
4. **Інтернет у цехах** — Wi-Fi покриття на дільницях; чи треба фолбек на offline-режим (буфер у телефоні до синхронізації)
5. **Прив'язка робітник↔дільниця** — щодня вручну адмін, чи через зміну (BAS вже має таку модель?)
6. **Перелік виробничих операцій** — у транскрипті фігурує «17 етапів», обговорено «звузити до видів робіт». Точний перелік потрібен
7. **Існуючий ШК (на прийомці + комора)** — формат, генератор, друкована мітка — щоб не плодити паралельні стандарти

## Джерела
- [BAS ERP — Реєстрація операцій по маршрутних листах](https://kubik.com.ua/ua/articles/baserp-registration-of-operations)
- [BAS ERP — Управління виробництвом](https://dinn.com.ua/articles/functsional-bas-erp-upravlinnya-vyrobnytstvom)
- [BAS ERP — Опис редакції 2.1 (ITS)](https://its.bas-soft.eu/db/erpuaua)
- [BAS Мобільний додаток виступ на ERP Forum](https://inagro.com.ua/info/news/mob-dodatok-vystup-6-erp-forum)
- [ML Kit Barcode Scanning (Android)](https://developers.google.com/ml-kit/vision/barcode-scanning/android)
- [ML Kit vs ZXing — Scanbot SDK](https://scanbot.io/blog/ml-kit-vs-zxing/)
- [Building Barcode/QR scanner for Android using ML Kit and CameraX](https://proandroiddev.com/building-barcode-qr-code-scanner-for-android-using-google-ml-kit-and-camerax-220b2852589e)
- [Облік виробництва в BAS КУП — Портфель](https://portfel.ua/oblik-virobnitstva-v-bas-kompleksne-upravlinnya-pidpriyemstvom/)
