Задача:
Обеспечить работу торговых представителей на мобильных устройствах с использованием приложения удовлетворяющего следующим требованиям:
- Приложение должно быстро загружать из базы остатки, цены, дебиторку.
- Обработка заявок и обратный ответ должны происходить в режиме реального времени.
- Приложение должно уметь работать со всем прайсом, а именно (~20 000 позиций номенклатуры и ~150 000 характеристик)
- Приложение должно уметь отображать изображения товаров (~18 000 изображений)
- В приложении должна существовать удобная и эргономичная форма подбора товаров
- Приложение должно контролировать местоположение агентов
- В приложении должна быть возможность контроля просроченной задолженности клиентов.
А так же перечень сугубо индивидуальных требований клиента, которые не вписывались в возможности ни одного существующего на сегодняшний день готового решения.
Если нет готового решения удовлетворяющего ВСЕ требования клиента, решение очевидно – необходимо разработать индивидуальное решение для конкретного заказчика. Но что делать, если бюджет и сроки весьма сжаты? Вот тут-то мы и подошли к вопросу о технологии.
Технология:
Писать приложение совсем с нуля дело не простое и не быстрое, но если взять платформу адаптированную под написание подобных приложений – дело пойдет значительно быстрее, именно поэтому наш выбор пал на относительно новую технологию разработки приложений для мобильных устройств от фирмы 1С «Мобильная платформа 1С:Предприятия 8».
Не буду вдаваться в подробности описания мобильной платформы от 1С, т.к. на данном ресурсе их уже бесконечно много, расскажу об опыте разработки мобильного приложения на данной платформе.
Покопав демонстрационные приложения на новой платформе – мне понравилось все, мучал только один вопрос, а сможет ли эта платформа обработать такие объемы информации и на сколько быстрым будет процесс обмена с центральной базой. Именно это первым делом я и решил выяснить.
Чтобы не изобретать велосипед, за основу приложения был взят демо-пример mademo.cf, поставляемый фирмой 1С со своей мобильной платформой. Вариантов обмена мобильного приложения с центральной базой не мало, но т.к. стояла задача получения ответа realtime обмен с базой было решено выполнять с использованием web сервисов. В указанном демо-примере обмен уже был реализован именно таким образом. Минус заключался в том, что обмен с центральной базой выполнялся объектами с идентичными метаданными. В моем же случае в мобильной базе состав реквизитов был существенно урезан, поэтому пришлось доработать процедуры выгрузки/загрузки данных с использованием конвертации данных. Попытка выгрузки всех необходимых объектов привела к тому, что скорость обмена не удовлетворила бы не только заказчика, но и меня, поэтому было принято решение - все необходимые для работы на мобильном устройстве данные по максимуму помещать в регистры сведений и в таком виде выгружать их на устройства. Используя данную модель хранения данных получилось ускорить процесс выгрузки/загрузки данных в СОТНИ раз. Первая маленькая победа, все необходимые данные для работы агентов попали в мобильное устройство. Теперь мне предстояло проверить, как быстро сможет мобильная платформа эти данные отображать и обрабатывать. Набросав примитивную форму подбора я убедился в том, что платформа успешно справилась и с этой задачей. Осталось дело за малым, набросать нужные формы и заложить в них необходимый требуемый заказчику функционал, кстати стоит отметить, что демо пример от 1С содержит примеры всех особенностей работы мобильной платформы – это и работа с мультимедиа, с геопозиционированием, а так же с функциями мобильного устройства (набор номера из приложения 1С). При этом данные возможности постоянно расширяются с появлением свежих платформ.
Из особенностей, которые хотелось бы отметить, я выделю следующее:
- Разработка ведется в привычном Конфигураторе 1С, не пришлось тратить время на изучение новых средств разработки.
- В возможности платформы зашит большой функционал учитывающий работу на мобильном устройстве.
- Очень удобное обновление конфигурации мобильных устройств. Буквально 1 клик и на всех устройствах уже новая конфигурация, что очень сильно разгружает отдел ИТ.
- Возможность использования web сервисов для обмена.
- Скорость работы с большими объемами данных (при грамотной организации модели данных).
Скорость работы нашего приложения полностью удовлетворила клиента, так что поставленную цель можно считать достигнутой. Первый обмен с центральной базой выполнялся через интернет соединение и занял ~10 минут (8 из которых заняла загрузка изображений), дальнейшие регулярные обмены занимают 10-30 секунд, что в большинстве своем зависит от качества интернет соединения. В ближайших планах - написание нового функционала для реализованного приложения. Реализация данного решения заняла порядка 50 часов, при условии, что пришлось потратить значительную часть времени на некоторые эксперименты, связанные с большим объемом данных. По финансовым затратам разработка нового приложения оказалась ниже, чем оцениваемые клиентом затраты на покупку адаптированных решений, плюс данное решение всегда можно доработать или поправить с весьма незначительными трудозатратами.
Общее впечатление от разработки мобильного приложения весьма положиельное - это легко, быстро и весьма актуально. По факту можно вынести любой функционал на мобильные устройства сотрудников всех направлений, от исполнителей до административного персонала.