Комментарии 20
Во-первых спасибо за статью. Читаю уже третью подряд историю о внедрении этих девайсов в Китае и наблюдается некоторая приемтсвенность между ними. Потратить 10 мультов на приложения, которое проблематично раскидать по рынку, чтобы сэкономить 5 на готовом. Или 12?
Спасибо за комментарий! Приятно видеть, что тема находит отклик. Понимаю, что вложения в разработку собственного приложения могут вызвать вопросы.
Однако мы потратили меньше, чем вы подумали, и с учетом того, что установки будут продолжаться, экономия на лицензиях только увеличится. С точки зрения экономики проект уже окупился.
Но главное, что мы вышли за рамки ограничений стороннего решения. Теперь операторы могут спокойно работать с огромными объемами данных даже без интернета. Приложение легко подстраивается под наши нужды, и мы полностью контролируем процесс разработки и поддержки, внедряя новые функции именно тогда, когда они нужны. Плюс, наши сотрудники могут работать с одним документом на нескольких устройствах одновременно, что сильно упрощает и ускоряет работу.
Почему не "1С: Мобильная платформа"?
Какой протокол обмена с 1С?
Как Архитектор 1С на данном проекте, отвечу на ваши вопросы.
Почему не "1С: Мобильная платформа"?
Рассматривали вариант с "1С: Мобильная платформа". Однако, после консультаций с профильными компаниями, получили информацию, что в реализации с 1С могут быть проблемы с железом/драйверами. Даже если бы проект был бы успешно реализован на имеющемся оборудовании, мы не могли гарантировать работоспособность решения, при смене оборудования.
Какой протокол обмена с 1С?
Бэк-энд для мобильного приложения полностью был написан на 1С. На стороне 1С развернули HTTP-Сервис, и разработали REST API с нуля. Получается HTTP, формат сообщений JSON.
Стандартные решения 1С настолько "прекрасны", что лучше их не использовать, понятно.
Не постесняюсь спросить, а вообще в целом у вас 1С Управление Торговлей стоит? Сколько там осталось от дефолтной конфигурации, половина наверно? Или уже чисто сама 1С платформа для вас как фреймворк стала?
Мы не используем 1С: УТ, но используем 1С: ERP. Сама ERP у нас переписана примерно на 10%, однако, мы не используем весь ее функционал. Более того, некоторая функциональность ERP у нас вынесена в отдельные конфигурации, например, маркировка товаров.
Стандартные решения 1С прекрасны... но они не всегда подходят для больших объемов данных.
А почему не использовали objectBox? Там ускорение при обмене было бы на порядки.
И чем выводили большие таблицы? Плагин использовали внешний или сами писали виджеты?
В любом случае, основным ограничением для нас оставалась скорость передачи данных по интернет-каналам. Откровенно говоря, мы выбрали SQLite, потому что были уверены в его надежности и стабильной работе. ObjectBox также мог бы стать хорошим вариантом, но мы сделали ставку на SQL-запросы.
По поводу таблиц- собирали виджетами. Сторонние пакеты для UI стараемся не использовать.
А что за открытие со сжатием трафика, данные не умели ранее сжиматься на уровне протокола самим вебсервером?
( Zip может быть не самым оптимальным вариантом на ваших данных, бинарный json может тоже дать буст в размере)
Согласен, что такой подход очень эффективный. Но Dart реализации по работе с BSON которые я видел оставляли желать лучшего (и поддержка либ не особо активна).
А натив? У вас тем более одна платформа... можно сделать тест вне платформы по объему и тест другого архиватора не zip, может быть на ваших данных лучше 7z архиватор. Буст может быть 50% Если, конечно, проблема с трафиком такая уж... существенная
Можно по подробнее про состав команды? По какой методологии работали? Кажется, что 5 человек очень компактно. И еще, если есть такое, то как происходит расширение новыми образцами ТСД?
Состав команды 6 человек:
Директор по инновациям, взял на себя функции РП
Бэк на 1С, два человека: Архитектор + Разработчик
Мобильное приложение на Flutter, два человека: Архитектор + Разработчик
Аналитик, на проекте был только один
Методология проекта - классический Agile, с недельными спринтами. Спроектировали MVP версию, внедрили, далее итеративно расширяли функционал.
У нас тоже скромная фирма на 40 магазинов не нашла нормального решения под 1С, еще и 7.7. Решил попробовать на джаве накалякать что то.
В итоге сделал андроид приложение, где есть:
Новостная лента
Каталог товаров магазина
Каталог заказов магазина
Создание ПН по заказу
Печать ценников на термопринтере
Перемещения товаров на склад с ТЗ
Инвентарки обычные и марочные
Создание ПН обычных, или ЧЗ с онлайн проверкой считываемых марок
Сборка РЦ товара
Постановка пива на кран в ЧЗ
Списание сыра в ЧЗ
Автономная работа с обновлением данных по запросу
Проверка марок в ЧЗ через API
Обновления приложения через локальный сервер, без тех поддержки(ну как поддержки, меня)
Поддержка тем и весь дизайн в стиле Material U
Все хранится в руме.
Правда связь с 1С по готовым справочникам через файлы json...
Но я писал и обучался один( А вы молодцы, команда. Успехов вам
Скрытый текст


А разве вместо того чтобы оптимизировать json, не проще использовать messagePack, который легче в 3-5 раз?
То есть сообщение размером в 31 мегабайт сжалось до 4.7 мегабайт
Сколько записей в сообщении? Как быстро обрабатывается сообщение на ТСД (распаковка + запись в БД)? Обмен происходит в фоновом режиме или пользователь ждет?
Как мы создали приложение для ТСД на Flutter с интеграцией 1С и внедрили его на 200 фабриках в Китае