Мобильный клиент 1с 8.3 форма авторизации. Первоначальные настройки мобильного приложения «1С-Рейтинг: Мобильный официант

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

Настройка информационной базы «1С-Рейтинг: Ресторан» Вся нормативно-справочная информация, используемая в работе с мобильным приложением, заполняется в информационной базе конфигурации «1С-Рейтинг: Ресторан». Перед активацией и выполнением обмена между мобильным приложением и конфигурацией «1С-Рейтинг: Ресторан» необходимо в конфигурации «1С-Рейтинг: Ресторан» заполнить следующие данные:
  • Справочник Организация ;
  • Справочник Склад ;
  • Справочник Касса ;
  • Справочник Зал ;
  • Справочник Модификаторы ;
  • Регистры сведений Модификаторы блюд;
  • Регистры сведений Предопределенные позиции заказов ;
  • Регистры сведений Маршрутизация печати марок ;
  • Справочник Виды меню ;
  • Справочник Настройка РМК ;
  • Справочник Пользователи.
Настройка пользователей Пользователей, которые будут работать с мобильным приложением, необходимо заранее создать в информационной базе «1С-Рейтинг: Ресторан». У пользователя мобильного приложения, кроме основных настроек и ролей относящихся к конфигурации «1С-Рейтинг: Ресторан», должна быть указана роль , которая позволяет пользователю работать с мобильным приложением. Автоматическая печать марок После оформления заказа в мобильном устройстве, возможна печать марок на места приготовления (кухню, бар). Печать марок выполняется по следующему алгоритму: в мобильном приложении пользователь создает или изменяет заказы, которые передаются в центральную информационную базу конфигурации «1С-Рейтинг: Ресторан». В центральной базе они накапливаются в регистре сведений Очередь печати марок . С периодичностью, указанной в настройках параметров учета, запускается процедура, которая печатает марки из данного регистра сведений на места приготовления.
Для включения данной возможности необходимо в конфигурации «1С-Рейтинг: Ресторан» в настройках параметров учета в группе Мобильный официант установить следующие настройки:
  • Выполнять печать марок мобильного официанта – включение данной опции позволяет отправлять на печать марки с информацией о приготовлении.
  • Пользователь для печати марок мобильного официанта – необходимо выбрать пользователя из справочника Пользователи , от имени которого будут выполняться процедуры печати. Для осуществления печати марок необходимо запускать сеанс от имени указанного пользователя. Для того чтобы выполнение процедур печати марок не замедляло работу пользователей рекомендуется создать отдельного пользователя (например, «Запуск РМК» или «Печать марок») и запускать отдельный сеанс 1С:Предприятия с данным пользователем для выполнения фоновой печати.
  • Интервал печати марок мобильного официанта – в данной настройке указывается интервал времени в секундах для вывода на печать. Заполнение данного параметра, является обязательным для осуществления печати марок. Значение этого параметра выбирается исходя из требований конкретной организации, рекомендуемое значение 10 секунд.

Публикация на веб-сервере Для совместной работы мобильного приложения и стационарной информационной базы «1С-Рейтинг: Ресторан» необходимо организовать соответствующую инфраструктуру:
1. В зоне работы официантов должна быть настроена беспроводная сеть Wi-Fi.
2. На компьютере, где будет осуществлена публикация информационной базы «1С-Рейтинг: Ресторан», должен быть установлен и настроен веб-сервер (поддерживается работа с веб-сервером Apache или IIS).
3. На этом же компьютере должны быть установлены платформа «1С:Предприятие» и модули расширения веб-сервера. Установка модулей осуществляется при установке платформы.


4. Должна быть осуществлена публикация информационной базы «1С-Рейтинг: Ресторан».
5. Компьютер с опубликованной информационной базой и мобильные устройства должны находиться в одной локальной сети.
Для публикации информационной базы «1С-Рейтинг: Ресторан» необходимо запустить «1С:Предприятие» в режиме Конфигуратор (меню Администрирование - Публикация на веб-сервере ). В открывшемся окне необходимо выполнить следующие действия:
  • Ввести вручную имя публикации в поле Имя , при этом оно может состоять только из символов латинского алфавита. Данное имя позже будет вводиться в настройки мобильного приложения.
  • В поле Веб-сервер указать тип веб-сервера, для которого выполняется публикация.
  • В поле Каталог указать путь к каталогу, в котором будут расположены файлы, описывающие виртуальный каталог.
  • Перейти на закладку HTTP сервисы и включить настройку Публиковать HTTP сервисы по умолчанию . В табличной части отметить флагом HTTP сервис Data в перечне доступных сервисов.
  • Нажать кнопку Опубликовать . После публикации необходимо перезапустить сервер.
Настройка конфигурации «1С Рейтинг: Мобильный официант» Мобильное приложение «1С-Рейтинг: Мобильный официант» доступно для бесплатной загрузки на мобильные устройства из официального онлайн-магазина Google Play . Для коммерческого использования приложения необходимо приобрести требуемое количество Лицензий на устройства и выполнить активацию мобильного приложения на каждом мобильном устройстве. Для изучения функциональных возможностей мобильного приложения предусмотрен демонстрационный режим работы, не требующий приобретения Лицензия на устройства.
Установка мобильного приложения «1С-Рейтинг: Мобильный официант» выполняется автоматически, и не отличается от установки любого другого мобильного приложения. Обновления приложения «1С-Рейтинг: Мобильный официант» доступны в официальном онлайн-магазине Google Play без каких-либо ограничений и регистрации в компании «1С-Рейтинг».
При первом запуске мобильного приложения появляется форма выбора режима работы. Предлагается выбрать из двух вариантов действий: Демонстрационный режим и Активировать приложение .
Демонстрационный режим может быть включен при первом запуске мобильного приложения или позже, после активации, в форме настроек, с помощью одноименного переключателя.
При включении этого режима, база данных мобильного приложения автоматически наполняется демонстрационными данными, что позволяет наиболее полно ознакомиться с функциональными возможностями продукта.

Активация приложения Для работы с мобильным приложением и двусторонним обменом данных с учетной базой конфигурации «1С-Рейтинг: Ресторан» необходимо выполнить активацию приложения.
Существует два варианта выполнения активации мобильного приложения:
  • Интернет-активация.
  • Офлайн-активация.
Интернет-активация Для выполнения Интернет-активации необходимо:
  • Обеспечить доступ мобильного устройства к сети Интернет.
  • Ввести регистрационный номер в окне Активация приложения и нажать кнопку Активировать .

  • Офлайн-активация Офлайн-активация выполняется в случае отсутствия возможности подключить мобильное устройство к сети Интернет.
    Для выполнения офлайн-активации необходимо:
  • Получить регистрационный номер мобильного приложения. Для этого необходимо обратиться к партнерам компании «1С-Рейтинг» в Вашем регионе или непосредственно в компанию «1С-Рейтинг».
  • В окне Активация приложения нажать на ссылку Офлайн-активация приложения .
  • В окне Офлайн-активация приложения ввести регистрационный номер мобильного приложения.
  • Нажать кнопку Получить код приложения . Откроется окно, содержащее код приложения. Данный код необходимо передать в компанию «1С-Рейтинг». В ответ будет выдан Код активации .
  • Код активации вводится в окне Офлайн-активация приложения в соответствующее поле. По нажатию кнопки Активировать выполняется активация мобильного приложения.
  • После успешной активации, мобильное приложение готово к использованию.

  • Важно!

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

    Настройка подключения к информационной базе «1С-Рейтинг: Ресторан» После активации мобильного приложения (любым из вышеперечисленных способов) автоматически открывается форма авторизации пользователя. При первоначальной авторизации форма содержит следующие поля:
    • Пользователь – пользователь, под которым будет осуществляться работа в «1С-Рейтинг: Мобильный официант». Пользователи мобильного устройства должны быть заранее созданы в информационной базе конфигурации «1С-Рейтинг: Ресторан».
    • Пароль – пароль для авторизации пользователя, указывается в настройках пользователя, в конфигурации «1С-Рейтинг: Ресторан».
    • Адрес сервера – в этом поле указывается ip-адрес компьютера, на котором запущен веб-сервер.
    • Порт – по умолчанию имеет значение 80. Если веб-сервер был настроен на какой-то другой порт, то здесь необходимо указать его номер.
    • Имя публикации – имя, указанное при публикации HTTP-сервиса в информационной базе конфигурации «1С-Рейтинг: Ресторан».


    Авторизация происходит по нажатию на кнопку Подключиться. Поля Адрес сервера и Имя публикации содержат технические данные для подключения и заполняются при первом подключении. При следующем запуске данные поля будут скрыты и доступны только в форме настроек.

    Важно!

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

    При повторной авторизации или смене пользователя достаточно указать пользователя, ввести пароль и нажать кнопку Подключиться .


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

    Сообщения при подключении

    В процессе подключения мобильного приложения к конфигурации «1С-Рейтинг: Ресторан» могут возникнуть следующие сообщения:

    1. «Произошла сетевая ошибка»

    Данное сообщение может возникать в том случае, если:

    • Потерян сигнал сети Wi-Fi.
    • Некорректно настроена работа веб-сервера.
    • Остановлена работа веб-сервера – необходимо перезапустить веб-сервер.
    • Неверно указан адрес веб-сервера и/или порт.
    2. «Недостаточно прав для использования ресурса с данным HTTP методом»

    Данное сообщение означает, что у пользователя не включена роль Доступ к объектам мобильного официанта .
    3. «The requested URL /REST/hs/Data/Registration was not found on this server.»
    Сообщение при авторизации возникает в том случае, если:
    Неверное указано имя публикации.
    Имя публикации в Мобильном официанте отличается от имени, указанного в конфигураторе Ресторана при настройке публикации (необходимо проверить совпадает ли имя публикации, важен реестр букв).
    4. «1C:Enterprise 8 application error. HTTP: Not found»
    Данное сообщение возникает, если при настройке публикации был не выбран HTTP-сервис. Необходимо проверить наличие флагов у настройки Публиковать HTTP сервисы по умолчанию и в табличной части у строки Data .

    • (3475)

    На примере мобильного приложения «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С:Предприятия – механизм обмена данными ; для каждого мобильного УНФ в большом УНФ создается узел обмена данными, в большом и мобильном УНФ задействуется служба регистрации изменений для отслеживания данных, измененных со времени последней синхронизации и т.д.

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

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

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

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

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


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

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

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

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

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

  • Совсем маленький бизнес. Учет ведется на одном мобильном устройстве.
  • Бизнес растет – появились сотрудники. Можно поставить мобильный УНФ на мобильные устройства сотрудников. При этом нужно уметь обмениваться данными между мобильными устройствами для синхронизации данных; для этого мы решили использовать не обмен через файлы, а задействовать для синхронизации (а заодно и для бэкапа) версию большого УНФ, расположенную в облаке http://1cfresh.com . При включении этого сценария в облаке http://1cfresh.com создается экземпляр большого УНФ, база которого будет использоваться для синхронизации данных между мобильными устройствами. Использование в таком сценарии одного мобильного устройства – бесплатно, за каждое дополнительное устройство мы берем 75 руб/месяц, использовать в этом сценарии можно не больше трех устройств. При этом пользователям мобильных устройств можно задать предопределенные роли – торговый представитель, сервисный инженер, продавец (возможна также детальная настройка ролей); соответствующим образом будет ограничена функциональность мобильного приложения. Можно также работать через веб-клиент или тонкий клиент с большим УНФ, размещенным в облаке, но функциональность облачного УНФ будет урезана до функциональности мобильного УНФ. Но работать непосредственно в облачном УНФ необязательно – вся работа может вестись только с мобильных устройств.
  • Бизнес вырос до размера средней фирмы. В этом случае имеет смысл арендовать в облаке полноценную версию большого УНФ, чтобы получить (через веб-клиент или тонкий клиент) дополнительную функциональность - 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С (8.3.5) появилось много нового функционала. Кстати, для тех кто не знает, есть ресурс , на котором разработчики 1С описывают появляющиеся новшества в платформе. Одним из таких является механизм . Он привлек мое внимание, захотелось что-то реализовать for fun. Сразу пришла идея сделать что-то похожее на сайт, но с этой идеей меня не поняли бы даже на инфостарте, поэтому я выкинул ее из головы. Казалось, что выкинул, но идея трансформировалась в нечто не такое маштабное, что-то такое, что может найти реальное применение в жизни - мобильное веб-приложение.
    Я считаю, что малонагруженное и простое мобильное веб-приложение, для ограниченного количества пользователей, например, сотрудников, может быть реализовано в 1С с помощью HTTP-сервисов.

    Мобильное веб-приложение "Контакты"

    Начну с результата. Мобильное веб-приложение "Контакты" выглядит просто, собственно таковым и является. В начале вы видите только поле для поиска контакта.

    Поищем кого-нибудь (для того чтобы поиск начался нужно ввести не меньше 3 символов). Кто-то нашелся.

    Позвоним Алексею.

    Напишем письмо Тимофею.

    Вот и всё мобильное веб-приложение.

    Кстати, его очень просто адаптировать под любую конфигурацию.

    Немного о реализации

    Используемые средства:
    - Механизм HTTP-сервисов платформы 1С (начиная с версии 8.3.5)
    - JavaScript библиотека jQuery (http://jquery.com)
    - JavaScript библиотека jQuery mobile (http://jquerymobile.com)
    - 1С:JSON ()

    HTTP-сервис "Конткаты" принимает все запросы и передает их в обработку "КонтактыМВП". В обработке "КонтактыМВП" сосредоточена вся логика мобильного веб-приложения.

    Так выглядит обработка запроса.

    Функция ОбработатьЗапрос(Запрос) Экспорт Если СоответствуетРесурсу(Запрос, "/index.html") Тогда Возврат ПолучитьРесурсIndexHTML(); ИначеЕсли СоответствуетРесурсу(Запрос,"/application.js") Тогда Возврат ПолучитьРесурсApplicationJS(); ИначеЕсли СоответствуетРесурсу(Запрос,"/contacts.json") Тогда Возврат ПолучитьРесурсContactsJSON(Запрос); КонецЕсли; КонецФункции

    А так, например, выглядит возврат страницы index.html.

    Функция ПолучитьРесурсIndexHTML() Ответ = Новый HTTPСервисОтвет(200); Текст = ПолучитьМакет("IndexHTML").ПолучитьТекст(); Ответ.УстановитьТелоИзСтроки(Текст); Ответ.Заголовки.Вставить("Content-Type", "text/html"); Возврат Ответ; КонецФункции

    Ничего сложного. Более детально вы можете изучить механизм загрузив КонтактыМВП.dt

    Особенности публикации

    При публикации HTTP-сервиса возникли небольшие сложности, чтобы вам было проще изложу некоторые замечания:
    - В есть достаточно подробные описания о публикации - читайте внимательнее.
    - Не забывайте перед публикацией запустить конфигуратор от имени администратора.
    - Запустить HTTP-сервис удалось только с файловой версией, с клиент-серверной возникала какая-то ошибка.
    - Для того чтобы мобильное веб-приложение работало без запроса авторизации, если в базе есть заведенные пользователи, то после публикации, в файле default.vrd в строку подключения (point.ib) необходимо добавить параметры Usr и Pwd.

    Заключение

    Надеюсь материал статьи будет вам полезен.

    Спасибо за внимание.

    Данный прототип был создан с помощью Moqups – простого и удобного сервиса создания макетов и концептов. Вполне подойдет для быстрого прототипирования небольших Android – приложений. Для прототипирования более серьезных проектов лучше использовать Photoshop и Android UI Design Kit! .

    Описание приложения

    Приложение состоит из 3 экранов:

    “Основной экран приложения” – при запуске отображается список задач (срок исполнения, наименование задачи и признак ее исполнения). По факту выполнения задачи она отмечается как исполненная в списке.

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

    “Настройки программы” – здесь задаются параметры авторизации и адрес сервера 1С, а также отображается уникальный идентификационный номер этого устройства. Здесь же может быть установлено расписание автоматического обмена.

    Структура данных, которыми обменивается мобильный клиент с сервером 1С

    Путь это будет таблица значений (в терминах 1С), которая содержит 3 колонки:

    Создание шаблона мобильного приложения в 1С

    Запустите 1С и выберите справочник “Мобильные приложения”, добавьте новый элемент, где:

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

      В поле “Наименование” укажите название вашего мобильного приложения, например Задачи .

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

    Выделите в списке “Метаданные” группу “Внешние данные” и нажмите кнопку “Добавить ” на панели инструментов. Заполните параметры новой таблицы как показано на рисунке:

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

    Каждая таблица данных в мобильном приложении должна иметь первичный ключ (PRIMARY KEY в терминах реляционных баз данных) строкового типа. Для всех объектных таблиц (справочники и документы) ключом является текстовое преставление ссылки (уникальный идентификатор) и заполняется автоматически.

    Для необъектных таблиц, таких как «регистр сведений» или «внешняя таблица», программе надо указать, как его следует заполнять. Один из вариантов – это установка флага «Индексировать» для одной или нескольких колонок таблицы, что и было сделано в нашем примере для колонок «СрокИсполнения» и «Задача». Это значит, что в таблице не может быть двух одинаковых задач на одну и ту же дату.

    Нажмите ОК , таблица будет добавлена в дерево метаданных, для мобильного приложения имена автоматически переводятся в латиницу.

    [Одно из правил FBA: в 1С исходный код пишем на русском, в Java на латинице. Отсутствие русских букв в идентификаторах, именах переменных и классах позволит избежать многих проблем при проектировании мобильного клиента]

    Переименуйте имена из латиницы в английский. В принципе, можно было оставить и латиницу, но мы уже определились с именами (выше в таблице).

    Сохраните изменения и нажмите на кнопку “Шаблон мобильного приложения ” на панели инструментов.

    «Каталог шаблонов» – укажите путь к каталогу, в котором будут сохранены сгенерированные файлы шаблона мобильного приложения.

    На закладке «Основные» укажите имя пакета, это должен быть уникальный идентификатор. Если у вас есть сайт, используйте его для генерации префикса. В нашем примере это ru.profi1c.samples.tasks

    На закладке «Web-сервис» адрес сервера указан 10.0.2.2, по умолчанию это адрес вашего компьютера при доступе с Android-эмулятора.

    В поля «Имя веб-сервиса» и «Подкаталог приложения» введите данные которые были указаны при публикации веб-сервиса.

    На закладке «О программе» заполните контактные данные и дополнительную информацию о вашем приложении, настройки на закладке «Генератор таблиц» оставляем без изменения.

    Нажмите Создать , шаблон Android-проекта будет сгенерирован. Закройте окно мастера генерации шаблона, сохраните изменения и закройте элемент справочника «Мобильные приложения»

    Поделиться