Success story:
Как разработать коммерческое мобильное приложение на 1С

Другие статьи по мобильной платформе:

«Расширение возможностей Мобильной платформы 1С»

«Производительность мобильной платформы»

«Принципы синхронизации данных»

История разработки мобильного приложения на платформе «1С:Предприятие 8»

Многие финалисты наших тренингов успешно применяют полученные знания на практике, продвигаются по карьерной лестнице, становятся руководителями и Project Manager’ми…

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

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

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

Управление разработкой

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

Мы подключили плагин Jira Agile, который превращает Jira в полноценную систему управления проектами. Так что теперь наше рабочее место выглядит так:

Система управления проектами Jira Agile

Еще один плагин Enterprise Mail Handler for JIRA Cloud избавил нас от постоянной проверки почты, куда пользователи пишут свои пожелания. Теперь письма сразу приходят в нашу систему, и на каждое письмо автоматически создается задача. Далее, если это сообщение об ошибке, то мы создаем подзадачу и включаем ее в один из спринтов. Если это вопрос – прямо там же можно ответить.

Интерфейс

Главная задача – сделать приложение не только функциональным, но и максимально простым, чтобы в нем могли разобраться даже пользователи, незнакомые с 1С.
В процессе создания приложения около 80% всего времени занимает проектирование интерфейса и адаптация его к экрану мобильных телефонов, а само приложение, с точки зрения бизнес логики, совершенно простое – приход, расход товара, кассовые документы, переоценка, инвентаризация, меньше 10 отчетов и все. На настольной 1С это можно написать за неделю. На мобильной платформе у нас ушло более полугода.

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

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

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

Почему столько итераций? Потому что очень непросто нарисовать форму со следующим функционалом и уместить на экране телефона:

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

А вот и результат:

Приложение “Контейнер” созданное на мобильной платформе

Коснемся разработки отчетов. Сначала мы использовали табличный документ, однако созданные отчеты не адаптировались к ширине экрана, из-за чего на больших и слишком маленьких телефонах они выглядели убого. Нас это совершенно не устраивало, поэтому мы решили использовать html.

Так как в платформе нет инструментов для работы с html, то мы используем отладчик, встроенный в Google Chrome. В связи с этим процесс создания отчетов выглядит несколько нетипично для обычного 1С-ника:

Работа с html в Google Chrome

Тестирование

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

1С - Тестирование на планшетах, смартфонах под разные ОСВнешний вид может отличаться не только на разных ОС (например, в iOS одна из кнопок формы перескакивает в заголовок), но и на разных телефонах. Одна из проблем – мобильная платформа странно ведет себя на устройствах с высокой плотностью пикселей. Например, на Samsung Galaxy S4 с экраном в 5 дюймов форма может не поместиться на экран (и появляются полосы прокрутки), а на Samsung Galaxy Win с диагональю 4,7 дюймов всё хорошо. Решение было найдено абсолютно случайно – ширина элементов на форме должна быть нечетной (если у группы указать ширину 28, то форма не помещается, а 29 – помещается).

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

Вот так организована разработка нашего приложения Контейнер.

P.S.
На момент публикации статьи приложение является бесплатным.

Вадим Невзоров,
г. Одесса

Мы искренне рады успехам наших выпускников, поэтому, если Вы участвовали в наших тренингах и полученные знания помогли Вам добиться результатов – присылайте нам свои кейсы на support@kursy-po-1c.ru.

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

Пруцков Станислав,
Пруцков Станислав, г. Пенза

кавычки…полученные знания я действительно смогу применить на практике

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

Читать отзыв полностью:

«Этот курс очень интересный и актуальный. А самое главное – полученные знания я действительно смогу применить в своей работе.

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

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

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

Спасибо Дмитрию и всей команде за курс!»

Пруцков Станислав, г. Пенза, ООО «Услуги для бизнеса»

Владимир Уткин
Владимир Уткин, г. Санкт-Петербург

кавычкиСбалансированное сочетание теории и практического уместного ее применения…

В результате прохождения курса удалось получить работоспособное скомпилированное мобильное приложение

Читать отзыв полностью:

