1с расширение для карманных компьютеров как использовать

Обновлено: 07.07.2024

Предыстория

Еще во времена «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С:Предприятие». Она бывает обычной (которая используется во время сборки приложения для публикации в магазине приложений) и мобильной платформой разработчика, которая используется (сюрприз) во время разработки мобильного приложения.
  2. Мобильная конфигурация — это конфигурация системы программ «1С:Предприятие», записанная в виде XML-файла.
  3. Комбинация мобильной платформы и мобильной конфигурации дает мобильное приложение.
  4. Сборщик мобильных приложений — специализированное прикладное решение, которое умеет сделать из мобильной платформы, конфигурации, заставок, иконок и прочих компонентов, готовый файл мобильного приложения, который можно загрузить в магазины 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. Загружаем версию мобильной платформы 1С, на которой будем собирать приложение
  2. Загружаем конфигурацию, из которой будем собирать мобильное приложение
  3. Создаем мобильное приложение, в котором указываем, для каких платформ (Android, iOS, Windows) надо выполнять сборку, какую конфигурацию и платформу следует использовать (в частности, указать, какой сертификат для сборки под iOS использовать в случае, если приложение работает с PUSH-уведомлениями).
  4. Выполняем «одним кликом» сборку мобильного приложения под все выбранные платформы
  5. «Другим кликом» отправляем собранные мобильные приложения в магазины приложений (если это приложение для iOS или Android). В магазины Windows Apps / Windows Phone Apps приложение нужно загружать вручную, т.к. Microsoft пока не предоставляет API для размещения приложения в магазине.

Приложения на мобильной платформе

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

1С:Предприятие 8. Расширение для карманных компьютеров. Дополнительная лицензия на 1 рабочее место

Лицензия "1С:Предприятие 8. Расширение для карманных компьютеров" дает возможность обмена данными между базой данных "1С:Предприятие" и мобильными приложениями, используя современные способы связи. Расширение возможно устанавливать на карманные компьютеры, коммуникаторы, терминалы и прочие устройства.

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

"1С:Предприятие 8. Расширение для карманных компьютеров. Дополнительная лицензия на 1 рабочее место" позволяет использовать расширение на 1 дополнительном КПК и может быть приобретена дополнительно к основной поставке.

Услуги по настройке и дополнительные сервисы
Выбрать

Вы получите 255 бонусов (15%) ?

Можно в рассрочку ?

Аренда программы в облаке со всеми возможностями, с удаленным доступом с любого устройства с поддержкой 24/7 1С:Предприятие 8. Расширение для карманных компьютеров. Дополнительная лицензия на 1 рабочее место

Задать вопрос

Вместе с покупкой вы получите

Безлимитную линию консультаций

Подключение к вашей программе с демонстрацией экрана для решения вопросов, связанных с 1С.

Подарки и бонусы

Персонального сервисного инженера

Обновление 1С с гарантией сохранности баз. Создание архивной копии баз до и после установки обновлений. Всегда актуальная версия 1С и бесплатная установка сервисов.

Кэшбэк до 20% на услуги

Быструю помошь

Срок реакции специалиста на ваш запрос — не более 30 минут.

Личный кабинет

Контроль заказов, обмен документами, управление бонусами.

Почему покупать лучше у нас?

1С:ВГДБ — официальный партнер фирмы 1С

Мы являемся сертифицированным партнером 1С и Битрикс более 25 лет. Вы получаете возможность работать абсолютно законно.

Вернем до 20% услугами

Позвоните нам по телефону 8 (800) 775-90-01 и узнайте подробнее о том, как снизить затраты.

Бонусная программа

Мы разработали бонусную программу, Которая позволяет работать с 1С еще выгоднее.

Не покидаем ТОП-5 среди 7000 партнеров 1С более 25 лет

30 дней бесплатно

Попробуйте бесплатно и убедитесь сами в качестве наших продуктов и услуг.

Письменная гарантия качества

Мы настолько уверены в качестве, что предоставляем письменную гарантию качества на все продукты и услуги.

Бесплатное сопровождение

Мы всегда придем на помощь.

Экспертность

Наши компетенции подтверждены соответствующими статусами и сертификатами.

