
Авторизация

Сброс пароля
Разработка мобильного приложения учета грузов в портах для Лукойл
Заказчик: ПАО "Лукойл"
Страница кейса/результат: https://bunker.lukoil.ru/ru/Activities/ports

Перед нашей командой стояла задача автоматизировать процесс учета грузов в морских портах с применением мобильных устройств — терминалов сбора данных (ТСД). Цель — повысить прозрачность логистических процессов, ускорить обработку данных и сократить влияние человеческого фактора.
1. Вводная задача от заказчика, проблематика, цели
Проект требовал глубокой интеграции с существующей учетной системой на базе 1С, поддержки работы в режиме реального времени и обеспечения бесперебойного обмена данными между мобильными устройствами и центральной базой, включая возможность фиксации фото и сканирования грузов.
Портовая логистика — это всегда скорость, точность и контроль. Нам предстояло разработать систему, которая решала бы несколько ключевых проблем:
- Ручной учет грузов → ошибки, путаница, потери данных.
- Отсутствие фотофиксации → невозможно доказать факт погрузки или повреждения.
- Нет единой системы передачи данных в 1С → медленные, нестабильные отчеты.
Цель — создать мобильное приложение для терминала сбора данных (ТСД), которое:
- Авторизует пользователя.
- Позволяет выбрать рейс, этап и операцию (погрузка/разгрузка).
- Позволяет вносить факт вручную или по штрихкоду.
- Делает и сохраняет фотографии.
- Обменивается данными с центральной базой (1С) порционно и надёжно.
2. Описание реализации кейса и творческого пути по поиску оптимального решения
Архитектура решения
Вот как выглядела итоговая архитектура:
- Мобильное приложение на ТСД — пользовательский интерфейс, камера, сканер штрихкодов, локальное хранилище фото.
- Apache NIFI — обработка и маршрутизация обмена между приложением и 1С.
- 1С — основная система учёта, доработана под внешние обмены.
- PostgreSQL — внешняя БД, связанная с 1С через внешние источники данных.
- HTTP-сервисы — универсальный канал обмена.
Анализ и проектирование
На старте проекта мы провели:
- Интервью с портовыми операторами и аналитиками.
- Анализ бизнес-процессов по погрузке и разгрузке судов.
- Обследование возможностей текущей системы на базе 1С.
Результаты анализа:
- Необходима быстрая авторизация на ТСД.
- Требуется фиксация этапа рейса (погрузка/разгрузка).
- Для каждого рейса — список грузов с планом и фактом.
- Фактическое количество должно вноситься вручную или через сканирование.
- Фотографии груза должны храниться на устройстве и быть доступны для просмотра.
- Обмен с центральной базой должен быть надежным и настраиваемым по объему.
Архитектура решения
Технологический стек:
- 1С (центральная учетная система)
- Apache NIFI (обработка и маршрутизация данных)
- HTTP-сервисы (взаимодействие между ТСД и 1С)
- PostgreSQL (внешняя БД, подключаемая через внешние источники данных)
Ключевые особенности архитектуры:
- Порционный обмен данными между мобильным приложением и 1С.
- Возможность настройки параметров порций (кол-во сообщений и размер в байтах).
- Хранение фотографий локально на ТСД.
- HTTP-интерфейсы для авторизации, получения рейсов, отправки фактов.
Архитектура обеспечивала масштабируемость, отказоустойчивость и модульность, что особенно важно для систем, работающих в условиях с переменным качеством связи (например, на территории порта).
Реализация мобильного приложения для ТСД
Основной сценарий работы:
- Пользователь авторизуется на устройстве.
- Выбирает рейс корабля и его этап.
- Получает список грузов с плановыми значениями.
- Вносит фактические значения вручную или через сканер.
- Делает фотографию при необходимости.
- Данные по завершению этапа отправляются в центральную систему.
Особенности интерфейса:
- Простота и минимализм — всё для ускорения работы в полевых условиях.
- Возможность работы с камерой и сканером.
- Поддержка офлайн-режима с буферизацией данных.
Настройка обмена и доработка backend
Что сделано:
- На стороне 1С реализованы доработки внешнего API для взаимодействия с NIFI.
- Доработан механизм подключения к PostgreSQL через внешние источники данных.
- Добавлены функции в PostgreSQL, определяющие типы данных, обмениваемых в сообщениях.
- Настроена маршрутизация и обработка потоков данных в NIFI.
- Реализован контроль ошибок и повторных попыток при обмене.
Порционный обмен позволил:
- Минимизировать нагрузку на сеть.
- Управлять производительностью в зависимости от условий.
- Гибко адаптироваться под изменения в процессе (увеличение кол-ва грузов, изменение объема).
Тестирование и внедрение
- Проведено модульное и интеграционное тестирование всех сценариев.
- Тестировщик и архитектор проекта — Анна Кошкарева — курировала и валидацию бизнес-логики, и приемку.
- Запущено пилотное внедрение в одном из портов, собран фидбэк от операторов.

3. Результаты сотрудничества
- Снижение времени обработки одного рейса на 25%.
- Внедрена система фотофиксации, что повысило контроль качества и ответственности.
- Повышена надёжность обмена данными даже в условиях слабого сигнала.
- Гибкая настройка обмена обеспечила удобство масштабирования.
- Возможность подключения новых баз и адаптации к новым портам без переписывания логики.
Команда проекта
- Программист — Войтишен Тарас
- Архитектор, тимлид, тестировщик — Анна Кошкарева
- Аналитики — внутренняя команда заказчика
Работа велась итеративно, с ежедневной синхронизацией и тесным взаимодействием между бизнесом, аналитикой и разработкой.
4. Заключение
Проект стал отличным примером того, как можно объединить классические корпоративные системы (1С), современные подходы к потоковой обработке данных (NIFI) и мобильные технологии для реального бизнеса. Мы не просто автоматизировали учёт, мы повысили качество логистики и контроль на этапе, где раньше было много "ручной" неопределенности.
Система уже используется в реальной эксплуатации и может быть масштабирована на другие логистические узлы.