Мобильная разработка в среде 1С — сложности и решения
Есть мнение, что приложения, написанные для 1С - тяжёлые, неповоротливые и с неудобным интерфейсом. Отчасти это действительно так - изначально они ориентировались на узких специалистов и бухгалтеров. Для них важно было реализовать все нужные для работы функции, а скорость работы и удобство уходили на второй план. С мобильными приложениями такой подход чаще всего не работает. Всё дело в том, что смартфон — инструмент, который всегда под рукой и часто используется на ходу. Главное в таком приложении - скорость решения задач и ориентирование на самые часто используемые функции.
Я руковожу разработкой мобильного приложения, которое по сути является клиентом для полноценной 1С-системы — iCRM, - и хочу рассказать о том, как за два года мы продвинулись от концепта до полноценного приложения. Но перед этим хочу прояснить одну вещь. Без неё будет сложно понять, почему мы сделали так, а не иначе.
Отталкиваемся от сценариев
При разработке любого приложения можно идти двумя путями: от функций или от сценариев.
Если пойти по функциональному пути, то в нашем случае есть опасность просто закопаться в нюансах платформы 1С и не выпустить приложение вообще никогда. Например, чтобы реализовать на телефоне полноценную работу с контрагентами и всеми связями с ними, нужно написать гигантское количество строк кода для обеих платформ. Напомню, что мы говорим про нативное приложение, а не про тонкий клиент в веб-оболочке.
Поэтому мы выбрали второй путь — взять самые типовые сценарии использования CRM “на ходу” и реализовать их в приложении. Конечно, при таком подходе мы теряем в возможностях по сравнению с настольными решениями, но это нам сейчас и не нужно. Наша цель - сделать так, чтобы пользователь в дороге мог быстро решить свои самые частые задачи, а остальное он сделает, когда доберётся до компьютера.
Основные сценарии
Мы проанализировали, какие запросы к базе клиенты делают чаще всего, и вот что у нас получилось:
- Организация доставки товаров, когда экспедитору приходит задача с адресом и товаром
- Задача по доставке документов и их подписанию
- Выезд менеджера к клиенту
- Напоминание о необходимых работах
- Организация базовой тех. поддержки внутри компании.
Если реализовать эти сценарии внутри приложения, то им сразу можно пользоваться в большинстве случаев. Дело в том, что, например, напоминание о необходимых работах, как и их список - это универсальная сущность. Это может быть и список работ в автосервисе, и чек-лист при установке сложного оборудования, и план поддержки клиента при продаже или обслуживании. Вариантов может быть много, поэтому этот сценарий используется большинством клиентов.
Руководитель и менеджер
Ещё одна популярная вещь - постановка задач от руководителя подчинённым. Здесь можно внести базовые вещи, чтобы задача уже сразу пошла в работу, а остальное, при необходимости, заполняется с компьютера. Смысл этого сценария - ускорить постановку задач.
Менеджер, в свою очередь, может видеть все свои задачи не только в рамках клиента, но и списком или в привязке к календарю. Это помогает быстро просмотреть все задачи на день и выбрать самые важные из них. С другой стороны, здесь пока нет полноценного механизма управления назначенными задачами, потому что сценарий больше про информирование, а не про управление задачами.
Работа с Интересами
В терминологии 1С «Интерес» - это вся информация по сделке или договорённостям с клиентом. Это может быть список задач, даты встреч, письма, созвоны, файлы, счета, коммерческие предложения и так далее. Интерес нужен для того, чтобы менеджер видел всю информацию по сделке в одном месте.
Один из основных способов работы с Интересом - отмечать и выполнять действия по сделке: отправить письмо, выставить счёт, подготовить коммерческое. Именно это мы реализовали в первую очередь, чтобы менеджер на встрече с клиентом или сразу после неё мог отметить это в базе и сразу сделать нужные для сделки действия.
Дополнительный бонус в том, что для полной реализации сценария мы сделали напоминания. Если менеджер забудет вовремя отправить письмо, приложение напомнит ему об этом. Технически это реализовать несложно, но удобство повышается в разы.
Отчёты, товары и клиенты
Мобильное приложение - не лучший инструмент для полноценной работы со сложными отчётами, поэтому мы опять же оттолкнулись от сценариев и реализовали три самых частых отчёта:
- воронку продаж
- виджеты по состояниям Интересов
- календарь загруженности менеджера и отчётность по нему
Также в приложении можно смотреть номенклатуру и видеть всех клиентов - это базовая потребность в любом сценарии, поэтому её сделали сразу. Полноценное редактирование номенклатуры делать пока не стали, потому что это отдельный сценарий, который далеко не на первом месте среди остальных при работе с базой вне офиса. Поэтому мы ограничились просмотром дополнительных реквизитов - причём, любых, указанных в карточке клиента, ведь просмотр информации - самый частый сценарий использования подобного мобильного приложения.
Надеюсь, эта статья поможет вам видеть разницу между функциональными и сценарными приложениями, и вы сможете лучше понимать, почему любое приложение сделано так, а не иначе. Если есть какие-то вопросы по работе со сценариями в приложениях, буду рад ответить на них в комментариях.
Почему UI выглядит не по эппловски , а как интернет эксплорер 2000 года?
И как с отзывчивостью UI по сравнению с нативным приложением? Вроде Java машина посредником на мобильной платформе 1С