Выгодное комплексное сопровождение ИТС

Бесплатное сопровождение 3 месяца

При покупке программы « » версии ПРОФ или КОРП, вы получаете 3 месяца комплексного информационно-технологического сопровождения 1С:ИТС (КП) в подарок! При покупке программы 1С версии ПРОФ или КОРП вместе с пакетом обслуживания 1С:ИТС (КП) на 12 месяцев сразу, 4 месяца информационно-технологического сопровождения бесплатно!

Варианты обслуживания

Поддержка и обслуживание программ 1С по разовым обращениям с почасовой оплатой:
— Доработки 1С.
— Разовые выезды специалииста.
— Консультации по нетиповым программам.
— Выездные и удаленные работы.
— Безлимитный доступ к специалистам 1С.
— Неограниченное количество часов поддержки.
— Выездная и удаленная оперативная помощь по программным продуктам 1С.
— Доработки конфигурации.
— Работа по договору SLA.
— Письменная гарантия качества.

Лицензия "1С:Предприятие 8. Расширение для карманных компьютеров" дает возможность обмена данными между базой данных "1С:Предприятие" и мобильными приложениями, используя современные способы связи. Расширение возможно устанавливать на карманные компьютеры, коммуникаторы, терминалы и прочие устройства.

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

"1С:Предприятие 8. Расширение для карманных компьютеров. Дополнительная лицензия на 1 рабочее место" позволяет использовать расширение на 1 дополнительном КПК и может быть приобретена дополнительно к основной поставке.

"1С:Предприятие 8. Расширение для карманных компьютеров. Дополнительная лицензия на 1 рабочее место" - это дополнительное рабочее место для продукта 1С "Расширение для карманных компьютеров". Ниже приводится описание основной поставки.

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

Это позволяет мобильному пользователю просматривать данные базы "1С:Предприятия 8" на мобильном устройстве и вводить новую информацию. которая после обмена фиксируется в информационной базе "1С:Предприятия 8".

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

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

"1С:Предприятие. Расширение для карманных компьютеров" позволяет решать следующие задачи:

1C: Расширение для карманных компьютеров 8


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

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

Стоимость 1С: Расширение для карманных компьютеров

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

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

Возможности Расширения для карманных компьютеров

"1С:Предприятие. Расширение для карманных компьютеров" позволяет решать следующие задачи:

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

Указанные задачи решаются при помощи различных компонент, входящих в состав продукта:

  • редактор мобильных приложений;
  • платформа исполнения мобильных приложений;
  • сервер мобильных приложений.

Также "1С:Предприятие. Расширение для карманных компьютеров" поддерживает работу со специализированной внешней компонентой 1С:Предприятия - компонентой обмена данными MAppExch, что позволяет организовать обмен данными без использования сервера мобильных приложений.

Структура продукта

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

Редактор мобильных приложений

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

Платформа исполнения мобильных приложений

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

  • для карманных компьютеров и коммуникаторов;
  • для персональных компьютеров и ноутбуков.

Интерфейс мобильных приложений по стилю схож с интерфейсом 1С:Предприятия 8, поэтому может быть достаточно быстро освоен пользователями, имеющими опыт работы в среде 1С:Предприятие 8.

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

Для пользователя общая схема работы выглядит следующим образом:

  • получение данных от 1С:Предприятия;
  • работа с данными на мобильном устройстве (или ноутбуке);
  • передача данных в информационную базу 1С:Предприятия.

Сервер мобильных приложений

Сервер мобильных приложений работает на персональном компьютере. Он обеспечивает обмен данными между мобильным приложением и информационной базой 1С:Предприятия 8. Чтение/запись данных 1С:Предприятия осуществляется посредством COM-соединения, вызовом соответствующих методов COM-объекта.

Платформа исполнения мобильных приложений может обращаться к серверу посредством GPRS, BlueTooth, WiFi, IRD A, ActiveSync.

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

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

Компонента обмена данными

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

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

Подробное описание компоненты обмена данными включено в комплект поставки.

Работа с табличными документами, печать

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

  • Посредством TCP/IP (WiFi,GPRS);
  • Посредством BlueTooth;
  • Через инфракрасный порт (IRDA);
  • Через COM-порт.

Также можно осуществлять печать, используя принт-сервер.

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

Технология создания и использования внешних компонент

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

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

Состав продукта и основные требования

В состав продукта "1С:Предприятие 8. Расширение для карманных компьютеров" входят следующие компоненты:

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

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

  • операционная система Microsoft Windows 2000 или выше;
  • 1С:Предприятие 8 версии 8.0.11 или выше.

Для работы платформы исполнения мобильных приложений на персональных компьютерах и ноутбуках необходима операционная система Microsoft Windows 2000 или выше.

Для работы платформы исполнения мобильных приложений на карманных компьютерах и коммуникаторах необходима операционная система Pocket PC 2003, Windows Mobile 5.0, или Windows C.E. 4.0 и выше.

Основные требования к аппаратной части:

  • процессор Intel ARM 200 МГц и выше;
  • оперативную память 64 Мбайт и выше;
  • наличие стилуса обязательно.

Все программные компоненты, входящие в состав продукта, имеют как русский, так и англоязычный интерфейс.

Освоение продукта

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

Для разработчиков, имеющих опыт разработки в среде 1С:Предприятие 8, освоение принципов разработки мобильных приложений не должно вызвать сложностей.

Повторная активация продукта

В случае утери или поломки КПК, для которого ранее была активирована лицензия, возможна повторная активация продукта "1С:Предприятие 8. Расширение для карманных компьютеров".

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

Разработка мобильных приложений на платформе 1С:Предприятие 8.3

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

Впервые фирма «1С» попыталась выйти на рынок мобильной разработки в 2006 году. В то время был настоящий ажиотаж на автоматизацию работы удаленных сотрудников при помощи КПК. Новые программы для решения подобных задач появлялись как грибы и такой вендор как «1С» с успешными продуктами для автоматизации разных сфер бизнес не мог упустить шанс выйти на прибыльный рынок.

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

Да, были всевозможные обходы ограничений, но даже они не позволяли по-настоящему развернуться. Помимо технических ограничений, потребители ощутили серьезный финансовый барьер. Компаниям, решившим внедрить решение от «1С», требовалось закупить производительные КПК, приобрести лицензии на Windows Mobile, а также заплатить «1с» за поставку решения и конечное приложение.

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

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

приложений с треском провалилась.

Шаг вперед

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

«1С» полностью переосмыслила подход к решению мобильной «теоремы» и учла ошибки предыдущего неудачного продукта. Результатом стал абсолютно новый инструмент, не имеющий ничего общего с предшественником и ориентированный на самые актуальные мобильные платформы – Android и iOS.

Мобильные приложения в стиле 1С

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

Для работы вам потребуется последний релиз платформы «1С:Предприятие 8.3». Учебная версия дистрибутива доступна на официальном сайте 1С. Для воссоздания примера ее возможностей более, чем достаточно.

Помимо платформы «1С:Предприятие 8.3» нам потребуются ряд дополнительных инструментов. В статье будет рассматриваться пример разработки приложения для Android. В связи с этим придется загрузить: Android SDK и WEB-сервер Apache. Первый компонент содержит все необходимое для сборки приложения и эмулятор для тестирования, а WEB-сервер пригодится для быстрой загрузки приложения на мобильную ОС.


Также нам потребуется поставка «Мобильной платформы разработчика». Она содержит конфигурацию для упрощения процесса сборки созданного мобильного приложения, а также мобильную платформу разработчика. Ее необходимо установить на мобильном устройстве или эмуляторе.

Для сборки приложения, готового к распространению через Google Play потребуется загрузить Apacheant и JavaJDK. Эта тема выходит за рамки статьи, поэтому узнать подробности о работе с этими инструментами и сборкой приложения вы можете в соответствующем разделе моего блога.

Конфигурируем инструменты

Платформа «1С:Предприятие 8.3» и web-сервер Apache поставляются с инсталляторами и устанавливаются стандартным образом. Android SDK необходимо просто разархивировать в отдельную директорию и запустить “sdk manager.exe”. Перед вами появится окно с выбором доступных пакетов для установки. Для тестирования, рассматриваемого в рамках статьи примера, потребуется выбрать и установить: Android SDK Tools, Android Platform Tools, SDK Platform API 17.

Установка Android SDK

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

Первая мобильная конфигурация

В главном меню конфигуратора найдем раздел «Конфигурация» и выберем пункт «Открыть конфигурацию». Дерево конфигурации (объектов, из которых будет состоять будущее приложение) отобразится в левой части окна. Выделите в нем корень конфигурации и нажмите сочетание клавиш «Alt + Enter». В правой части окна конфигуратора откроется редактор свойств.

Окно конфигуратора

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

Редактор свойств конфигурации

Для решения нашей задачи, в дереве конфигурации нам потребуется создать несколько объектов метаданных:

  • Перечисление «СтатусыЗадач» с тремя значениями: Выполнена, ВПроцессеИсполнения, ОжидаетПринятияРешения. Ими будем определять состояние созданных задач.
  • Справочник «Ответственные». Элементы справочника определяют ответственных лиц, т.е. исполнителей.
  • Справочник «Задачи». Здесь будем хранить все задачи. Для удобства группировки задач включим флажок «Иерархический справочник и создадим несколько реквизитов:
    • Описание (строка, 500);
    • статус (ПеречислениеСсылка.СтатусыЗадач);
    • Ответственный (СправочникСсылка.Ответственные);
    • ДатаИсполнения (Дата);
    • Одно измерение «Задача» (СправочникСсылка.Задачи);
    • Один ресурс «Статус» (ПеречислениеСсылка.СтатусыЗадач);

    Этих объектов нам вполне хватит для решения задачи и обкатки возможностей мобильной платформы. Взаимодействие пользователя будет происходить с формой элемента справочника «Задачи», поэтому желательно поработать над ее дизайном. Я на этом заострять внимание не стану, т.к. статья не резиновая, а просто приведу скриншот моего варианта оформления. Вы можете сделать что-то подобное или положиться на платформу, которая при необходимости сгенерирует необходимые формы автоматически.

    Форма новой задачи

    Пишем код

    Первым делом напишем код для добавления в регистр сведений «СостояниеЗадач» новых записей. Для этого откроем модуль менеджера (правый клик по регистру) и опишем в нем две процедуры (см. листинг 1 и листинг 2).

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

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

    Листинг 1. Код процедуры «ДобавитьЗадачу»

    Листинг 2. Код функции «ПолучитьСписокНеЗакрытых Задач()

    С получением данных из регистра сведений и их записью разобрались, теперь научим наш справочник работать с регистром. Для этого в дерево конфигурации добавим общий модуль с именем «РаботаСЗадачами». Можно обойтись и без него, но мне сразу хочется акцентировать внимание на возможность разбивки кода по модулям. Многие 1С-разработчики до сих пор пренебрегают этой рекомендацией и всю логику описывают в одном месте, тем самым затрудняя последующее сопровождения кода. Создадим в модуле новую процедуру «СоздатьНовуюЗадачу» (см. листинг 3).

    Листинг 3. Код процедуры «СоздатьНовуюЗадачу»

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

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

    Работаем над интерфейсом

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

    Найдем в дереве конфигурации узел «Общие формы» и добавим новую форму с именем «РабочийСтол». Откроем созданную форму в конструкторе интерфейса и добавим реквизит типа «ТаблицаЗначений». Назовем его «ОткрытыеЗачи». Таблица будет содержать две колонки – «Задача» (СправочникСсылка.Задачи) и «ДатаИсполнения» (Дата).

    Модифицированная форма рабочего стола

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

    Для созданной таблицы, в инспекторе свойств установим флажок для свойства «Только просмотр», а свойству «Положение Командной Панели» укажем значение «Нет». Мы будем заполнять таблицу динамическими сведениями, поэтому смысла в редактировании со стороны пользователя нет.

    Теперь опишем у формы обработчик события «ПриСозданииНаСервере». Добавим в него одну строку кода:

    В коде мы обращаемся к описанной нами процедуре «ПолучитьСписокНеЗакрытыхЗадач» и результат ее выполнения помещаем в таблицу.

    Вернемся к конструктору формы и добавим группу типа «Обычная группа без отображения» с двумя кнопками: «Создать» и «Обновить». Свойству «Группировка» у добавленной группы зададим значение «Горизонтальная». Для более выразительного оформления кнопок добавим изображения и изменим шрифт по умолчанию.

    Проектируем интерфейс рабочего стола

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

    Определяем команду для кнопки

    Все новые команды формы создаются на одноименной вкладке «Команды». Принцип прост – добавляем новую команду, описываем в ней код действия и затем связываем команду с интерфейсом, в нашем случае с кнопкой.

    Не стоит также забывать, что мы разрабатываем управляемое приложение, поэтому надо четко разграничивать клиентский и серверный код. При нажатии кнопки будет контекст «НаКлиенте», а данные из базы будем получать уже с сервера. В коде это выглядит так:

    Теперь определим нашу форму рабочего стола в качестве области начальной страницы. Откроем свойства конфигурации (выделяем самый верхний узел и нажимаем «Alt+Enter») и для свойства «Рабочая область начальной страницы» установим значение «Одна колонка», после добавим в список нашу форму «РабочийСтол».

    Рабочая область начальной страницы

    Приложение полностью готово и самое время протестировать его в работе. Попробуйте запустить пример и создать несколько задач со статусом отличным от «Выполнена». Регистр сведений пополнился новыми записями (это можно посмотреть через пункт меню «Все функции») и часть из них выводится на рабочем столе.

    Приземляемся на Android

    Конфигурация отлично работает на десктопе, и теперь самое время протестировать ее на эмуляторе мобильной ОС. Для подготовки нового эмулятора запустите командный интерпретатор (cmd.exe) и перейдите в директорию «toos» дистрибутива с Android SDK. Выполните команду «android.bat avd», которая запустит менеджер виртуальных Android устройств. В нем нажмите кнопку «Create» и в появившемся окне укажите параметры виртуального устройства. В своем рабочем окружении я решил эмулировать Nexus S с Android версии 4.2.2. (API Level 17).

    Создаем виртуальное android-устройство

    После создания устройства сразу же запустим его. Пока выполняется загрузка android, вернемся в конфигуратор и опубликуем наше приложение на web-сервере. В главном меню конфигуратора выбираем пункт «Конфигурация» -> «Мобильное приложение» -> «Публиковать». В окне настроек публикации указываем имя приложения (может быть любым), web-сервер (в нашем окружении он должен быть один) и каталог для хранения настроек.

    Эмулятор в работе

    Публикация на сервере

    Мобильное приложение успешно опубликовано

    Возвращаемся к эмулятору и загрузим в него приложение с мобильной платформой разработчика. Сам файл приложения доступен вместе с поставкой мобильной платформы разработчика и называется «1cem-arm.apk». Для установки этого приложения в эмуляторе воспользуемся утилитой «adb.exe» из директории «platform-tools»: adb.exe install –r 1cem-arm.apk.

    Загрузка эмулятора на 1С

    Добавляем разработанное приложение на андройд

    Разработанное приложение в действии

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

    Программное совершение звонка осуществляется с помощью метода «НабратьНомер» глобального объекта «СредстваТелефонии». Перед вызовом метода крайне желательно проверить возможность совершения звонка:

    Параметр «ВызватьСразу» влияет на выполнение набора номера. Когда она равен «Истина», набор номера выполняется автоматически через стандартное приложение совершения звонков. При значении «Ложь» пользователь также увидит стандартный интерфейс приложения набора номера, но для совершения вызова потребуется нажать кнопку «Вызвать».

    Журнал звонков

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

    Геопозиционирование

    Практически любой современный смартфон имеет функции определения геопозиции. Этим функционалом вы можете воспользоваться из встроенного языка 1С. Получение текущих координат устройства условно можно разделить на 2 этапа: выбор провайдера геопозиционирования и обработка полученных координат:

    Работа с мультимедийными функциями

    Разработчику доступна возможность делать снимки, видеозаписи, аудиозаписи средствами встроенного языка: СделатьФотоснимок(), СделатьВидеозапись(), СделатьАудиозапись().

    Под какую мобильную ОС лучше разрабатывать на 1С?

    Вместо завершения

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

    Читайте также: