Как опубликовать мобильное приложение 1с
После выхода версии платформы 8.3.6 у пользователей программы 1С появилась возможность использовать мобильный клиент и мобильное приложение, что значительно расширило функциональное применение программы 1С Предприятие.
Наша задача состояла в разработке решения, с помощью которого на мобильном телефоне можно вносить, просматривать информацию, необходимую для управления бизнесом по оказанию услуг хостинга. То есть пользователь должен иметь возможность работать с одной и той же информацией как с телефона так и с рабочего компьютера в зависимости от возможности и своего физического местоположения.
НА СТОРОНЕ ПЛАТФОРМЫ 1С НА WINDOWS
Создана с нуля конфигурация 1С со свойством конфигурации "Назначение использования": приложение для платформы, приложение для мобильной платформы. В конфигурацию добавлены следующие объекты:
- справочники, документы
- Роль с полными правами на все объекты
- Web-сервис для обмена с мобильным клиентом
- План обмена "Мобильный обмен" для регистрации обменов
- Общая команда "Выполнить синхронизацию" для запуска обмена в мобильном клиенте
Наиболее интересные с точки зрения разработки Web-сервис и команда запускающая синхронизацию. На них остановимся подробнее.
WEB-СЕРВИС
В модуль нашего веб-сервиса добавляем две функции:
Функция Синхронизация(Данные)
ОтветКлиенту = ЗарегистрироватьВыгрузку (Данные.Получить () ) ;
Возврат Новый ХранилищеЗначения (ОтветКлиенту, Новый СжатиеДанных (9));
КОМАНДА ВЫПОЛНИТЬ СИНХРОНИЗАЦИЮ
В ветку конфигурации на вкладке Общие находим Общие команды и добавляем команду ВыполнитьСинхронизациюСБД. В модуль команды помещаем следующий код:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Если ВыполнитьСинхронизациюНаСервере() Тогда
Сообщить("Синхронизация прошла успешно!");
Иначе
Сообщить("При синхронизации были ошибки!");
КонецЕсли;
КонецПроцедуры
В режиме 1С Предприятие создаете узлы Центральной базы и Мобильного клиента. Коды узлов прописываете в коде модуля общей команды.
Чтобы начать обмен с мобильным клиентом нам необходимо:
2. Опубликовать мобильный клиент. Для этого в режиме Конфигуратор заходим в меню Конфигурация - Мобильное приложение - Публиковать. Параметры, которые необходимо указать смотрите на скриншоте:
НА СТОРОНЕ МОБИЛЬНОГО КЛИЕНТА
После выполнения подготовки конфигурации к обмену можно приступить к загрузке конфигурации в мобильный клиент и настройке обмена данными. Для этого на мобильном телефоне (планшете) уже должна быть установлена мобильная платформа. При запуске мобильной платформы необходимо добавить информационную базу с помощью кнопки плюс и указать параметры подключения:
- наименование приложения: произвольное название
- адрес обновления: строка состоит из адреса сервера, на котором опубликовано мобильное приложение и из имени мобильного приложения, которое вы указали при публикации мобильного приложения
Дальнейшая наша разработка будет направлена на синхронизацию созданой конфигурации с любой другой конфигурацией 1С через обмен данными. Метод обмена и его реализация будут опубликованы на нашем сайте в разделе Программирование.
Установка веб сервера Apache
Скачанный архив распаковываем, по пути: «C:\Apache22», убедитесь, что порт 80 на вашем компьютере свободен и не занят другим приложением. Далее с помощью «Командной строки» (запущенной от имени администратора) переходим в каталог «C:\Apache22\bin» и выполняем команды:
Разработка мобильных приложений 1С СкриншотКоманднойСтроки
Разработка мобильных приложений 1С СкриншотApache
В папке с исполняемыми файлами веб сервера, находится приложение «ApacheMonitor.exe», которое служит удобной утилитой для остановки и перезапуска сервера. Ссылку на данное приложение помещаем в автозагрузку операционной системы, например, в папку:
Установка мобильной платформы для разработчиков 1С
Разработка мобильных приложений 1С СкриншотБезопасность
Создание конфигурации для мобильного приложения
3. На локальном компьютере создайте новую базу данных и запустите «Конфигуратор». В свойствах конфигурации, для параметра «Назначение использования» укажите «Мобильное устройство».
Разработка мобильных приложений 1С СкриншотМобильноеУстройство
Далее с помощью правой кнопки мыши откройте меню конфигурации и выберите пункт «Открыть рабочую область начальной страницы» и установите созданную форму.
Разработка мобильных приложений 1С СкриншотНастройкиОтладки
Разработка мобильных приложений 1С СкриншотНастройкиПубликации
Проверка настроек брандмауэра
4. Проверьте настройки брандмауэра, порты 80 и 45455 по протоколу TCP, должны быть доступны. На домашнем компьютере использую «ESET Smart Security», версии 9, для него необходимо зайти в «Дополнительные настройки», выбрать раздел «Персональный файервол», далее подраздел «Основное» и «Изменить» правила.
Разработка мобильных приложений 1С СкриншотНастройкиБрандмауэра
Настройка мобильного приложения 1С
5. Откройте мобильную платформу на устройстве Android и добавьте новое приложение, настройте как показано на скриншоте (используйте свой IP адрес):
Разработка мобильных приложений 1С СкриншотНастройкиПриложения
Тестирование мобильного приложения 1С
6. Тестируйте ваше 1С мобильное приложение «Привет мир». Дополнительно, попробуйте поставить точку останова в процедуре обработки нажатия кнопки.
В дальнейшем, планирую продолжить данный цикл статей «Разработка мобильных приложений 1С», где постараюсь объяснить просто и доступно, что нужно сделать, чтобы научится создавать мобильные приложения 1С.
8 комментариев для “Разработка мобильных приложений 1С”
Сделал всё так же, но отладка мобильного приложения не запускается. На телефоне приложение перезапускается при нажатии на Отладка мобильного приложения, но на точки не реагирует, и в конфигураторе нет признака отладки
Попробуйте проверить доступность портов отладки, с помощью браузера, как с компьютера на мобильный, так и в обратную сторону. Проверьте настройки firewall и антивируса.
так же заметил такую жуть:
Интересно, а если попробовать настроить отладку в эмуляторе Android, будут те же проблемы?
Фокусировку в 8.3.11.57 так и не смог победить. Заметил, что мобильная унф на 8.3.10.65 и перешел на 8.3.10.84.
Еще один момент, в моб приложении надо указывать сервер отладки?
Предыстория
Еще во времена «1С:Предприятия» версии 8.0 (и последующих версий) существовал программный продукт «Расширение для карманных компьютеров». Расширение позволяло создавать продукты только для ОС Windows Mobile, Windows CE и т.д. Продукт обладал собственным конфигуратором, и сервером, и поддерживался вплоть до выпуска «1С:Предприятия» версии 8.3. Последняя версия расширения (8.2.9) была выпущена в октябре 2013 года, а полная поддержка прекратилась 1 января 2015 года.
Расширение имело ограниченное применение даже во времена расцвета коммуникаторов на Windows Mobile, а уход таких устройств с мобильного рынка явно не добавил популярности этому программному продукту. Устройства на iOS и Android заняли практически весь рынок мобильных устройств, и стало очевидно, что поддержка этих ОС является одним из ключевых моментов для системы, которая должна эксплуатироваться в современном мобильном мире. Также казалось очевидным, что основной подход существующей платформы «1С:Предприятие» должен использоваться и на мобильных устройствах: прикладной разработчик должен в первую очередь думать о решении прикладных задач, а во вторую — о том, какие возможности используемой ОС ему задействовать для решения этих задач. Другими словами, нужен инструмент, который изолирует прикладного разработчика от особенностей конкретных мобильных ОС и инструмента разработки.
Мобильная платформа
- она должна поддерживать современные популярные мобильные операционные системы и устройства под их управлением. В первую очередь это ОС iOS фирмы Apple и Android компании Google.
- эта система должна позволять использовать разработанные приложения в стиле, принятом на современных мобильных устройствах. В частности, интерфейс должен опираться на ручное управление (в буквальном смысле этого слова) с использованием сенсорных экранов.
- система должна обеспечивать единообразный программный интерфейс для реализации различных специфических механизмов, вне зависимости от используемой мобильной ОС.
- разработчик должен использовать тот же инструмент и те же подходы к разработке, что и при разработке приложений для «обычного» компьютера.
- прикладной разработчик должен разрабатывать прикладное решение в привычной среде разработки, по возможности используя единый код для настольной и мобильной систем.
- интерфейс прикладного решения, работающего на мобильном устройстве, должен быть аналогичен для различных платформ и в целом однозначно узнаваем.
Начиная с версии мобильной платформы 8.3.7 стала доступна и отладка приложения непосредственно на мобильном устройстве (подробнее об этом ниже).
- мобильное приложение может быть составной и неотъемлемой частью существующей информационной системы предприятия. Мобильное приложение будет предоставлять интерфейс и другие возможности (включая обмен данными), «заточенные» под возможности существующей информационной системы. В этом случае мобильное приложение очень плотно связано с «обычной» информационной системой и не может эксплуатироваться в отрыве от нее.
- мобильное приложение выполняет специфические задачи, которые практически никак не связаны с информационной системой предприятия. Существует лишь минимальный набор данных, которыми обмениваются мобильное приложение и информационная система. В этом случае, скорее всего, мобильное приложение будет выполнять обмен по некоторому стандартизированному протоколу, что делает возможным применение этого мобильного приложения в совершенно различных случаях и ситуациях.
Устройство мобильной платформы
- Собственно мобильная платформа — мобильная часть фреймворка «1С:Предприятие». Она бывает обычной (которая используется во время сборки приложения для публикации в магазине приложений) и мобильной платформой разработчика, которая используется (сюрприз) во время разработки мобильного приложения.
- Мобильная конфигурация — это конфигурация системы программ «1С:Предприятие», записанная в виде XML-файла.
- Комбинация мобильной платформы и мобильной конфигурации дает мобильное приложение.
- Сборщик мобильных приложений — специализированное прикладное решение, которое умеет сделать из мобильной платформы, конфигурации, заставок, иконок и прочих компонентов, готовый файл мобильного приложения, который можно загрузить в магазины Apple AppStore, Google Play, Windows Phone Apps / Windows Apps.
Немного о платформе разработчика
Что умеет?
Как выглядит?
Графический интерфейс мобильной платформы – отдельная тема. В 1С:Предприятии, как известно, интерфейс описывается декларативно. Это, с одной стороны, накладывает некоторые ограничения на разработку UI (например, отсутствует возможность попиксельного позиционирования), но, с другой стороны, позволяет платформе единообразно отрисовывать интерфейс на экранах разного размера, в тонком и веб-клиенте. Этого же принципа мы старались придерживаться и в мобильной платформе. Насколько хорошо нам это удалось? Попробуем разобраться.
В первых версиях мобильной платформы (до 8.3.5 включительно) графический интерфейс приложений выглядел весьма привычно для искушенных пользователей 1С; фактически он переносил знакомый по «десктопным» версиям 1С интерфейс в мобильный мир. Но с точки зрения пользователей, ранее с 1С не знакомых, интерфейс выглядел несколько архаичным.
Учтя замечания и пожелания, мы коренным образом пересмотрели свой подход к мобильному интерфейсу в версии 8.3.6. Можно сказать, что мы сделали совершенно новый мобильный интерфейс для наших приложений. Он имеет много общего с нашим интерфейсом «Такси». Модель разработки для разработчиков мобильных приложений соответствует модели разработки в «Такси». При этом мобильный интерфейс полностью соответствует принятым в мобильных приложениях подходам к дизайну и UX. Интерфейс полностью учитывает специфику мобильного мира: небольшой размер экрана (а значит, оформление графических элементов должно стать более аскетичным – без теней, градиентов), есть поддержка пальцевых жестов и т.д. Интересный факт: новый механизм платформы, отвечающий за размещение элементов в форме (layouter) оказался настолько удачным и своевременным для мобильной платформы, что был выпущен в ней раньше (в версии 8.3.6) чем в платформе для ПК (в версии 8.3.7), для которой он в первую очередь предназначался.
На картинке можно увидеть, как поменялся наш интерфейс.
Приложение «Управление небольшой фирмой» на версии мобильной платформы 8.3.5:
Оно же на версии 8.3.6:
А вот так выглядит интерфейс мобильной платформы вживую:
Сборщик — и что это за зверь?
- Загружаем версию мобильной платформы 1С, на которой будем собирать приложение
- Загружаем конфигурацию, из которой будем собирать мобильное приложение
- Создаем мобильное приложение, в котором указываем, для каких платформ (Android, iOS, Windows) надо выполнять сборку, какую конфигурацию и платформу следует использовать (в частности, указать, какой сертификат для сборки под iOS использовать в случае, если приложение работает с PUSH-уведомлениями).
- Выполняем «одним кликом» сборку мобильного приложения под все выбранные платформы
- «Другим кликом» отправляем собранные мобильные приложения в магазины приложений (если это приложение для iOS или Android). В магазины Windows Apps / Windows Phone Apps приложение нужно загружать вручную, т.к. Microsoft пока не предоставляет API для размещения приложения в магазине.
Приложения на мобильной платформе
Сама фирма «1С» выпускает на мобильной платформе ряд приложений, являющихся мобильными клиентами серверных приложений 1С (1С:Документооборот, 1С:Управление Небольшой Фирмой и т.д.). Эти приложения реализуют некоторое подмножество функциональности «обычных» клиентов. В случае мобильной версии «1С:Управление Небольшой Фирмой» функциональности достаточно для полноценного использования программы, и мы часто видели ситуацию, когда клиентам для ведения бизнеса достаточно мобильной версии приложения.
Наши партнеры используют мобильную платформу как для разработки тиражных мобильных приложений, распространяемых через магазины приложений, так и для заказных приложений, созданных по запросам конкретных клиентов. Среди тиражных приложений встречаются приложения, которые используют не 1С-ный back-end в качестве центрального хранилища данных.
Среди мобильных приложений, созданных по заказу клиентов, можно упомянуть мобильный клиент для «1С:Управления Производственным Предприятием», созданный по заказу крупного машиностроительного холдинга. Около ста сотрудников холдинга используют мобильное приложение в горячих цехах, где по соображениям техники безопасности поставить стационарные компьютеры невозможно. Встроенная камера мобильного устройства используется для чтения штрих-кодов изделий и поиска их в справочнике номенклатур, мобильное приложение позволяет понять, на каком этапе технологической цепочки находится данное изделие, отметить прохождение изделием очередной операции и т.п.
В данной статье мы создадим мобильное приложение для ОС Android и ОС iOS.
По ходу создания, мы реализуем таймер средствами 1С, реализуем программный вывод анимированной диаграммы на форму («Поле диаграммы» управляемой формы), также работу с PUSH-уведомлениями на мобильном устройстве, показ рекламы в приложении и работа со встроенными покупками.
Приложение для повышения продуктивности по «помидорной» технологии.
Позволю напомнить - метод Pomodoro заключается в делении вашего рабочего времени на 25-минутные отрезки, называемые «помидорами», между которыми вы можете позволить себе отдых в течение 5 минут. Вы должны работать без отвлечения 25 минут, затем 5 минут отдохнуть и приниматься за следующий рабочий «помидор». После четырёх таких отрезков — отдых на целых 15 минут.
Описание «Помидорной» техники несколько странное, но стоит её попробовать, и Вы убедитесь, что это отличный способ повышения продуктивности работы.
Создание конфигурации для мобильного приложения
Создадим новую «пустую» базу. Дадим имя конфигурации «Pomodoro». Обязательно укажем свойство «назначение использования» - «Мобильное приложение»
а в свойстве «Требуемые разрешения мобильного приложения» установим флажки «Локальные уведомления» и «Встроенные покупки»
Создадим регистр сведений, в котором будет храниться информация о «полученных» помидорах (количество законченных отрезков времени, в течение которого пользователь продуктивно работал)
Таймер средствами 1С
В обработке можно запустить таймер и дождаться окончания его работы, либо остановить таймер. В первом случае пользователь получит PUSH-уведомление о том, что он заработал очередной помидор (запись в регистр сведений «Помидоры»), во втором случае PUSH-уведомление о том, что помидор не получен (запись в регистр не производится).
Также на форме в процессе работы таймера будет показан индикатор, выполняться обратный отсчет и показываться текущее время и время окончания работы таймера
Создадим обработку Таймер и основную форму
Для формы создадим команду «Запустить таймер», обработчик действия (нажатие):
И команду «ОстановитьТаймер», обработчик действия (нажатие):
В этих процедурах подключается (либо отключается) обработчик ожидания «ВыполнитьОтсчет», а также выполняется работа с PUSH-уведомлениями
Код процедуры обработчика ожидания ВыполнитьОтсчет»:
Вывод PUSH-уведомлений реализуется так:
В коде выполняется управление доступностью кнопок запуска и остановки таймера в зависимости от его состояния (запущен таймер, либо остановлен) – осталось установить первоначальную видимость этих кнопок при открытии формы:
Статистика – диаграмма
Создадим обработку Статистика и основную форму
Полную реализацию Вы можете посмотреть во вложенном файле конфигурации. Сейчас рассмотрим программный вывод анимированной диаграммы на форму
Управление рекламой
Для управления рекламой используется свойство глобального контекста «ОтображениеРекламы»
Реклама будет выводится в виде рекламного баннера вверху, либо внизу (свойство «ОтображениеРекламногоБаннера») окна приложения:
Включение показа рекламного баннера реализуем в Модуле управляемого приложения в процедуре ПриНачалеРаботыСистемы():
Читайте также: