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

3 августа фирма «1С» выпустила мобильную платформу 8.3.9.

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

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

Самой главной «фишкой» 8.3.9 для мобильной платформы стала возможность использовать внешние компоненты.

Сама 1С про это писала так:

Для мобильной платформы мы реализовали механизм внешних компонент. Он позволяет вам создавать внешние компоненты по технологии Native API аналогично тому, как это делается в платформе для персональных компьютеров. Конечно, есть некоторые особенности, связанные с мобильными операционными системами. Но в целом всё очень похоже.

Но давайте обо всем по порядку.

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

С выходом нового релиза платформы обновился и сборщик мобильных приложений. Актуальная версия – 2.0.3.23. Что изменилось?

  • Теперь для компиляции под Android необходим SDK версии 23 и выше, а ранее хватало и 19 версии.
  • Добавили необходимые объекты для работы с внешними компонентами.
  • Починили работу регистра файлов, теперь он называется Хранилище Данных, и в нем находятся все файлы, история их создания и т.д. Т.е. теперь удобно чистить весь ненужный «мусор».
  • Прочие мелкие исправления.

Что не изменилось? Баг при тесте квитанций в модуле PurchasesService, ищите по «puchaseTime», и замените на «purchaseTime».

Работа с файлами

Появилась конструкция ДиалогВыбораФайла. Как мы ее ждали :) Теперь не нужно писать много кода, чтобы можно было адекватно выбрать файл.

Также добавлен интерактив выбора файла в функции:

  • ПолучитьФайл(),
  • ПолучитьФайлы(),
  • ПоместитьФайл(),
  • ПоместитьФайлы().

НАКОНЕЦ! Теперь можно работать со схемой content. Ранее многие обращали внимание, что внешние приложения иногда требовали такой формат файла или сами его возвращали.

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

Итак, где его можно использовать:

  • Файл
  • ДвоичныеДанные
  • Картинка
  • ЗапускПриложенияМобильногоУстройства
  • И в остальных файловых операциях (копировать, переместить и т.д.).

Добавлена новая функция КаталогБиблиотекиМобильногоУстройства(), которая отвечает за быстрый доступ к каталогам (картинки, видео, загрузки и т.д.).

Добавлена функция обработки представления файлов Файл.ПолучитьПредставлениеФайлаБиблиотекиМобильногоУстройства(). Имеет смысл использовать ее, когда надо показать имя файла, который был получен через схему content, так как имена, используемые в этих схемах, далеки от тех, которые используются в представлении прямого пути (обычный стиль Windows). Т.е. в них вообще может и не быть как такового имени файла.

Вот так выглядит диалог выбора файла:

review-news-8-3-9-pic1

Вверху указывается полный путь к файлу/папке. Далее идут уже иконки быстрого перехода.

Телефония

Для Android теперь можно отследить факт входящего звонка.

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

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

При этом принимать или отклонять звонки – нельзя.

Аудио

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

Кроме этого – теперь можно воспроизводить текст при помощи встроенного синтезатора речи.

Отчеты

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

Формы

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

Теперь кнопки можно сделать вот такими:

review-news-8-3-9-pic2

Статус интернет-соединения

Наконец-то добавлен новый функционал в мобильную платформу, который позволяет получить тип соединения – ИнформацияОбИнтернетСоединении.

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

  1. По типу соединения:
    • WiFi (WiFi)
    • ЛокальнаяСеть (LAN)
    • НетСоединения (NoConnection)
    • СотовыеДанные (CellularData)
  2. По скорости, в виде числа в КБ. Т.е., например, 128 КБ. НО! Это не означает, что мобильная платформа тестирует скорость соединения и т.д. Это значит только то, что максимальная скорость – ожидается такой. Так как сотовая связь может быть 2G, 3G, LTE, и понятно, что на 2G делать синхронизацию смысла особого нет, а вот на 3G или уж тем более на LTE – можно. Если трафика не жалко.
Работа с JSON

Это то, чего многие очень долго ждали. Так как все веб-сервисы в интернете работают именно с JSON. Плюс – объем JSON меньше XML.

SSL сертификаты

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

AdMob для iOS

Ранее 1С поддерживала баннеры в iOS из сети iAd, но, так как Apple неожиданно закрыла эту сеть 01.07.2016, 1С в iOS теперь так же, как и в Android, использует AdMob – сервис рекламы Google. Что намного удобней.

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

Внешние компоненты

Один из самых ожидаемых инструментов. Но, к сожалению, чтобы написать что-то интересное про него, необходимо глубоко его проанализировать. Пока можно сказать только одно: поддерживается только технология Native API, и пока непонятно, можно ли передавать контекст приложения, так как без него вся эта технология будет весьма ограниченной.

Из принципиальных изменений – это всё.

От себя добавлю, что стабильность платформы значительно возросла. На одном из моих проектов используется около 150 устройств, из которых 50 – идентичные, закуплены одной партией. И на 5 из них платформа постоянно беспричинно падала в любом месте. Теперь она падает только 1 устройстве. :)

P.S.

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

review-news-8-3-9-pic3

Она возникает из-за того, что в общей форме httpСервисы в элементах формы у элемента «Группа8», стоит параметр ВыравниваниеЭлементовИЗаголовков в «Элементы право, заголовки лево», надо его заменить на «Авто». При этом – 8.3.8 отрабатывает штатно.

Об авторе

Дмитрий Шерстобитов:

  • Базовая тематика: создание мобильных решений, как на базе мобильной платформы 1С, так и под Андроид.
  • Докладчик секции по мобильной платформе 1С на конференциях Infostart 2013 Rev и Infostart Event 2014
  • Премия в номинации “Открытие года” на Инфостарт 2014

Автор и тренер курсов:

38 комментариев к “Обзор новых возможностей мобильной платформы 1С:Предприятие 8.3.9

  1. Chistyakov сказал:

    Добрый день, при переходе с 8.3.8 на 8.3.9 (и на 8.3.10) столкнулся с проблемой что таблицы в документах перестали растягиваться (нет прокручивания на Android), показывает только первые несколько строк. Подскажите куда копать?

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Да, в 1с есть такие проблемы. На самом деле их 2:
      1. Таблица не растягивается. Решается довольно просто – добавляете пустую декорацию, которую растягиваете.
      2. Таблица оооочень сильно растягивается, это встречается если у вас 2 страницы, на одной реквизиты, которые выходят за рамки экрана, а на второй ТЗ. Вот тут и начинаются чудеса. Это проблему адекватно я решить не смог.Причем иногда – она не проявляется.

  2. Dovbenko_V_A сказал:

    Добрый день, Дмитрий! На платформе 8.3.9.74 набросал небольшое приложение, настроил обмен, но неожиданно обнаружил, что база разрастается просто непомерно. Оказалось, что начинает дико расти файл 1Cv8.1CD.tmp. Он по размерам приближается к файлу базы данных 1Cv8.1CD. Не подскажите чем это может быть вызвано? Возможно ли это недоработка платформы предназначенной для тестирования? Заранее спасибо!

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Доброе. Это уже вопрос сложный, попробуйте сделать ТиИ базы и проверьте – сожмет он его или нет.

      • Владислав сказал:

        Добрый день, спасибо за ответ! Пробовал. Не помогает. И самое интересное что на другом мобильном устройстве такого файла платформа не создает. И, если можно, еще вопрос. Правильно ли я понимаю, что в каталоге 1Cv8FTxt хранятся файлы системы полнотекстового поиска? Данный каталог при размере базы данных в 320 Mb имеет размер около 100 Mb. Т.е. около трети от размера базы. Насколько часто по Вашему опыту пользователям требуется использовать этот механизм?

        • Дмитрий Шерстобитов (мастер-тренер) сказал:

          Тогда подумайте про архитектуру приложения в целом, может там не надо столько данных?
          С другой стороны – может надо выбрать более мощное устройство?
          Это я к тому, что в мобильной всегда так – или куча данных, или высокая производительность.
          Но опять таки, база мобильной максимум должна весить 500мб-1Гб, если больше, то тут уже сложнее. А сейчас даже в древних телефонах есть 8Гб :)
          На счет полнотекстового поиска – я его всегда отключаю, так как он глючный :(

          • Владислав сказал:

            Вдруг кому пригодится. Заинтересовал меня этот файл 1Cv8.1CD.tmp вот что выяснилось: Файл 1Cv8.1CD.tmp – это копия базы на момент обновления, после успешного обновления файл удаляется. Если файл остается , скорей все это вызвано: 1. Не удачное обновление 2. Файл заблокирован сторонней программой.

  3. Александр сказал:

    Странная ситуация – при переходе с 8.3.8 на 8.3.9 платформа перестала работать в режиме background mode – location updates. Т.е. при неактивном приложении перестал вызываться обработчик обновления гео данных. В xcode соответствующая галка background modes стоит. Есть ли еще какие-либо изменения в этом? Или очередной баг платформы?

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Вы знаете, работа с мобильной платформой иногда граничит с паникой, так как ты никогда не знаешь, где баг, где фича, а где у самого руки кривые, увы.
      В таких случаях я беру несколько рядом идущих версий и тестирую, это конечно долго, но вариантов как-бы не много.
      Либо спросить на форму разработчиков. Либо отправить на баг трек запрос.
      Кстати поэтому еще и не выпущено обновление курса про 8.3.9, так как там вот таких приколов уйма, плюс то они выпустят релиз, то они его откатят через день, в общем нет стабильной версии.

  4. Андрей сказал:

    Здравствуйте Дмитрий.
    Может у Вас была такая ситуация, помогите пожалуйста:

    код позиционирует табличное поле в конце на указанную область, ТабличныйДокумент – это реквизит формы:

    Элементы.ТабличныйДокумент.ТекущаяОбласть = ТабличныйДокумент.Область(“R” + ?(ТабличныйДокумент.ВысотаТаблицы = 0, 1, ТабличныйДокумент.ВысотаТаблицы) + “C1”);

    -На персональном компьютер код работает исправно, как ожидаю (1С:Предприятие 8.3 (8.3.8.2167), назначения использования: Мобильное устройство).
    -На мобильном устройство код срабатывает без ошибок, но не дает ожидаемого результата (1С:Предприятие 8.3 (8.3.9.74) – моб. платформа).

  5. Руслан Панченко сказал:

    Писал отправку писем через ИнтернетПочта. 8.3.9 + Android 6/ 1С просто вылетает с ошибкой. Что это может быть?

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      баг платформы, как вариант, отправьте в 1с тестовую конфу

  6. Сергей сказал:

    Добрый день. При открытии формы рабочего стола вызывается открытие формы авторизации. В 8.3.8 все отрабатывает нормально, а вот в 8.3.9 почему-то форма авторизации открывается, но активна форма рабочего стала, хотя в свойствах формы авторизации установлен режим открытия окна “Блокировать весь интерфейс”. При чем это повторялось и в 8.3.9.66 и в новой 8.3.9.74.
    Это новое поведение платформы или баг? И что можно с этим сделать?

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      В какой момент вы открываете форму авторизации?

      • Сергей сказал:

        В обработчике “ПриОткрытии” формы, которая указана в рабочей области начальной страницы.

        • Дмитрий Шерстобитов (мастер-тренер) сказал:

          Странное решение. Перенесите открытие формы дополнительной в процедуру ПриНачалеРаботыСистемы

  7. Виталий сказал:

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

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Даже хатрудняюсь ответить. У вас кнопка в коммандной панеле или нет?

  8. Ника сказал:

    А есть где-то вообще полный перечень того, что изменилось, с подробным описанием как именно?

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      обычно – на ИТС, но это все раскидано по разделам, особенно то, что касается интерфейса.

  9. psbest сказал:

    добрый день, ошибка при вызове метода объекта модели XDTO возникает только из-за параметра ВыравниваниеЭлементовИЗаголовков? Как можно отловить в каком месте происходит ошибка? Т.к. это происходит на стадии обновления

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Я делаю просто – методом половинного деления.
      Т.е. удалил пол конфигурации – проверил, если не работает – удалил половину оставшейся половины и т.д., пока не найду ту форму/модуль/обработку, из-за которой ошибка. Других способов я не нашел, увы.

  10. Simol сказал:

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

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

    Что Вы имели в виду под “звонит клиент – а в приложении сразу показываются”. Вам удалось при звонке сразу видеть окно 1с?

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Можно выводить пуш, и когда вы подняли трубку, или даже еще не подняли – можно перейти в другое приложение нажав на пуш.
      А там уже сразу открывать отчет. Т.е. как то так.

  11. Simol сказал:

    Кто-то пробовал “ВоспроизвестиТекст”? У меня иногда сразу воспроизводит, иногда секунд через 5-10. На Андроид 2.3.3 не заработало, говорит язык не поддерживает. Пробовал и англ и русский явно указать. И слова и только цифры.

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      эта функция не встроенная фишка 1С, она просто использует синтезатор андроида, так что вероятно на 2.3 его просто нет, а другие – ну… тут уже как кому повезет с прошивкой.

  12. TreeDogNight сказал:

    После переноса мобильного приложения с платформы 8.3.8 на платформу 8.3.9 у меня перестали работать фоновые задания. Кто-нибудь уже встречался с данной проблемой?

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

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

      • TreeDogNight сказал:

        В мобильном приложении Фоновые задания не выполняются асинхронно?

        • Дмитрий Шерстобитов (мастер-тренер) сказал:

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

  13. Ринат Валерьевич сказал:

    “принимать или отклонять звонки – нельзя”
    Ну и за чем такой телефон? Пейджер тогда уместнее.

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      В смысле? Принимать или отклонять звонки нельзя при помощи самой 1С, при чем тут это сравнение?

  14. manserg сказал:

    Кстати, у нас на разрабатываемом проекте при тестировании на платформе 8.3.9 съехала форма странным образом (часть элементов слиплись а подвал ушел вниз за пределы видимой области), это баг или появились новые интерфейсные фишки которые нужно теперь учитывать?

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      На самом деле – мне уже про такое рассказывали, но ни на одном моем проекте – лично я, такое не встретил. Так что затрудняюсь ответить. Но если что-то узнаете интересное,то поделитесь, пожалуйста. Самому интересно :)

  15. manserg сказал:

    Дмитрий, спасибо, очень интересные темы озвучены!
    Скажите, а как не пропустить выход нового курса по мобильной разработке который будет посвящен монетизации мобильных приложений, есть ли где подписка на автоматическое уведомление?

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Можете написать в техподдержку, с просьбой, что бы вас ТОЧНО уведомили :)
      Либо следите за новостями в ближайшее будущее более пристально.

  16. Сергей сказал:

    Воу-воу. Интересно очень. Наконец-то полезные штуковины сделали которых так не хватало.

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

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

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