«Что было ценного в курсе :

    1. Сбалансированное сочетание теории и практического уместного ее применения.
    2. Демонстрация интересных технологий:
        -веб-сервисы

 

        -пакеты XDTO

 

        -планы обмена

 

        -преобразование XSLT

 

        -испльзование возможностей мобильных устройств (мультимедиа и геопозиционирование)

 

      -использование ресурсов интернета в мобильном приложении
  1. Понятное и подробное изложение материала в видеоуроках, ценные рассуждения с обоснованием выбираемых решений,
    демонстрация приемов отладки.
  2. Предлагаемые решения носят достаточно общий характер, что позволяет легко расширить область их применения как в рамках рассматриваемой конфигурации центральной базы, так и других конфигураций.
  3. Обзор возможностей терминалов сбора данных и их использования совместно с мобильным устройством.
  4. Выполнение домашних заданий было очень полезно для практического освоения материала; предлагаемые шаблоны позволяли минимизировать объем кодирования и сосредоточится на изучаемой теме и отладке решения.
  5. В результате прохождения курса удалось получить работоспособное скомпилированное мобильное приложение, использующее возможности мобильной платформы, ресурсы интернета, синхронизированное с центральной базой Управление Торговлей 11.

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

Большое СПАСИБО автору курса Дмитрию Шерстобитову за подготовку курса и помощь в его освоении,а также всем сотрудникам группы поддержки!»

Владимир Уткин, г. Санкт-Петербург, ЗАО «Фонд-Металл»

Курс «Разработка коммерческих мобильных приложений на платформе 1С»

Поддержка – 2 месяца. Объем курса – 14 учебных часов.

Описание курса

Не откладывайте свое обучение!

Комментарии / обсуждение (11):

  1. ked@glavmolsnab.by

    Спасибо. У меня получился календарь, вроде неплохой, скриншот прикрепить не удалось. Есть еще один насущный вопрос, как сделать фото в мобильном приложении с минимальным размером 0.5 – 2 мб? Или преобразовать фото и сохранить в базе маленького размера, может запаковать в архив? Все это нужно для последующей отправки в центральную базу.

    • Поддержка курса по EDT

      Ну для андроида – можно указать расширение, посмотрите в опции, а в случае iOS – никак.
      Можно написать/поискать ВК, которая будет это делать, но я о таких пока не слышал.
      Архив вам тут никак не поможет. Преобразование на мобильной файлов картинок – вроде еще не поддерживается.

      • ked@glavmolsnab.by

        Спасибо, с фото решили уменьшить качество и в основном проблема решилась. Появилась новая проблема с собранным приложением, пользователи не обращают внимание на сообщение ОС о критичном уровне свободного места при этом база повреждается и стандартными способами не восстанавливается (через администрирование, тестирование и исправление), есть способы решения такой, я бы сказала распространенной, проблемы? Может приведено в каком-нибудь курсе?

        • Поддержка курса по EDT

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

  2. ked@glavmolsnab.by

    Здравствуйте, не могу найти информацию об управлении настройками ОС из 1С, кроме запуска стороннего приложения, например, в ОС android мне нужно запустить в начале работы с мобильным приложением ОС определение геоданных и проверить каким образом установлено время и дата в ОС, т.е. используется время сети (стандартно) или установлено самостоятельно, возможно есть какой-то подход в 1С или написание собственного драйвера на android, IOS, который можно запускать из 1С и получать требуемую информацию о настройках ОС или есть курс, который меня направит. Спасибо

  3. ked@glavmolsnab.by

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

    • Поддержка курса по EDT

      Свой календарь. Тут на самом деле проблема и с вводом числа, и с вводом даты. 1С решили нарисовать свои методы ввода, которые не всегда удобны, особенно на планшете.
      Так что только выдумывать что то свое.

      • ked@glavmolsnab.by

        Подскажите как бороться с такими “ругательствами” при формировании фото (СделатьФотоснимок):
        java. lang. NullPointerException: Attempt to invoke virtual method ‘int android. view. View. getWidth() on a null object reference at com. e1c.mobile.CaptureActivity.T(Unknown Source) at com. e1c.mobile.CaptureActivity.S(Unknown Source) at
        com. e1c.mobile.CaptureActivity.a(Unknown Source) at
        com. e1c.mobile.CaptureActivity$4.onOrient ationChanged(Unknown Source) at
        android. view. OrientationEventListener$Sen sorEventListenerlmpl.onSensorChanged(Ori entationEventListener. java: 143)
        at android. hardware. SystemSensorManager$ SensorEventQueue.dispatchSensorEvent(Sy stemSensorManager. java: 711) at
        android. os.MessageQueue.nativePollOnce( Native Method) at android.os.MessageQueue.next(MessageQ…
        Дело в том что ошибка возникает не всегда а при формировании 2-3х фото на 3-4е вылетает ошибка и выкидывает из приложения. Ошибка 1 из 10 пользователей с различными ОС Android

        • Поддержка курса по EDT

          Вот прям весь этот стек отправить в 1С. Тут увы, баг платформы.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

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

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.