Описание приложения. Настройка механизма синхронизации. Мобильное приложение моби-с для конфигурации управление небольшой фирмой Работа с мобильным клиентом унф

Мобильное приложение 1С:Управление нашей фирмой для мобильной работы может использоваться совместно с настольной (ПРОФ или Базовой ) или облачной версией приложения 1С:Управление нашей фирмой 8 .

Для того чтобы была возможность синхронизировать мобильное приложение с настольной версией необходимо в настольной версии выполнить ряд действий.

Ниже показаны эти действия. Их нужно выполнить на локальном компьютере. В примере рассматривается компьютер, работающий под управлением операционной системы Windows :

  • Необходимо убедиться, что на компьютере установлен и работает веб-сервер Apache или IIS , а Firewall не блокирует входящие подключения на используемый веб-сервером порт (обычно это 80 или 8080). Подробнее о настройке веб-серверов можно ознакомиться в поставляемой к ним документации.
  • Необходимо развернуть настольное приложение 1С:Управление нашей фирмой 8 на вашем компьютере. Рекомендуется использовать последнюю версию настольного приложения. Подойдет Базовая или ПРОФ версия.

    Синхронизация с мобильным приложением будет осуществляться от имени пользователя, у которого имеется доступ к настольному приложению.

    По умолчанию в настольном приложении уже присутствует пользователь Администратор , можно использовать его или завести нового (раздел Администрирование Настройки пользователей и прав Пользователи ), установив минимально необходимые для синхронизации права – Продажи , Закупки и Деньги .

  • Необходимо опубликовать веб-сервис MobileService для обмена данными с мобильным приложением. Эта операция выполняется в конфигураторе настольного приложения 1С:Управление нашей фирмой 8 . Для этого необходимо воспользоваться пунктом из меню Администрирование .


В появившемся окне необходимо задать имя публикации, выбрать используемый веб-сервис, задать каталог публикации и убедиться, что установлены флажки Публиковать Web-сервисы и MobileService .


После ввода имени пользователя и пароля в браузере должна появиться ссылка на WSDL схему.


    В мобильном приложении необходимо ввести адрес, по которому был опубликован веб-сервис, а также имя пользователя и пароль. Адрес должен быть следующего вида http:///[ИмяПубликации] . Если локальный компьютер и мобильное устройство подключены к одной сети, то в качестве IP адреса компьютера используется его локальный IP адрес .

    Если мобильное устройство подключается к центральной информационной базе из другой сети через интернет, то необходимо использовать внешний статический IP адрес компьютера. Данную услугу может предоставить интернет-провайдер. Если по каким-то причинам внешний статический IP адрес использовать нельзя, то можно воспользоваться сервисом 1С:Линк (за исключением пользователей базовых версий, для которых сервис не доступен).

После выполнения вышеприведенных действий настройка синхронизации мобильного приложения с настольной версией приложения 1С:Управление нашей фирмой 8 будет завершена.


