Предварительные настройки

Перед началом работы на мобильном устройстве необходимо установить корневой сертификат сервиса «1С: Линк».

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

Особенности настройки мобильных приложений1С: Заказы
  • В информационной базе перейдите в раздел "Администрирование", выберите пункт меню "CRM и продажи", поставьте галочку "Разрешить синхронизацию данных с мобильным приложением 1С: Заказы клиентов", нажмите на ссылку "Настройки синхронизации" и добавьте настройку для пользователя.
  • Логин: логин пользователя 1С
  • Настройка "1С:ЛИНК" включена
  • Имя туннеля:
  • Настройка "SSL" должна быть включена для работы с ИБ по протоколу HTTPS и выключена для работы по HTTP
  • Каталог:
Мобильный Документооборот
  • В настройках информационной базы включите работу с мобильным клиентом.
    Для этого зайдите в информационную базу под пользователем с правами администратора, выберите пункт меню "Настройка и администрирование" - "Настройка программы" - "Обмен данными" и поставьте галочку "Использовать мобильные клиенты"
  • Адрес подключения: https://.сайт/
  • Логин: логин пользователя 1С
  • Пароль: его пароль

Обратите внимание, что для работы с мобильным приложением у вас должна быть установлена версия 1С: Документооборота 8 не ниже, чем 1.3.1.3 КОРП

1С: УНФ
  • В настройках синхронизации мобильного приложения "1С: УНФ" перейдите в раздел "Другой сервис"
  • В поле "адрес приложения" укажите (без ru_RU)
  • Укажите логин и пароль пользователя информационной базы и нажмите кнопку "Войти".

1С: Монитор ERP
  • Логин: логин пользователя 1С
  • Пароль: его пароль
  • Настройка "1С:ЛИНК" включена
  • Имя туннеля:
  • Каталог:

Клиент бухгалтерии 1cfresh

Для синхронизации с Бухгалтерией предприятия, опубликованной в 1С: Линк можно воспользоваться мобильным приложением "Клиент бухгалтерии 1cfresh".

  • В настройках мобильного приложения "Клиент бухгалтерии 1cfresh" перейдите в раздел "Другой сервис"
  • В поле "адрес базы для подключения" укажите https://имя туннеля.link.1c.ru/путь-веб-приложения (без ru_RU)
  • Укажите логин и пароль пользователя информационной базы и нажмите кнопку подключиться.


Данный прототип был создан с помощью 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-проекта будет сгенерирован. Закройте окно мастера генерации шаблона, сохраните изменения и закройте элемент справочника «Мобильные приложения»

Практика разработки мобильного приложения 1С 8.3 (часть 1)

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

Изначально был выбран «неправильный» подход с компилированием приложения и закидыванием его на планшетник вручную. Напомню, что для сборки мобильных приложений используется «Помощник создания мобильного приложения» (MobileAppWizzard ). Затем на одном из форумов было найдено красивое решение с использованием мобильного приложения для разработки. Это приложение входит в комплект установки мобильной платформы. На момент разработки использовалась платформа версии 8.3.3.24. В папке «Android » можно найти файл 1cem.apk. Это и есть мобильное приложение для разработки. Его огромнейший плюс, сэкономивший нам уйму времени — в том, что можно опубликовать мобильное приложение на веб-сервере, а на планшетнике указать путь вида http://[ Адрес веб-сервера ]/[ Имя мобильного приложения ].

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

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

Что требовалось:

1. Настроить обмен между центральной базой и мобильным устройством.

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

3. Реализовать простой интерфейс для менеджеров, где они смогут быстро просмотреть остатки, цены и взаиморасчеты.

На этапе тестирования использовалась промежуточная база «Управляемое приложение», ввиду того что демо-приложение 1С:Заказы изначально заточено на обмен именно с Управляемым приложением.

Первый блин вышел комом. В прямом смысле. Для обмена с центральной базой был использован v82.ComConnector. Не буду вдаваться в подробности его настройки, об этом есть куча отдельных материалов. Пройдусь только по тем трудностям, с которыми столкнулся.

1. Использование com- объектов на 64-битной серверной ОС. Для решения проблемы была использована обертка COM+ Applications, которая настраивается в Component Services.

2. Удаленный вызов Com с другого сервера. Вызываемый сервер должен иметь роль Application Server, и у него должно быть настроено COM+ Network Access. Кроме того, сервер Apache должен иметь соответствующие права (т. е. запускаться как сервис от имени авторизованного пользователя)

Намучившись с Ком-соединениями, решили переводить рабочую базу на web- сервисы.

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

Рабочая база развернута на платформе 8.2, мобильное приложение, соответственно, на 8.3.

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

Далее, поймал забавную ошибку при авторизации пользователя (при создании ws Определения). При тестировании на компьютере, авторизация с длинным ФИО проходит легко. При попытке авторизации этого же пользователя с планшетника под управлением Android, авторизация заканчивалась, не начавшись. Экспериментальным путем удалось вычислить, что кириллицей длина логина ограничена 22 символами. При этом сочетание кириллических символов и цифр дало авторизоваться с логином длиной 27 символов. Есть подозрение, что это связано с преобразованием кириллических символов. Так, например, в браузере Firefox строка из Википедии « иво» преобразуется в « ».

Технологически, мобильная платформа 8.3.3 на текущий момент имеет ряд ограничений. Самое ожидаемое, на мой взгляд, нововведение — это поддержка запросов. Но, поскольку произвольные запросы в динамических списках мобильная платформа пока не поддерживает, пришлось «пойти другим путем».

Для решения задачи отображения справочника номенклатуры с ценами и остатками был использован следующий подход:

1. В форме справочника номенклатуры созданы две таблицы. Первая — динамический список, собственно сам справочник. Фильтр динамического списка настроен так, чтобы выводились только группы. Вторая таблица — собственно остатки и цены. При активизации строки динамического списка, на сервере происходит заполнение таблицы значений, которая затем и выводится во вторую таблицу. При получении цен и остатков использовалась объектная модель. Все эти танцы с бубном были исполнены только потому, что привычного по толстому клиенту метода «при выводе строки» или «при получении данных» нет, и динамически нарисовать цифры в колонке нельзя.

Аналогичный подход использовался и в форме подбора

2. Для вывода строки с текущими ценами отлично подошла ФорматированнаяСтрока.

Ниже — пример кода.

&НаСервереБезКонтекста Функция ОстаткиПриАктивизацииСтрокиНаСервере(ном) НаборЗаписей = РегистрыСведений.ЦеныТоваров.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Товар.Значение = ном; НаборЗаписей.Отбор.Товар.Использование = Истина; НаборЗаписей.Прочитать(); МассивФорматированныхСтрок = Новый Массив; Для Каждого СтрокаНабора Из НаборЗаписей Цикл МассивФорматированныхСтрок.Добавить(Новый ФорматированнаяСтрока(СтрокаНабора.ВидЦен.Наименование,WebЦвета.Синий)); МассивФорматированныхСтрок.Добавить(Новый ФорматированнаяСтрока(" " + Строка(СтрокаНабора.Цена) + " ")); КонецЦикла; Возврат Новый ФорматированнаяСтрока(МассивФорматированныхСтрок); // Вставить содержимое обработчика. КонецФункции

3. Для загрузки справочников, остатков и цен в мобильное приложение был использован веб-сервис, который на входе получает структуру параметров, а на выходе возвращает хранилище значения. Еще одним неприятным открытием стал вылет обмена при слишком длительной обработке на стороне сервера. Сложилось впечатление, что имеется какой-то таймаут, после которого приложение «считает», что связь прервана (хотя на самом деле все еще идет обработка данных в рабочей базе через ws -соединение), и прекращает обмен с ошибкой.

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

4. Для получения отчетов оставлен тот же подход, что и в конфигурации 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)

    Close