Синхронизация данных — это процесс передачи информации между мобильным приложением PharmIT CRM и backend-сервером. Когда медицинский представитель работает в приложении, он создаёт визиты, начинает и закрывает их, заполняет отчёты, делает фото, фиксирует GPS, добавляет комментарии и может создавать или изменять некоторые объекты. Все эти действия должны попасть на сервер, чтобы они стали доступны в Web CRM, отчётах, KPI, GPS-отчётах и аналитике.
Синхронизация особенно важна в мобильной CRM, потому что медицинский представитель часто работает в полях, где интернет может быть нестабильным. Приложение может сохранять часть данных локально на устройстве, а затем отправлять их на сервер, когда подключение к интернету восстановится.
Проще говоря, синхронизация отвечает за то, чтобы всё, что пользователь сделал в мобильном приложении, корректно попало в общую систему CRM.
Синхронизация нужна для того, чтобы данные из мобильного приложения не оставались только на телефоне пользователя. Пока данные не синхронизированы, руководитель, региональный менеджер или администратор может не видеть их в Web CRM.
Например, медицинский представитель без интернета закрыл визит, добавил комментарий, сделал фото и зафиксировал GPS. В мобильном приложении пользователь может видеть, что визит завершён. Но в Web CRM этот визит может ещё не отображаться как завершённый, потому что данные не отправлены на сервер.
После успешной синхронизации визит, отчёт, фото и GPS становятся доступными в системе. Только после этого они могут использоваться в отчётах, KPI, графиках, GPS-аналитике и проверке активности.
Синхронизация может происходить автоматически или запускаться пользователем вручную, если приложение показывает соответствующую кнопку или окно.
Обычно синхронизация происходит в следующих случаях:
Если пользователь работал без интернета, данные сначала сохраняются локально. Когда интернет появляется, приложение может показать кнопку или уведомление о необходимости синхронизации. В такой ситуации пользователь должен нажать синхронизацию и дождаться завершения процесса.
Когда пользователь выполняет действия без интернета или при слабом соединении, данные попадают в очередь синхронизации. Это временное хранилище внутри приложения, где сохраняются несинхронизированные действия.
В очередь могут попадать:
Очередь синхронизации нужна для того, чтобы пользователь мог продолжать работу даже при отсутствии интернета. Приложение не теряет действия, а сохраняет их до момента отправки на сервер.
Визиты синхронизируются поэтапно. Система должна передать на сервер не только сам визит, но и его состояние.
Например, если пользователь создал визит оффлайн, затем начал его, потом закрыл и добавил отчёт, то приложение должно отправить все эти данные в правильной последовательности.
Логика может быть такой:

Если часть данных не отправилась, визит может отображаться некорректно. Например, в мобильном приложении он завершён, а в Web CRM ещё не обновился. Поэтому при проблемах важно проверять, прошла ли синхронизация полностью.
Отчёт по визиту отправляется на сервер после заполнения и завершения визита. В отчёт могут входить KPI, SKU, комментарии, дефектура, остатки, фото, презентации, GPS и другие данные в зависимости от настроек проекта.
Если пользователь закрыл визит без интернета, отчёт сохраняется локально. После восстановления подключения он отправляется на сервер.
До синхронизации отчёт может быть виден только на устройстве пользователя. В Web CRM он появится только после успешной передачи данных.
Если отчёт не отображается у руководителя, сначала нужно проверить:
Фотоотчёты могут занимать больше времени при синхронизации, чем обычные текстовые данные. Это связано с тем, что фотография является файлом и требует стабильного интернет-соединения.
Если пользователь сделал фото без интернета, оно сохраняется локально вместе с визитом. После восстановления интернета фото должно отправиться на сервер.
Если интернет слабый, фото может отправляться долго или не отправиться с первого раза. В таком случае нужно повторить синхронизацию при стабильном подключении.
Важно не удалять приложение и не очищать память приложения, если внутри есть несинхронизированные фото. Иначе локально сохранённые данные могут быть потеряны.
GPS-данные также могут сохраняться локально, если интернет отсутствует. Приложение фиксирует координаты пользователя и отправляет их на сервер после восстановления соединения.
GPS-история может включать точки маршрута, координаты при визите и данные фактического перемещения. Эти данные используются в GPS-отчёте, маршрутах и анализе план-факт.
Если GPS-данные не появились в Web CRM сразу, это может быть связано с тем, что они ещё не синхронизированы. Также нужно учитывать, что GPS может записываться с задержкой или зависеть от разрешений телефона.
Когда интернет появляется снова, приложение должно перейти из оффлайн-режима в онлайн-режим. Пользователь может увидеть уведомление, кнопку или окно синхронизации.

В этот момент важно не закрывать приложение сразу. Лучше дождаться, пока данные отправятся на сервер. Особенно если пользователь выполнял много действий без интернета: закрывал визиты, делал фото, фиксировал GPS или создавал объекты.
После успешной синхронизации данные становятся доступными в Web CRM. Руководитель сможет увидеть визиты, отчёты, фото, GPS и обновлённые показатели.
В некоторых случаях приложение может отправлять данные автоматически, когда появляется интернет. В других случаях пользователю нужно нажать кнопку синхронизации вручную.
Если приложение показывает кнопку синхронизации, её нужно нажать. Нельзя считать, что данные уже ушли на сервер только потому, что интернет появился. Нужно дождаться завершения процесса.
Если после синхронизации данные всё равно не появились в Web CRM, возможно, часть данных не обработалась или возникла ошибка. В таком случае нужно проверить статус визитов и обратиться в поддержку.
Данные могут не сразу появляться в Web CRM по нескольким причинам.
Во-первых, пользователь мог работать без интернета, и данные ещё находятся на телефоне.
Во-вторых, синхронизация могла не завершиться.
В-третьих, фото или GPS могут отправляться дольше, чем текстовые данные.
В-четвёртых, в Web CRM может быть выбран неправильный период или фильтр.
В-пятых, визит мог остаться активным, а не завершённым.
Поэтому если руководитель не видит визит, сначала нужно проверить не сам Web CRM, а мобильное приложение: статус визита, наличие интернета, очередь синхронизации и сообщение об ошибке.
При синхронизации могут возникать следующие проблемы:
В таких случаях сначала нужно проверить интернет, затем повторить синхронизацию. Если ошибка сохраняется, нужно обратиться в поддержку.
Если в приложении есть несинхронизированные данные, нельзя:
Такие действия могут привести к потере локальных данных, которые ещё не ушли на сервер.

Если синхронизация не проходит, в поддержку желательно передать:
Чем точнее пользователь опишет проблему, тем быстрее можно будет понять, где ошибка: в интернете, устройстве, визите, фото, GPS, очереди синхронизации или серверной обработке.
Синхронизация данных — это ключевой процесс мобильной CRM. Она передаёт визиты, отчёты, фото, GPS, комментарии и другие действия пользователя с телефона на сервер. Если данные не синхронизированы, они могут быть видны только в мобильном приложении и не отображаться в Web CRM. После работы без интернета пользователь должен обязательно выполнить синхронизацию и убедиться, что данные успешно отправлены.