← Работа со списком информационных баз
  • Разработка мобильных приложений ,
  • Разработка под Android
  • На примере мобильного приложения «1С:Управление нашей фирмой» (сокращенно УНФ) я хочу показать эволюцию мобильного бизнес-приложения от его возникновения и выхода самой первой версии до сегодняшнего дня. Сейчас у этого приложения более 220 000 скачиваний; приложение бесплатное, но в нем есть платные опции (реализованные через встроенные покупки).


    Первая версия мобильной УНФ была сделана на одной из первых версий в 2012 году. На тот момент уже существовала клиент-серверная конфигурация «1С:Управление небольшой фирмой» (тогда название было таким), программа для автоматизации деятельности небольшой компании – продажи, закупки, база клиентов и поставщиков, управление складом, производство и т.п.

    Как и большинство мобильных приложений, написанных на кросс-платформенной мобильной платформе 1С:Предприятия, мобильный УНФ доступен на iOS, Android и Windows.

    Задача была поставлена так: сделать мобильное приложение, поддерживающее часть сценариев работы «большого» УНФ. Приложение должно уметь работать как автономно, так и синхронизировать данные с «большим» УНФ (далее слово «большой» применительно к клиент-серверной версии УНФ я буду писать без кавычек, чтобы не перегружать текст). В случае работы с большим УНФ должны поддерживаться сценарии «мобильных» сотрудников – торгового представителя, сервисного инженера, продавца.

    Первая версия была создана за 1 человеко-месяц. При создании мобильного приложения часть объектов метаданных (справочники, документы) была реализована на основе объектов большого УНФ. Но часть функциональности пришлось программировать с нуля, например, процесс обмена данными с большим УНФ. Правда, применительно к обмену данными собственно программировать пришлось немного – мы использовали стандартные механизмы платформы (в частности, планы обмена), сводящие написание кода к минимуму.

    Помимо упрощения работы с синхронизацией данных платформа 1С ощутимо облегчает работу по конструированию полнофункционального мобильного приложения, предоставляя разработчику такие компоненты интерфейса, как списки (табличные и иерархические) с возможностью поиска по ним, поля ввода с поиском, таблицы для отчетов, широкий спектр диаграмм, возможность печати на WiFi и Bluetooth принтерах и т.д.

    Особенности мобильной версии

    Есть две основных стратегии выбора функциональности мобильного приложения. Первая – «одно приложение – одна функция». Например, мобильное приложение для приема товара на складе, которое умеет только сканировать встроенной камерой штрих-код товара и отправлять информацию о принятом товаре на сервер. Вторая стратегия - создание мобильного приложения с широкой функциональностью «все в одном». Оба подхода имеют право на жизнь; при написании мобильного УНФ мы выбрали второй подход – наше приложение покрывает много задач своей предметной области и может работать полностью автономно, обслуживая потребности небольшой организации. Еще один плюс такого подхода – пользователь может работать с несколькими взаимосвязанными функциями из одного приложения.

    Мобильный УНФ широко использует функциональность мобильного устройства, в частности:

    • Встроенную камеру устройства можно использовать для фотографирования товара при заполнении карточки товара, для чтения штрих- и QR-кодов
    • Счет на оплату можно отправить клиенту по емейл или через SMS
    • Контрагента можно выбрать из адресной книги мобильного устройства
    • Если у контрагента задан телефон – можно одним касанием позвонить контрагенту или послать SMS, если задан емейл – отправить письмо, если задан адрес – показать его на карте
    • Можно печатать документы на принтерах через WiFi и Bluetooth
    Есть опция бэкапа и восстановления базы мобильного УНФ на Яндекс.Диск и отправка базы по почте.

    Конфигурация мобильного УНФ выглядит достаточно спартански (см. скриншот ниже):

    • 8 справочников (в большом УНФ – 273 справочника)
    • 7 документов (в большом УНФ – 125)
    • 3 журнала документов (в большом УНФ – 24)
    • 3 регистра сведений (в большом УНФ – 357)
    • 4 регистра накопления (в большом УНФ – 64)

    Основные объекты мобильного УНФ

    Но, несмотря на такое небольшое количество прикладных объектов, продукт получился достаточно функциональным.

    Интересная особенность мобильного УНФ – это то, что им зачастую начинают пользоваться люди, до этого про 1С не слыхавшие (да-да, есть в нашей стране и такие), те, которым понадобилось мобильное приложение для ведения учета их маленького бизнеса (например, домашнего крафтинга). Они просто нашли его поиском в Google Play или AppStore, почитали отзывы – и начали работать.

    Автономная работа

    Этот сценарий работы предназначен для совсем маленьких организаций, когда весь учет ведется исключительно на мобильном устройстве. Это может быть, например, «домашний» бизнес – изготовление украшений на дому и их продажа на страничке ВКонтакте. А может быть даже и небольшой магазин – лично видел случай, когда магазин игрушек, специализирующийся на продаже конструкторов Lego, вел учет исключительно на мобильной версии УНФ. Учитывая, что мобильный УНФ умеет печатать на WiFi и Bluetooth принтерах, с его помощью можно решать довольно большое количество задач. Мобильный УНФ поддерживает обработку заказов, ввод приходных и расходных накладных, учет поступления и расход денег.

    Работа в режиме синхронизации с сервером (первые версии)

    В режиме синхронизации с сервером в мобильном УНФ в ранних версиях становилась недоступна учетная функциональность, и работа в нем велась в основном с заказами (прием и выполнение заказов) и сопутствующей этому деятельности (ведение справочников контрагентов, товаров и услуг и т.п.).

    Синхронизировались с большим УНФ справочники товаров и услуг, контрагентов, и заказы.


    Обмен данными мобильного и большого УНФ в первых версиях

    Заказы, введенные с мобильных устройств, попадали в большой УНФ, а при синхронизации попадали на мобильные устройства ответственных за заказы. Документы типа поступлений в кассу, реализации товара и т.п., введенные на мобильных устройствах, уезжали в большой УНФ, но не синхронизировались между мобильными устройствами. Вся работа в мобильном приложении в режиме синхронизации велась в основном вокруг заказов – их принятия и исполнения, полноценный учет на мобильном устройстве при этом не велся, для этого нужно было пользоваться большим УНФ на компьютере.

    Так было в первых версиях, но впоследствии мы изменили ситуацию и расширили список сценариев использования мобильного УНФ, чтобы сделать работу с ним более удобной для пользователей.

    Немного про синхронизацию данных

    Обмен данными между мобильным и большим УНФ идет через веб-сервисы; мобильный УНФ вызывает веб-сервисы, развернутые на стороне большого УНФ. Структуры данных в большом и мобильном УНФ различаются; при проектировании архитектуры мы рассматривали 2 варианта обмена данными:
    1. Создать структуру данных в большом УНФ, дублирующую структуру данных мобильного УНФ, и обмениваться данными с мобильным УНФ «один-в-один». При изменении данных в большом УНФ нужно новые/изменённые данные перенести в эту дублирующую структуру, а после обмена данными с мобильным УНФ – сконвертировать данные, пришедшие с мобильного устройства и размещенные в дублирующей структуре, в формат большого УНФ.
    2. Обмениваться данными непосредственно со структурами большого УНФ, осуществляя конвертацию данных «на лету» по правилам обмена.
    Решили остановиться на втором варианте. Первый вариант, хоть и сулил некоторые преимущества, связанные с простотой собственно обмена данными, плохо обрабатывал ситуацию, когда в новой версии мобильного УНФ менялась (расширялась) структура данных; чтобы обмен данными «один-в-один» продолжал работать, нужно было бы обновлять и серверный, большой УНФ. Что, по многим причинам, было неприемлемо.

    Механизмы обмена данными, реализованные в платформе, берут на себя бОльшую часть работы по формированию пакетов для синхронизации данных, позволяя свести написание кода к минимуму. В процессе обмена используется стандартный механизм платформы 1С:Предприятия – механизм обмена данными ; для каждого мобильного УНФ в большом УНФ создается узел обмена данными, в большом и мобильном УНФ задействуется служба регистрации изменений для отслеживания данных, измененных со времени последней синхронизации и т.д.

    Мобильное приложение инициирует обмен данными, с помощью механизмов платформы формирует пакет обмена (содержащий идентификатор мобильного приложения и данные, обновленные на мобильном УНФ со времени последней синхронизации) и пересылает его в большой УНФ. Исходя из информации в стартовом пакете, большой УНФ готовит для мобильного УНФ данные, измененные в большом УНФ со времени последней синхронизации, и упаковывает их в пакеты. Пакеты в формате XDTO - это объекты метаданных 1С, сериализованные в XML; размер каждого пакета – не более 500 объектов.

    Мобильный УНФ забирает эти данные пакет за пакетом. После загрузки последнего пакета мобильный УНФ начинает обрабатывать полученные данные – проводить документы, записывать справочники и т.д. В случае разрыва связи поддерживается докачка пакетов; механизм докачки мы написали для УНФ самостоятельно (в платформе его нет), но, поскольку мобильный УНФ поставляется в исходных кодах, разработчики могут посмотреть на реализацию механизма и позаимствовать ее для своих приложений.

    Во время первичной синхронизации мобильного УНФ с большим УНФ работать в мобильном УНФ нельзя – появляется модальное окно, показывающее ход процесса. Все последующие синхронизации – фоновые, и не блокируют работу мобильного УНФ.

    Полный список объектов, которыми обмениваются мобильный и большой УНФ:

    • Справочники:
      • Номенклатура
      • Контрагенты
      • Список пользователей
    • Документы:
      • Заказы покупателей
      • Поступление в кассу
      • Расход из кассы
      • Приходная накладная
      • Расходная накладная
      • Производство
    • Регистры (но не полностью все цены, а только основные):
      • ЦеныПоставщиков
      • ЦеныТоваров
    • Сведения об организации:
      • Наименование
      • Информация о налогообложении
    В большом УНФ у товаров есть картинки – изображения собственно товаров. С целью минимизации трафика мы не грузим в мобильный УНФ картинки, они подгружаются по требованию – например, когда мы открываем в мобильном УНФ карточку товара.


    Карточка товара с изображением товара

    Эволюция приложения – развиваем сценарии использования

    Типичная ситуация – бизнес растет, и функциональности мобильного УНФ на одном мобильном устройстве перестает хватать. В бизнесе появляется еще один сотрудник (или сотрудники), и им тоже надо работать с заказами.

    В первых версиях мобильного УНФ сценарий переезда был достаточно прямолинейным – данные, введенные в мобильном УНФ, копировались в базу большого УНФ, и пользователь должен был отныне вести учет на компьютере. Мобильный УНФ в этом случае будет работать в режиме работы с заказами, а вести учет (как на автономной версии мобильного УНФ) на нем уже будет нельзя.

    Это, конечно, было не совсем удобно для конечного пользователя – он уже привык вести учет с мобильного устройства, а тут его принудительно заставляют пересесть за клавиатуру компьютера. Не все будут этим довольны.

    Поэтому мы расширили список сценариев работы мобильного УНФ. В этом нам помогло появление нашего облачного сервиса http://1cfresh.com , основанного на облачной технологии 1cFresh . Появилась возможность размещать большой УНФ в облаке. Мы расписали три сценария использования мобильного приложения по мере роста бизнеса пользователя:

    1. Совсем маленький бизнес. Учет ведется на одном мобильном устройстве.
    2. Бизнес растет – появились сотрудники. Можно поставить мобильный УНФ на мобильные устройства сотрудников. При этом нужно уметь обмениваться данными между мобильными устройствами для синхронизации данных; для этого мы решили использовать не обмен через файлы, а задействовать для синхронизации (а заодно и для бэкапа) версию большого УНФ, расположенную в облаке http://1cfresh.com . При включении этого сценария в облаке http://1cfresh.com создается экземпляр большого УНФ, база которого будет использоваться для синхронизации данных между мобильными устройствами. Использование в таком сценарии одного мобильного устройства – бесплатно, за каждое дополнительное устройство мы берем 75 руб/месяц, использовать в этом сценарии можно не больше трех устройств. При этом пользователям мобильных устройств можно задать предопределенные роли – торговый представитель, сервисный инженер, продавец (возможна также детальная настройка ролей); соответствующим образом будет ограничена функциональность мобильного приложения. Можно также работать через веб-клиент или тонкий клиент с большим УНФ, размещенным в облаке, но функциональность облачного УНФ будет урезана до функциональности мобильного УНФ. Но работать непосредственно в облачном УНФ необязательно – вся работа может вестись только с мобильных устройств.
    3. Бизнес вырос до размера средней фирмы. В этом случае имеет смысл арендовать в облаке полноценную версию большого УНФ, чтобы получить (через веб-клиент или тонкий клиент) дополнительную функциональность - CRM (в планах – включение CRM в мобильный УНФ, но пока доступен только в большой версии), управление складом, расширенное формирование цен, возможность работы с банками и . В этом случае количество мобильных устройств, работающих с большим УНФ, не ограничено (за каждое устройство взимается дополнительная плата согласно тарифу , как за одно рабочее место; 1 лицензия на УНФ во Фреше или на «коробочный» УНФ дает право бесплатного пользования и 1 мобильным приложением).

    Опыт монетизации приложения

    Мобильное приложение УНФ, как я уже писал – бесплатное. Некоторое время назад мы решили монетизировать наше приложение (с помощью функциональности встроенных покупок, реализованной в мобильной платформе 1С:Предприятия версии 8.3.8), продавая дополнительную функциональность – производство, и возможность синхронизации с дополнительными мобильными устройствами.


    Покупка функциональности «Производство» - разовая, а возможность синхронизации с дополнительными мобильными устройствами оформлена как подписка, которую нужно продлевать каждый месяц. Интересно, что уже через 3 недели после добавления функциональности покупок мобильный УНФ попал в топ 15 Google Play по продажам приложений для бизнеса.

    Заключение

    Мобильный УНФ – сравнительно небольшой (с точки зрения объема исходного кода), но довольно популярный продукт. Надеемся, рассказ о его эволюции будет полезен создателям мобильных end-user продуктов как на технологиях 1С, так и на других средствах разработки.

    Нелишним будет напомнить, что на мобильной платформе 1С можно делать приложения, взаимодействующие не только с 1С-серверным backend-ом; протоколы, используемые для обмена данными в мобильных приложениях на платформе 1С – платформенно-независимые (web- и HTTP-сервисы, поддержка XML и JSON и т.п.). Так что если вам нужно быстро и динамично развивать кросс-платформенный (Android, iOS, Windows) мобильный клиент, причем с возможностью офлайн работы без постоянного подключения к Интернет для вашего бизнес-приложения, то мобильная платформа 1С вполне может быть оптимальным выбором для вас.

    В эпоху современных технологий возможность управления компанией с любой точки мира просто необходимо. Именно поэтому мобильное приложение «1С: Управление нашей фирмой» (УНФ) пользуется большой популярностью, его скачали более 220 тысяч раз. В статье мы расскажем о том, как появилось приложение, развивалось и что собой представляет на данный момент.

    В эпоху современных технологий возможность управления компанией с любой точки мира просто необходимо. Именно поэтому мобильное приложение «1С: Управление нашей фирмой» (УНФ) пользуется большой популярностью, его скачали более 220 тысяч раз. В статье мы расскажем о том, как появилось приложение, развивалось и что собой представляет на данный момент.

    Впервые мобильное приложение было предложено пользователям в 2012 году, оно было выполнено на мобильной платформе «1С: Предприятия». УНФ успешно функционирует на основных операционных системах: Android, iOS и Windows.

    Перед разработчиками мобильного приложения была поставлена следующая задача: разработать приложение, которое способно поддерживать основные возможности клиент-серверной версии УНФ. Мобильное приложение может работать самостоятельно, а может синхронизироваться с клиент-серверной версии (в этом случае должна осуществляться поддержка сценариев сотрудников мобильной версии).

    Первая мобильная версия УНФ была разработана за один месяц. Некоторые объекты метаданных создавалась на основе клиент-серверной версии УНФ. Часть функций нужно было разрабатывать с нуля. Многие компоненты интерфейса были взяты разработчиками с платформы 1С, к примеру, табличные и иерархические списки, отчетные таблицы, различные виды диаграмм и др.

    Мобильная версия и ее особенности

    Существует два подхода к разработке мобильного приложения . В соответствии с первым, у каждого приложения своя функция. Например, приложение, функция которого – сканирование штрих-кодов, используется при приеме или отгрузке товара. Второй подход предполагает создание полифункциональных приложений. При создании УНФ разработчики опирались именно на принципы второго подхода. Поэтому мобильное приложение способно выполнять многие функции, тем самым предоставляя возможность управления небольшой компанией.

    Мобильное приложение активно использует функции мобильного телефона.

    • Камера используется для чтения QR-кодов и штрих-кодов.
    • Сервис SMS и электронная почта поможет в отправке сообщений или счетов клиенту.
    • Отправка писем или совершение звонков контрагенту осуществляется в один клик при условии, что задан номер телефона или адрес электронной почты.
    • С помощью WiFi и Bluetooth можно отправлять на печать документы.

    В мобильном приложении есть функция бэкапа, а также возможность восстановления базы мобильного УНФ на Яндекс.Диск и отправка базы по е-майл.

    Приведем некоторые характеристики мобильного приложения. В скобках для сравнения приведены характеристики большой версии УНФ:

    • восемь справочников (273);
    • семь документов (125);
    • три журнала документов (24);
    • три регистра сведений (357);
    • четыре регистра накопления (64).

    Как видим, прикладных объектов немного, но это никак не сказывается на функциональности УНФ. Простота и функциональность приложения привлекает начинающих пользователей, которые зачастую даже не работали с 1С. Мобильное приложение бесплатно (за исключением некоторых специализированных функций) и доступно для скачивания в Google Play и AppStore. Это еще одна причина, почему приложение популярно среди пользователей.

    Работа в автономном режиме

    Ведение бизнеса исключительно с использованием мобильного приложения, без привязки к 1С возможна и даже удобна. Правда, такой вариант подходит совсем небольшим компания или индивидуальным предпринимателям, например, ремесленникам, которые продают свою продукцию посредствам социальных сетей, или владельцам небольших магазинчиков, реализующих однотипный товар. Как говорилось выше, с помощью мобильного УНФ можно решать основные задачи: учет товара, обработка заказов, отправка счетов и даже печать документов посредством WiFi и Bluetooth.

    Первые версии УНФ

    Режим синхронизации с сервером

    Первые версии мобильного приложения УНФ позволяли комфортно осуществлять работу с заказами и их сопровождением, к примеру, управление справочниками товаров, услуг, контрагентов. Но в ранних версиях отсутствовала учетная функциональность. Синхронизация с клиент-серверной версией УНФ была возможна только в функции справочников и заказов.

    Функция обмена данными с большим УНФ

    Расскажем, как осуществлялся обмен данными с большим УНФ. Например, заказы вводились в мобильную версию, затем синхронизировались с УНФ, а затем попадали на мобильные приложения тех, кто назначен ответственным за тот или иной заказ. А вот документы, такие как поступление в кассу, реализация товаров, только загружались в УНФ, но обмен ими при синхронизации мобильных устройств не осуществлялся. То есть первые версии мобильной УНФ были ориентированы на работу с заказами, а вот полноценный учет можно было осуществлять только на компьютере в клиент-серверной версии УНФ.

    Не слишком удобно, правда? Именно поэтому разработчики учли эти недостатки в более поздних версиях, что позволило расширить список функций и улучшить качество работы с мобильным приложением.

    Немного о синхронизации данных

    Обмениваться данными позволяет веб-сервис, развернутый в клиент-серверном варианте УНФ. Этот веб-сервер вызывается при необходимости мобильной версией. А так как структура данных отличается в версиях УНФ, возник вопрос, каким образом будет осуществляться обмен данными. Было предложено два варианта.

    Первый предполагал создание структуры в большом УНФ, которая дублировала бы структуру мобильной версии, в этом случае обмен данными был бы «один-в-один». После изменения данных в клиент-серверном варианте они переносятся в дублирующуюся структуру, затем происходит обмен данными с мобильной версией, а дальше – конвертация полученной информации в «мобильном» формате опять в формат клиент-серверного УНФ.

    Второй вариант позволяет осуществлять обмен данными со структурами клиент-серверного УНФ, конвертируя их по правилам обмена.

    Оценив все плюсы и минусы обоих вариантов, было решено работать по второму варианту. Первый же, несмотря на преимущества в виде простоты обмена данными, плохо работал при изменении структуры данных. А обновлять серверный вариант для реализации принципа обмена «один-в-один» каждый раз проблематично.

    Формированием пакета синхронизации данных преимущественно занимаются заложенные в платформе механизмы по обмену данными, поэтому написание кода заняло минимум времени. В основе функции обмена данными лежит механизм 1С:Предприятие. В клиент-серверном варианте УНФ для всех мобильных версий создается узел обмена данных, а служба регистрации изменений отслеживает все преобразования данных.

    При обмене данных мобильное приложение, используя механизмы платформы, создает пакет информации и передает его в клиент-серверный УНФ. Учитывая данные из стартового пакета, клиент-серверная версия УНФ готовит к передаче в мобильную версию информацию, которая была изменена в большой УНФ после последней синхронизации. Данные передаются пакетами в формате XDTO (данные 1С, которые были сериализованы в XML). Размер каждого пакета не должен превышать 500 объектов.

    Пакеты передаются в мобильную версию друг за другом. Обработка данных начинается только после того, как будет получен последний пакет. Если во время передачи пакетов связь была прервана, данные будут переданы после восстановления связи благодаря механизму докачки, который, кстати, был дописан разработчиками специально для мобильной версии.

    Стоит отметить, что работать в мобильном УНФ нельзя только во время первой синхронизации, об этом вам напомнит модальное окно, в котором можно следить за ходом процесса синхронизации. Последующие синхронизации работе с мобильным УНФ никак не мешают.

    Данные, которыми могут обмениваться мобильная и клиент-серверная версии УНФ:

    • справочники;
    • документы;
    • регистры (только основные цены поставщиков и товаров);
    • информация об организации.

    Карточка товара в клиент-серверной версии в большинстве случаев содержит картинки. Для того чтобы не тратить без нужды трафик, в мобильной версии картинки загружаются при открытии карточки товара.

    Сценарии использования мобильного приложения

    Пользователи со временем начинают замечать, что функций мобильного приложения уже недостаточно. Выход был один – переезжать с мобильной версии на клиент-серверную, возможности которой гораздо шире. Первые версии мобильной версии не предоставляли пользователю выбор: после переноса всей информации в клиент-серверную, в мобильной версии оставалась только работа с заказами, все остальные операции осуществлялись только в большой версии. Этот вариант устраивал далеко не всех, ведь ощутив свободу при использовании мобильной версии, пользователь с трудом пересаживался за стационарный компьютер.

    Разработчики исправили положение с помощью облачного сервиса http://1cfresh.com , который был основан на облачной технологии 1cFresh . Теперь клиент-серверную версию можно было разместить на облачном сервере без привязки к стационарному.

    Давайте рассмотрим варианты использования мобильного приложения.

    1. Небольшой бизнес управляется с помощью мобильного приложения.

    2. Небольшой коллектив . Каждому сотруднику устанавливается мобильное приложение. С его помощью будет осуществляться обмен данными во время синхронизации. Обмен данными осуществляется не через файлы, а посредством облачной версии клиент-серверной УНФ. При использовании это функции в облаке создается еще одна версия УНФ, которая и будет использоваться при синхронизации данных посредством мобильных устройств. Такой способ обмена данных бесплатный при использовании одного мобильного устройства, за использование еще одного или двух придется немного доплатить. Максимальное количество устройств не должно превышать цифру три. Пользователи могут выбрать определенные роли (продавец, торговый представитель и др.), тем самым настроив функциональность приложения под выполнение конкретных задач. Есть возможность посредством веб- или тонкого клиента работать с облачной версией клиент-серверного УНФ, но делать это нецелесообразно, так как ее функциональность будет такой же, как и функциональность мобильной версии.

    3. Компания среднего размера. Для бизнеса такого размера целесообразно рассмотреть возможность аренды в облаке полноценной версии УНФ, так как в этом случае у вас появится функция CRM, которая пока недоступна в мобильном приложении. Количество мобильных устройств при выборе такого варианта не ограничено, за каждого пользователя взимается плата в зависимости от тарифа, который вы выбираете.

    Монетизация мобильного приложения

    Пользоваться мобильным приложением, как было отмечено раньше, можно абсолютно бесплатно. Но если вы хотите больше возможностей (производство, синхронизация с большим количеством мобильных устройств), приобрести их можно за дополнительную плату. Функция «Производство» покупается один раз, возможность синхронизации с дополнительными мобильными устройствами оплачивается каждый месяц. Кстати, версия 8.3.8 мобильного приложения 1С:Предприятия, в которой был реализован платный контент, попал в Топ 15 самых продаваемых приложений для бизнеса в Google Play.

    Вместо заключения

    Как видим, мобильное приложение УНФ достаточно популярно. Мы надеемся, что информация, представленная в статье, будет полезна разработчикам приложений не только на платформе 1С, но и на других платформах.

    Кстати, на мобильной платформе 1С можно создавать не только приложения, работающие с 1С-серверным backend-ом. Это возможно благодаря тому, что используемые для обмена данными протоколы являются платформенно независимыми (web- или HTTP-сервисы, поддержка XML и JSON и т.д.). В каких случаях может быть использована мобильная платформа 1С? Когда нужно развивать Android, Windows, iOS мобильный клиент, способный работать в офлайн-режиме без постоянного подключения к сети Интернет.


    "1С:Управление небольшой фирмой" для мобильной работы - это приложение, предназначенное для работы на мобильных устройствах под управлением операционных систем iOS и Android.

    Возможности приложения

    Приложение реализует базовые возможности ведения учета для предприятия с маленьким объемом документов и возможности работы с заказами совместно с коробочным или облачным решением "1С:Управление небольшой фирмой 8".

    Приложение позволяет:

    • хранить информацию о товарах, их остатках, ценах продажи и закупки
    • вводить заказы с учетом актуальных остатков и цен
    • производить базовые складские и денежные операции
    • вести работу в режиме совместного использования с коробочным или облачным решением "1С:Управление небольшой фирмой"

    Загрузка приложения

    Загрузить приложение (бесплатно) можно из магазина приложений Google play .

    Особенности обмена данными

    Из мобильного приложения в центральную базу передаются следующие данные:

      • Номенклатура
      • Цены номенклатуры
      • Контрагенты
      • Заказы покупателей
      • Поступления товаров
      • Отгрузки товаров
      • Поступления оплаты от покупателей
      • Оплата поставщикам.
    Из центральной базы в мобильный клиент передаются следующие данные:
      • Номенклатура
      • Контрагенты
      • Заказы покупателей
      • Остатки.
    При передаче данных из центральной базы в мобильный клиент нужно учитывать следующие условия и ограничения:
      • Приложение для мобильной работы поддерживает только использование номенклатуры с типами запас или услуга . Соответственно, из центральной базы передается только номенклатура с этими типами. Также из центральной базы не передаются заказы покупателей, если в них присутствует номенклатура с типом работа .
      • Приложение для мобильной работы не поддерживает частичную отгрузку или оплату по заказу покупателя. Соответственно признаки оплачен или отгружен при загрузке в мобильное приложение будут установлены только для полностью оплаченных и отгруженных заказов.
      • Приложение для мобильной работы не поддерживает характеристики и партии номенклатуры. Соответственно, в загруженном в мобильное приложение заказе данные реквизиты будут отсутствовать.
      • Если Заказ покупателя создан в центральной базе, то его нельзя будет отредактировать в мобильном приложении, за исключением возможности установки признаков оплаты и отгрузки.
      • Если оплата или отгрузка заказа была произведена в центральной базе, то снять признаки отгрузки и оплаты в мобильном приложении нельзя.
      • Документы по складу и оплаты переносятся только из мобильного приложения в центральную базу. Соответственно, их редактирование в центральной базе не влияет на документы в мобильном приложении.
    Подключение мобильного клиента к центральной базе
    При первой синхронизации данных приложение предложит подключиться к центральной базе.

    При первой синхронизации необходимо будет указать следующие параметры подключения:
    1. В поле Адрес приложения необходимо указать URL для подключения к центральной базе, как если бы вход осуществлялся через браузер.
    2. В поле Пользователь приложения указывается логин пользователя в центральной базе, под которым будет выполняться подключение. Для успешного подключения к центральной базе необходимо, чтобы логин пользователя содержал только буквы и знак “_” и не содержал таких символов, как “@”.
    3. В поле Пароль пользователя указывается пароль пользователя в центральной базе, под которым будет выполняться подключение.
    4. В поле Хранить документы за указывается период, за который будут храниться документы в мобильном устройстве.
    5. Поле Наименование устройства содержит краткое описание устройства. Это поле можно оставить пустым.
    После ввода параметров необходимо закрыть форму настроек, после чего будет произведена синхронизация данных с центральной базой.
    В дальнейшем форму настроек можно открыть по кнопке Настройки в разделе Сервис .

    На примере мобильного приложения «1С:Управление нашей фирмой» (сокращенно УНФ) я хочу показать эволюцию мобильного бизнес-приложения от его возникновения и выхода самой первой версии до сегодняшнего дня. Сейчас у этого приложения более 220 000 скачиваний; приложение бесплатное, но в нем есть платные опции (реализованные через встроенные покупки).


    Первая версия мобильной УНФ была сделана на одной из первых версий мобильной платформы «1С:Предприятия» в 2012 году. На тот момент уже существовала клиент-серверная конфигурация «1С:Управление небольшой фирмой» (тогда название было таким), программа для автоматизации деятельности небольшой компании – продажи, закупки, база клиентов и поставщиков, управление складом, производство и т.п.

    Как и большинство мобильных приложений, написанных на кросс-платформенной мобильной платформе 1С:Предприятия, мобильный УНФ доступен на iOS, Android и Windows.

    Задача была поставлена так: сделать мобильное приложение, поддерживающее часть сценариев работы «большого» УНФ. Приложение должно уметь работать как автономно, так и синхронизировать данные с «большим» УНФ (далее слово «большой» применительно к клиент-серверной версии УНФ я буду писать без кавычек, чтобы не перегружать текст). В случае работы с большим УНФ должны поддерживаться сценарии «мобильных» сотрудников – торгового представителя, сервисного инженера, продавца.

    Первая версия была создана за 1 человеко-месяц. При создании мобильного приложения часть объектов метаданных (справочники, документы) была реализована на основе объектов большого УНФ. Но часть функциональности пришлось программировать с нуля, например, процесс обмена данными с большим УНФ. Правда, применительно к обмену данными собственно программировать пришлось немного – мы использовали стандартные механизмы платформы (в частности, планы обмена), сводящие написание кода к минимуму.

    Помимо упрощения работы с синхронизацией данных платформа 1С ощутимо облегчает работу по конструированию полнофункционального мобильного приложения, предоставляя разработчику такие компоненты интерфейса, как списки (табличные и иерархические) с возможностью поиска по ним, поля ввода с поиском, таблицы для отчетов, широкий спектр диаграмм, возможность печати на WiFi и Bluetooth принтерах и т.д.

    Особенности мобильной версии

    Есть две основных стратегии выбора функциональности мобильного приложения. Первая – «одно приложение – одна функция». Например, мобильное приложение для приема товара на складе, которое умеет только сканировать встроенной камерой штрих-код товара и отправлять информацию о принятом товаре на сервер. Вторая стратегия - создание мобильного приложения с широкой функциональностью «все в одном». Оба подхода имеют право на жизнь; при написании мобильного УНФ мы выбрали второй подход – наше приложение покрывает много задач своей предметной области и может работать полностью автономно, обслуживая потребности небольшой организации. Еще один плюс такого подхода – пользователь может работать с несколькими взаимосвязанными функциями из одного приложения.

    Мобильный УНФ широко использует функциональность мобильного устройства, в частности:

    • Встроенную камеру устройства можно использовать для фотографирования товара при заполнении карточки товара, для чтения штрих- и QR-кодов
    • Счет на оплату можно отправить клиенту по емейл или через SMS
    • Контрагента можно выбрать из адресной книги мобильного устройства
    • Если у контрагента задан телефон – можно одним касанием позвонить контрагенту или послать SMS, если задан емейл – отправить письмо, если задан адрес – показать его на карте
    • Можно печатать документы на принтерах через WiFi и Bluetooth
    Есть опция бэкапа и восстановления базы мобильного УНФ на Яндекс.Диск и отправка базы по почте.

    Конфигурация мобильного УНФ выглядит достаточно спартански (см. скриншот ниже):

    • 8 справочников (в большом УНФ – 273 справочника)
    • 7 документов (в большом УНФ – 125)
    • 3 журнала документов (в большом УНФ – 24)
    • 3 регистра сведений (в большом УНФ – 357)
    • 4 регистра накопления (в большом УНФ – 64)

    Основные объекты мобильного УНФ

    Но, несмотря на такое небольшое количество прикладных объектов, продукт получился достаточно функциональным.

    Интересная особенность мобильного УНФ – это то, что им зачастую начинают пользоваться люди, до этого про 1С не слыхавшие (да-да, есть в нашей стране и такие), те, которым понадобилось мобильное приложение для ведения учета их маленького бизнеса (например, домашнего крафтинга). Они просто нашли его поиском в Google Play или AppStore, почитали отзывы – и начали работать.

    Автономная работа

    Этот сценарий работы предназначен для совсем маленьких организаций, когда весь учет ведется исключительно на мобильном устройстве. Это может быть, например, «домашний» бизнес – изготовление украшений на дому и их продажа на страничке ВКонтакте. А может быть даже и небольшой магазин – лично видел случай, когда магазин игрушек, специализирующийся на продаже конструкторов Lego, вел учет исключительно на мобильной версии УНФ. Учитывая, что мобильный УНФ умеет печатать на WiFi и Bluetooth принтерах, с его помощью можно решать довольно большое количество задач. Мобильный УНФ поддерживает обработку заказов, ввод приходных и расходных накладных, учет поступления и расход денег.

    Работа в режиме синхронизации с сервером (первые версии)

    В режиме синхронизации с сервером в мобильном УНФ в ранних версиях становилась недоступна учетная функциональность, и работа в нем велась в основном с заказами (прием и выполнение заказов) и сопутствующей этому деятельности (ведение справочников контрагентов, товаров и услуг и т.п.).

    Синхронизировались с большим УНФ справочники товаров и услуг, контрагентов, и заказы.


    Обмен данными мобильного и большого УНФ в первых версиях

    Заказы, введенные с мобильных устройств, попадали в большой УНФ, а при синхронизации попадали на мобильные устройства ответственных за заказы. Документы типа поступлений в кассу, реализации товара и т.п., введенные на мобильных устройствах, уезжали в большой УНФ, но не синхронизировались между мобильными устройствами. Вся работа в мобильном приложении в режиме синхронизации велась в основном вокруг заказов – их принятия и исполнения, полноценный учет на мобильном устройстве при этом не велся, для этого нужно было пользоваться большим УНФ на компьютере.

    Так было в первых версиях, но впоследствии мы изменили ситуацию и расширили список сценариев использования мобильного УНФ, чтобы сделать работу с ним более удобной для пользователей.

    Немного про синхронизацию данных

    Обмен данными между мобильным и большим УНФ идет через веб-сервисы; мобильный УНФ вызывает веб-сервисы, развернутые на стороне большого УНФ. Структуры данных в большом и мобильном УНФ различаются; при проектировании архитектуры мы рассматривали 2 варианта обмена данными:
    1. Создать структуру данных в большом УНФ, дублирующую структуру данных мобильного УНФ, и обмениваться данными с мобильным УНФ «один-в-один». При изменении данных в большом УНФ нужно новые/изменённые данные перенести в эту дублирующую структуру, а после обмена данными с мобильным УНФ – сконвертировать данные, пришедшие с мобильного устройства и размещенные в дублирующей структуре, в формат большого УНФ.
    2. Обмениваться данными непосредственно со структурами большого УНФ, осуществляя конвертацию данных «на лету» по правилам обмена.
    Решили остановиться на втором варианте. Первый вариант, хоть и сулил некоторые преимущества, связанные с простотой собственно обмена данными, плохо обрабатывал ситуацию, когда в новой версии мобильного УНФ менялась (расширялась) структура данных; чтобы обмен данными «один-в-один» продолжал работать, нужно было бы обновлять и серверный, большой УНФ. Что, по многим причинам, было неприемлемо.

    Механизмы обмена данными, реализованные в платформе, берут на себя бОльшую часть работы по формированию пакетов для синхронизации данных, позволяя свести написание кода к минимуму. В процессе обмена используется стандартный механизм платформы 1С:Предприятия – механизм обмена данными ; для каждого мобильного УНФ в большом УНФ создается узел обмена данными, в большом и мобильном УНФ задействуется служба регистрации изменений для отслеживания данных, измененных со времени последней синхронизации и т.д.

    Мобильное приложение инициирует обмен данными, с помощью механизмов платформы формирует пакет обмена (содержащий идентификатор мобильного приложения и данные, обновленные на мобильном УНФ со времени последней синхронизации) и пересылает его в большой УНФ. Исходя из информации в стартовом пакете, большой УНФ готовит для мобильного УНФ данные, измененные в большом УНФ со времени последней синхронизации, и упаковывает их в пакеты. Пакеты в формате XDTO - это объекты метаданных 1С, сериализованные в XML; размер каждого пакета – не более 500 объектов.

    Мобильный УНФ забирает эти данные пакет за пакетом. После загрузки последнего пакета мобильный УНФ начинает обрабатывать полученные данные – проводить документы, записывать справочники и т.д. В случае разрыва связи поддерживается докачка пакетов; механизм докачки мы написали для УНФ самостоятельно (в платформе его нет), но, поскольку мобильный УНФ поставляется в исходных кодах, разработчики могут посмотреть на реализацию механизма и позаимствовать ее для своих приложений.

    Во время первичной синхронизации мобильного УНФ с большим УНФ работать в мобильном УНФ нельзя – появляется модальное окно, показывающее ход процесса. Все последующие синхронизации – фоновые, и не блокируют работу мобильного УНФ.

    Полный список объектов, которыми обмениваются мобильный и большой УНФ:

    • Справочники:
      • Номенклатура
      • Контрагенты
      • Список пользователей
    • Документы:
      • Заказы покупателей
      • Поступление в кассу
      • Расход из кассы
      • Приходная накладная
      • Расходная накладная
      • Производство
    • Регистры (но не полностью все цены, а только основные):
      • ЦеныПоставщиков
      • ЦеныТоваров
    • Сведения об организации:
      • Наименование
      • Информация о налогообложении
    В большом УНФ у товаров есть картинки – изображения собственно товаров. С целью минимизации трафика мы не грузим в мобильный УНФ картинки, они подгружаются по требованию – например, когда мы открываем в мобильном УНФ карточку товара.


    Карточка товара с изображением товара

    Эволюция приложения – развиваем сценарии использования

    Типичная ситуация – бизнес растет, и функциональности мобильного УНФ на одном мобильном устройстве перестает хватать. В бизнесе появляется еще один сотрудник (или сотрудники), и им тоже надо работать с заказами.

    В первых версиях мобильного УНФ сценарий переезда был достаточно прямолинейным – данные, введенные в мобильном УНФ, копировались в базу большого УНФ, и пользователь должен был отныне вести учет на компьютере. Мобильный УНФ в этом случае будет работать в режиме работы с заказами, а вести учет (как на автономной версии мобильного УНФ) на нем уже будет нельзя.

    Это, конечно, было не совсем удобно для конечного пользователя – он уже привык вести учет с мобильного устройства, а тут его принудительно заставляют пересесть за клавиатуру компьютера. Не все будут этим довольны.

    Поэтому мы расширили список сценариев работы мобильного УНФ. В этом нам помогло появление нашего облачного сервиса http://1cfresh.com , основанного на облачной технологии 1cFresh . Появилась возможность размещать большой УНФ в облаке. Мы расписали три сценария использования мобильного приложения по мере роста бизнеса пользователя:

    1. Совсем маленький бизнес. Учет ведется на одном мобильном устройстве.
    2. Бизнес растет – появились сотрудники. Можно поставить мобильный УНФ на мобильные устройства сотрудников. При этом нужно уметь обмениваться данными между мобильными устройствами для синхронизации данных; для этого мы решили использовать не обмен через файлы, а задействовать для синхронизации (а заодно и для бэкапа) версию большого УНФ, расположенную в облаке http://1cfresh.com . При включении этого сценария в облаке http://1cfresh.com создается экземпляр большого УНФ, база которого будет использоваться для синхронизации данных между мобильными устройствами. Использование в таком сценарии одного мобильного устройства – бесплатно, за каждое дополнительное устройство мы берем 75 руб/месяц, использовать в этом сценарии можно не больше трех устройств. При этом пользователям мобильных устройств можно задать предопределенные роли – торговый представитель, сервисный инженер, продавец (возможна также детальная настройка ролей); соответствующим образом будет ограничена функциональность мобильного приложения. Можно также работать через веб-клиент или тонкий клиент с большим УНФ, размещенным в облаке, но функциональность облачного УНФ будет урезана до функциональности мобильного УНФ. Но работать непосредственно в облачном УНФ необязательно – вся работа может вестись только с мобильных устройств.
    3. Бизнес вырос до размера средней фирмы. В этом случае имеет смысл арендовать в облаке полноценную версию большого УНФ, чтобы получить (через веб-клиент или тонкий клиент) дополнительную функциональность - CRM (в планах – включение CRM в мобильный УНФ, но пока доступен только в большой версии), управление складом, расширенное формирование цен, возможность работы с банками и . В этом случае количество мобильных устройств, работающих с большим УНФ, не ограничено (за каждое устройство взимается дополнительная плата согласно тарифу , как за одно рабочее место; 1 лицензия на УНФ во Фреше или на «коробочный» УНФ дает право бесплатного пользования и 1 мобильным приложением).

    Опыт монетизации приложения

    Мобильное приложение УНФ, как я уже писал – бесплатное. Некоторое время назад мы решили монетизировать наше приложение (с помощью функциональности встроенных покупок, реализованной в мобильной платформе 1С:Предприятия версии 8.3.8), продавая дополнительную функциональность – производство, и возможность синхронизации с дополнительными мобильными устройствами.


    Покупка функциональности «Производство» - разовая, а возможность синхронизации с дополнительными мобильными устройствами оформлена как подписка, которую нужно продлевать каждый месяц. Интересно, что уже через 3 недели после добавления функциональности покупок мобильный УНФ попал в топ 15 Google Play по продажам приложений для бизнеса.

    Заключение

    Мобильный УНФ – сравнительно небольшой (с точки зрения объема исходного кода), но довольно популярный продукт. Надеемся, рассказ о его эволюции будет полезен создателям мобильных end-user продуктов как на технологиях 1С, так и на других средствах разработки.

    Нелишним будет напомнить, что на мобильной платформе 1С можно делать приложения, взаимодействующие не только с 1С-серверным backend-ом; протоколы, используемые для обмена данными в мобильных приложениях на платформе 1С – платформенно-независимые (web- и HTTP-сервисы, поддержка XML и JSON и т.п.). Так что если вам нужно быстро и динамично развивать кросс-платформенный (Android, iOS, Windows) мобильный клиент, причем с возможностью офлайн работы без постоянного подключения к Интернет для вашего бизнес-приложения, то мобильная платформа 1С вполне может быть оптимальным выбором для вас.