Описание приложения. Настройка механизма синхронизации для УНФ 1.2
Мобильное приложение 1С:Управление нашей фирмой для мобильной работы может использоваться совместно с настольной (ПРОФ или Базовой) или облачной версией приложения 1С:Управление нашей фирмой 8.
Для того чтобы была возможность синхронизировать мобильное приложение с настольной версией необходимо в настольной версии выполнить ряд действий.
Ниже показаны эти действия. Их нужно выполнить на локальном компьютере. В примере рассматривается компьютер, работающий под управлением операционной системы Windows:
Необходимо развернуть настольное приложение 1С:Управление нашей фирмой 8 на вашем компьютере. Рекомендуется использовать последнюю версию настольного приложения. Подойдет Базовая или ПРОФ версия.
Синхронизация с мобильным приложением будет осуществляться от имени пользователя, у которого имеется доступ к настольному приложению.
По умолчанию в настольном приложении уже присутствует пользователь Администратор, можно использовать его или завести нового (раздел Администрирование – Настройки пользователей и прав – Пользователи), установив минимально необходимые для синхронизации права – Продажи, Закупки и Деньги.
В появившемся окне необходимо задать имя публикации, выбрать используемый веб-сервис, задать каталог публикации и убедиться, что установлены флажки Публиковать Web-сервисы и MobileService.
После этого необходимо нажать кнопку Опубликовать и согласиться с перезапуском веб-сервера.
Для проверки корректности публикации можно в интернет браузере компьютера перейти по ссылке вида http://localhost/[ИмяПубликации]/ws/MobileService
После ввода имени пользователя и пароля в браузере должна появиться ссылка на WSDL схему.
В мобильном приложении необходимо ввести адрес, по которому был опубликован веб-сервис, а также имя пользователя и пароль. Адрес должен быть следующего вида http://[IPАдресКомпьютера]/[ИмяПубликации]. Если локальный компьютер и мобильное устройство подключены к одной сети, то в качестве IP адреса компьютера используется его локальный IP адрес.
Если мобильное устройство подключается к центральной информационной базе из другой сети через интернет, то необходимо использовать внешний статический IP адрес компьютера. Данную услугу может предоставить интернет-провайдер. Если по каким-то причинам внешний статический IP адрес использовать нельзя, то можно воспользоваться сервисом 1С:Линк (за исключением пользователей базовых версий, для которых сервис не доступен).
После выполнения вышеприведенных действий настройка синхронизации мобильного приложения с настольной версией приложения 1С:Управление нашей фирмой 8 будет завершена.
1С мобильное приложение обмен данными
На примере мобильного приложения «1С:Управление нашей фирмой» (сокращенно УНФ) я хочу показать эволюцию мобильного бизнес-приложения от его возникновения и выхода самой первой версии до сегодняшнего дня. Сейчас у этого приложения более 220 000 скачиваний; приложение бесплатное, но в нем есть платные опции (реализованные через встроенные покупки).
Первая версия мобильной УНФ была сделана на одной из первых версий мобильной платформы «1С:Предприятия» в 2012 году. На тот момент уже существовала клиент-серверная конфигурация «1С:Управление небольшой фирмой» (тогда название было таким), программа для автоматизации деятельности небольшой компании – продажи, закупки, база клиентов и поставщиков, управление складом, производство и т.п.
Как и большинство мобильных приложений, написанных на кросс-платформенной мобильной платформе 1С:Предприятия, мобильный УНФ доступен на iOS, Android и Windows.
Задача была поставлена так: сделать мобильное приложение, поддерживающее часть сценариев работы «большого» УНФ. Приложение должно уметь работать как автономно, так и синхронизировать данные с «большим» УНФ (далее слово «большой» применительно к клиент-серверной версии УНФ я буду писать без кавычек, чтобы не перегружать текст). В случае работы с большим УНФ должны поддерживаться сценарии «мобильных» сотрудников – торгового представителя, сервисного инженера, продавца.
Первая версия была создана за 1 человеко-месяц. При создании мобильного приложения часть объектов метаданных (справочники, документы) была реализована на основе объектов большого УНФ. Но часть функциональности пришлось программировать с нуля, например, процесс обмена данными с большим УНФ. Правда, применительно к обмену данными собственно программировать пришлось немного – мы использовали стандартные механизмы платформы (в частности, планы обмена), сводящие написание кода к минимуму.
Помимо упрощения работы с синхронизацией данных платформа 1С ощутимо облегчает работу по конструированию полнофункционального мобильного приложения, предоставляя разработчику такие компоненты интерфейса, как списки (табличные и иерархические) с возможностью поиска по ним, поля ввода с поиском, таблицы для отчетов, широкий спектр диаграмм, возможность печати на WiFi и Bluetooth принтерах и т.д.
Особенности мобильной версии
Есть две основных стратегии выбора функциональности мобильного приложения. Первая – «одно приложение – одна функция». Например, мобильное приложение для приема товара на складе, которое умеет только сканировать встроенной камерой штрих-код товара и отправлять информацию о принятом товаре на сервер. Вторая стратегия — создание мобильного приложения с широкой функциональностью «все в одном». Оба подхода имеют право на жизнь; при написании мобильного УНФ мы выбрали второй подход – наше приложение покрывает много задач своей предметной области и может работать полностью автономно, обслуживая потребности небольшой организации. Еще один плюс такого подхода – пользователь может работать с несколькими взаимосвязанными функциями из одного приложения.
Мобильный УНФ широко использует функциональность мобильного устройства, в частности:
Есть опция бэкапа и восстановления базы мобильного УНФ на Яндекс.Диск и отправка базы по почте.
Конфигурация мобильного УНФ выглядит достаточно спартански (см. скриншот ниже):
Основные объекты мобильного УНФ
Но, несмотря на такое небольшое количество прикладных объектов, продукт получился достаточно функциональным.
Интересная особенность мобильного УНФ – это то, что им зачастую начинают пользоваться люди, до этого про 1С не слыхавшие (да-да, есть в нашей стране и такие), те, которым понадобилось мобильное приложение для ведения учета их маленького бизнеса (например, домашнего крафтинга). Они просто нашли его поиском в Google Play или AppStore, почитали отзывы – и начали работать.
Автономная работа
Этот сценарий работы предназначен для совсем маленьких организаций, когда весь учет ведется исключительно на мобильном устройстве. Это может быть, например, «домашний» бизнес – изготовление украшений на дому и их продажа на страничке ВКонтакте. А может быть даже и небольшой магазин – лично видел случай, когда магазин игрушек, специализирующийся на продаже конструкторов Lego, вел учет исключительно на мобильной версии УНФ. Учитывая, что мобильный УНФ умеет печатать на WiFi и Bluetooth принтерах, с его помощью можно решать довольно большое количество задач. Мобильный УНФ поддерживает обработку заказов, ввод приходных и расходных накладных, учет поступления и расход денег.
Работа в режиме синхронизации с сервером (первые версии)
В режиме синхронизации с сервером в мобильном УНФ в ранних версиях становилась недоступна учетная функциональность, и работа в нем велась в основном с заказами (прием и выполнение заказов) и сопутствующей этому деятельности (ведение справочников контрагентов, товаров и услуг и т.п.).
Синхронизировались с большим УНФ справочники товаров и услуг, контрагентов, и заказы.
Обмен данными мобильного и большого УНФ в первых версиях
Заказы, введенные с мобильных устройств, попадали в большой УНФ, а при синхронизации попадали на мобильные устройства ответственных за заказы. Документы типа поступлений в кассу, реализации товара и т.п., введенные на мобильных устройствах, уезжали в большой УНФ, но не синхронизировались между мобильными устройствами. Вся работа в мобильном приложении в режиме синхронизации велась в основном вокруг заказов – их принятия и исполнения, полноценный учет на мобильном устройстве при этом не велся, для этого нужно было пользоваться большим УНФ на компьютере.
Так было в первых версиях, но впоследствии мы изменили ситуацию и расширили список сценариев использования мобильного УНФ, чтобы сделать работу с ним более удобной для пользователей.
Немного про синхронизацию данных
Обмен данными между мобильным и большим УНФ идет через веб-сервисы; мобильный УНФ вызывает веб-сервисы, развернутые на стороне большого УНФ. Структуры данных в большом и мобильном УНФ различаются; при проектировании архитектуры мы рассматривали 2 варианта обмена данными:
Решили остановиться на втором варианте. Первый вариант, хоть и сулил некоторые преимущества, связанные с простотой собственно обмена данными, плохо обрабатывал ситуацию, когда в новой версии мобильного УНФ менялась (расширялась) структура данных; чтобы обмен данными «один-в-один» продолжал работать, нужно было бы обновлять и серверный, большой УНФ. Что, по многим причинам, было неприемлемо.
Механизмы обмена данными, реализованные в платформе, берут на себя бОльшую часть работы по формированию пакетов для синхронизации данных, позволяя свести написание кода к минимуму. В процессе обмена используется стандартный механизм платформы 1С:Предприятия – механизм обмена данными; для каждого мобильного УНФ в большом УНФ создается узел обмена данными, в большом и мобильном УНФ задействуется служба регистрации изменений для отслеживания данных, измененных со времени последней синхронизации и т.д.
Мобильное приложение инициирует обмен данными, с помощью механизмов платформы формирует пакет обмена (содержащий идентификатор мобильного приложения и данные, обновленные на мобильном УНФ со времени последней синхронизации) и пересылает его в большой УНФ. Исходя из информации в стартовом пакете, большой УНФ готовит для мобильного УНФ данные, измененные в большом УНФ со времени последней синхронизации, и упаковывает их в пакеты. Пакеты в формате XDTO — это объекты метаданных 1С, сериализованные в XML; размер каждого пакета – не более 500 объектов.
Мобильный УНФ забирает эти данные пакет за пакетом. После загрузки последнего пакета мобильный УНФ начинает обрабатывать полученные данные – проводить документы, записывать справочники и т.д. В случае разрыва связи поддерживается докачка пакетов; механизм докачки мы написали для УНФ самостоятельно (в платформе его нет), но, поскольку мобильный УНФ поставляется в исходных кодах, разработчики могут посмотреть на реализацию механизма и позаимствовать ее для своих приложений.
Во время первичной синхронизации мобильного УНФ с большим УНФ работать в мобильном УНФ нельзя – появляется модальное окно, показывающее ход процесса. Все последующие синхронизации – фоновые, и не блокируют работу мобильного УНФ.
Полный список объектов, которыми обмениваются мобильный и большой УНФ:
В большом УНФ у товаров есть картинки – изображения собственно товаров. С целью минимизации трафика мы не грузим в мобильный УНФ картинки, они подгружаются по требованию – например, когда мы открываем в мобильном УНФ карточку товара.
Карточка товара с изображением товара
Эволюция приложения – развиваем сценарии использования
Типичная ситуация – бизнес растет, и функциональности мобильного УНФ на одном мобильном устройстве перестает хватать. В бизнесе появляется еще один сотрудник (или сотрудники), и им тоже надо работать с заказами.
В первых версиях мобильного УНФ сценарий переезда был достаточно прямолинейным – данные, введенные в мобильном УНФ, копировались в базу большого УНФ, и пользователь должен был отныне вести учет на компьютере. Мобильный УНФ в этом случае будет работать в режиме работы с заказами, а вести учет (как на автономной версии мобильного УНФ) на нем уже будет нельзя.
Это, конечно, было не совсем удобно для конечного пользователя – он уже привык вести учет с мобильного устройства, а тут его принудительно заставляют пересесть за клавиатуру компьютера. Не все будут этим довольны.
Поэтому мы расширили список сценариев работы мобильного УНФ. В этом нам помогло появление нашего облачного сервиса http://1cfresh.com, основанного на облачной технологии 1cFresh. Появилась возможность размещать большой УНФ в облаке. Мы расписали три сценария использования мобильного приложения по мере роста бизнеса пользователя:
- Совсем маленький бизнес. Учет ведется на одном мобильном устройстве.
Бизнес растет – появились сотрудники. Можно поставить мобильный УНФ на мобильные устройства сотрудников. При этом нужно уметь обмениваться данными между мобильными устройствами для синхронизации данных; для этого мы решили использовать не обмен через файлы, а задействовать для синхронизации (а заодно и для бэкапа) версию большого УНФ, расположенную в облаке http://1cfresh.com. При включении этого сценария в облаке http://1cfresh.com создается экземпляр большого УНФ, база которого будет использоваться для синхронизации данных между мобильными устройствами. Использование в таком сценарии одного мобильного устройства – бесплатно, за каждое дополнительное устройство мы берем 75 руб/месяц, использовать в этом сценарии можно не больше трех устройств. При этом пользователям мобильных устройств можно задать предопределенные роли – торговый представитель, сервисный инженер, продавец (возможна также детальная настройка ролей); соответствующим образом будет ограничена функциональность мобильного приложения. Можно также работать через веб-клиент или тонкий клиент с большим УНФ, размещенным в облаке, но функциональность облачного УНФ будет урезана до функциональности мобильного УНФ. Но работать непосредственно в облачном УНФ необязательно – вся работа может вестись только с мобильных устройств.
Опыт монетизации приложения
Мобильное приложение УНФ, как я уже писал – бесплатное. Некоторое время назад мы решили монетизировать наше приложение (с помощью функциональности встроенных покупок, реализованной в мобильной платформе 1С:Предприятия версии 8.3.8), продавая дополнительную функциональность – производство, и возможность синхронизации с дополнительными мобильными устройствами.
Покупка функциональности «Производство» — разовая, а возможность синхронизации с дополнительными мобильными устройствами оформлена как подписка, которую нужно продлевать каждый месяц. Интересно, что уже через 3 недели после добавления функциональности покупок мобильный УНФ попал в топ 15 Google Play по продажам приложений для бизнеса.
Заключение
Мобильный УНФ – сравнительно небольшой (с точки зрения объема исходного кода), но довольно популярный продукт. Надеемся, рассказ о его эволюции будет полезен создателям мобильных end-user продуктов как на технологиях 1С, так и на других средствах разработки.
Нелишним будет напомнить, что на мобильной платформе 1С можно делать приложения, взаимодействующие не только с 1С-серверным backend-ом; протоколы, используемые для обмена данными в мобильных приложениях на платформе 1С – платформенно-независимые (web- и HTTP-сервисы, поддержка XML и JSON и т.п.). Так что если вам нужно быстро и динамично развивать кросс-платформенный (Android, iOS, Windows) мобильный клиент, причем с возможностью офлайн работы без постоянного подключения к Интернет для вашего бизнес-приложения, то мобильная платформа 1С вполне может быть оптимальным выбором для вас.
Конфигурация «Обмен данными с мобильными приложениями» демонстрирует реализацию механизмов обмена данными с мобильными приложениями, разработанными с использованием «1С:Предприятие 8. Расширение для карманных компьютеров»
В состав конфигурации включено мобильное приложение, которое не является законченным решением с прикладной точки зрения, но позволяет продемонстрировать реализацию и работу механизмов обмена данными.
Обмен данными с мобильными приложениями возможен как с использованием сервера мобильных приложений, так и с использованием специализированной внешней компоненты для 1С:Предприятия — MAppExch, которая может использоваться для 1С:Предприятия версии 8.2. Компонента обмена данными включена в состав конфигурации.
Для работы с конфигурацией необходимо использовать версию 1С:Предприятия не ниже 8.2.14.
Дистрибутив демонстрационной конфигурации находится в каталоге 1CITSEXEPDAExtDemo
Мобильное приложение 1С на базе УНФ. Обмен данными с 1С на ПК
Доступ к остаткам, ценам, выписка счетов на оплату, оформление заказов только за рабочим местом в офисе уже не соответствует духу времени «Доступный интернет» и «Мобильность».
МОБИЛЬНАЯ 1С-ка
Компания 1С уверенно продвинулась вперед в области мобильности и удаленной работы с 1С. Первым шагом к мобильности от 1С был новый интерфейс на управляемых формах, который позволил работать c программой через интернет-браузер с любого устройства без установки самого приложения (клиента) на устройство. Достаточно было перейти по адресу в интернете, ввести логин и пароль и пользователь попадал в программу «1С Предприятие» с ПК, планшета, телефона. Данная технология уже позволила говорить об 1С как о ПО, поддерживающем мобильные технологии, но работа с планшета, а тем более с телефона с 1С-кой, которая, по сути предназначена для работы на ПК не вполне удобное дело. Работать можно было, но работать было не удобно.
Вопрос «неудобно работать» могло решить только мобильное приложение. Именно в мобильных приложениях все кнопки, формы и поля отображаются в пределах экрана без необходимости прокрутки экрана в сторону или уменьшения его размера.
1С справилась и с этой задачей, выпустив мобильную платформу 1С, а также включила в платформу для ПК возможность разработки, сборки и публикации мобильных приложений. Сейчас фактически каждый, у кого есть навыки и желание может разработать собственное мобильное приложение на базе платформы 1С.
Вместе с тем, как нам кажется, использование одной лишь мобильной версии 1С без ее связи (синхронизации) с основной 1С, установленной на ПК, (сервер) не имеет особого смысла. В противном случае, если использовать приложение только на мобильном устройстве, то нет никакой разницы, какое будет установлено приложение — 1С или софт другого производителя.
Удобный доступ к данным, выполнение рабочих функций и синхронизация данных с основной 1С (основной базой) — это задача, которую нам удалось реализовать.
Установить мобильный клиент и настроить синхронизацию нам удалось на базе стандартной конфигурации «Управление нашей фирмой 1.6». Именно для этой конфигурации компанией 1С опубликована мобильная платформа с встроенной функцией синхронизации.
Для выполнения задачи нам понадобилось:
— мобильный телефон под управление ОС Android
— сервер, на котором установлена 1С со статическим IP-адресом
— установленный веб-сервера Apache 2.2
— публикация базы данных 1С через веб-сервер
— настройка синхронизации ПК и мобильного телефона
Сразу хотим отметить, что для малого бизнеса, особенно тем, кто начинает с нуля вести учет решение на базе УНФ может стать удобным, эффективным помощником ведения учета в офисе и вне офиса.
Условно говоря, работа пользователя в связке «1С на ПК Мобильное приложение» разделена на Front-офис и Back-офис. Front-офис в данном случае — это компьютер, за которым пользователь выполняет основную часть работы, ввод данных, формируете отчеты и т.д. А Back-офис — карманный помощник, предназначенный быстро ответить на некоторые вопросы и ввести несложные операции.
Что может 1С УНФ мобильная версия
— просмотр цен и остатков
— внесение заказов
— оформление продажи товаров
— считывание штрихкодов товаров камерой устройства
— отправка счетов на оплату по e-mail и SMS
— печать отчетов и документов на принтер
— синхронизация с УНФ на ПК
Если у вас нет ничего, то вам понадобится
1) сервер, на который вы установите 1С УНФ и веб-сервера Apache 2.2
2) телефон, на который вы установите мобильную версию 1С. Это можно сделать прямо с Google Play.
3) навыки администрирования 1С для публикации базы данных на веб-сервере.
Для работы по отдельности (без синхронизации) требований к версиям мобильной платформы, платформы 1С для ПК, конфигурациям нет. Если вам нужна синхронизация, то вам придется устанавливать платформы и конфигурации, которые соответствую требованиям 1С.
Ошибка при вызове метода контекста (синтаксическая ошибка в 1С)
Например, нами решение было развернуто на:
— Платформа 1С для ПК версия: 8.3.13.1664
— Конфигурация «Управление нашей фирмой, редакция 1.6 (1.6.17.161)»
— Мобильная платформа версия: 8.3.13.64
— Конфигурация «Управление нашей фирмой для мобильной работы (1.2.143.1)»
Сервер Apache 2.2 может не запуститься по каким-либо причинам. О том как установить и запустить веб-сервер можно прочесть в этой публикации.
После того, как у вас установлены 1С на ПК и на мобильном телефоне, работает веб-сервер можно проводить синхронизацию.
Для этого нужно на мобильном телефоне в приложении 1С зайти в меню:
Меню — Сервис — Настройки — Синхронизация — кнопка Настройки подключения
Указать путь, по которому у вас опубликована база 1С, ввести логин и пароль пользователя 1С.
После успешного подключения к базе данных произойдет первая синхронизация и загрузка данных. В зависимости от размера базы данных (справочники, документы, остатки) первая синхронизация может длится от 2 минут до нескольких часов. Для уменьшения размера загружаемых данных рекомендуем в 1С установить период, начиная с которого данные будут загружены в мобильное приложение.
Установите для пользователей в 1С необходимые права для проведения синхронизации.
Лицензирование
Для мобильной платформы 1С не нужно покупать лицензии, если количество ваших пользователей не превышает 50.
Синхронизация мобильной версии с другими конфигурациями
Пока что (2019 год) компанией 1С написан функционал синхронизации и интерфейс мобильного приложения для одной конфигурации «Управление нашей фирмой». Альтернативные разработчики, например «Моби-С», предлагают интерфейсы мобильных приложений и синхронизацию с широким спектром стандартных конфигураций. Но, решения компании «Моби-С» платные — 4000 руб./ одно мобильное устройство.
Есть варианты разработки собственного приложения и настройки синхронизации с рабочей 1С, но эта работа затратная по времени и средствам.
Если у вас есть вопросы или вам нужна установка мобильной версии УНФ, обратитесь к нам по контактам, указанным внизу страницы сайта «1С СЕРВИС 24/7».