Мобильная платформа. Косяки работы с интерфейсом

24.10.19

Разработка - Работа с интерфейсом

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Мобильная платформа. Косяки работы с интерфейсом:
.epf 8,23Kb
4 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Доброго времени суток, уважаемые жители Infostart’а!

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

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

  • Управление фокусом ввода
  • Управление выделением текста в полях ввода
  • Программное начало редактирования в поле ввода

Наверняка, есть и прочие проблемы, но для меня эти три являются актуальными в рамках решения текущих задач.

Как эти проблемы проявляются? Да очень просто: вы вызываете метод, допустим, «НачатьРедактированиеЭлемента()», а ничего не происходит. Ну или «ЭтаФорма.ТекущийЭлемент.УстановитьГраницыВыделения(…)», с тем же результатом…

В общем, я уже писал статейку по моим первым опытам борьбы с этими проблемами, вот она: //infostart.ru/public/969675/. А сегодня хочу дополнить эту статью новыми наблюдениями и выводами.

Не буду рассусоливать, скажу сразу свои предположения: отрисовка интерфейса в мобильной платформе производится отдельным потоком/процессом, и обмен данными между этим процессом и основным процессом приложения, во-первых, асинхронный, и, во-вторых, занимает довольно значительное время. А такие функции, как «НачатьРедактированиеЭлемента()» исполняются именно тем процессом, который отвечает за интерфейс.

Как это проверить? Запустите на мобильном устройстве (или в виртуальной машине) приложение в режиме отладки, и остановитесь внутри обработчика события «ИзменениеТекстаРедактирования», и вы получите довольно интересный эффект: экран устройства потемнеет, загрузится кружочек ожидания, отладчик покажет, что код не исполняется, ожидая ваших команд, но(!) в этот момент вы можете спокойно продолжать редактировать текст в поле ввода! Не поленитесь повторить этот эксперимент.

Какие выводы можно сделать?

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

Допустим, нам нужно при вводе в поле ввода отсеивать недопустимые символы, и мы делаем это в событии «ИзменениеТекстаРедактирования». Радостно удаляем из входящего параметра «Текст» ненужный мусор, присваиваем этот текст переменной, связанной с полем ввода, вызываем метод поля ввода «ОбновитьТекстРедактирования()» и, зная, что программно введённый текст будет выделен, снимаем выделение «ЭтаФорма.ТекущийЭлемент.УстановитьГраницыВыделения(ПозицияОкончания, ПозицияОкончания)».

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

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

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

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

PS: приложенная обработка написана на мобильной платформе версии 8.3.13.45, так же проверялась на версии 8.3.15.62.

Вступайте в нашу телеграмм-группу Инфостарт

Мобильная платформа НачатьРедактированиеЭлемента УстановитьГраницыВыделения

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С v8.3 8.3.14 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Библиотека стандартных подсистем 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

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

24000 руб.

27.03.2025    9613    21    14    

31

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

3000 руб.

03.12.2018    64109    218    106    

183

Логистика, склад и ТМЦ Мобильная разработка Программист Руководитель проекта 1С v8.3 1С:Управление торговлей 11 Управленческий учет Платные (руб)

«Склад 15 ПРОДУКТОВЫЙ» - специализированное программное обеспечение для терминалов сбора данных со встроенным сканером штрихкода, объединяет в себе несколько товарных групп маркированного товара (АЛКОГОЛЬ, ПИВО, ТАБАК, ШИНЫ, ОБУВЬ, ОДЕЖДА, ПАРФЮМ, МОЛОКО, ВОДА), которые чаще всего встречаются в складской логистике вместе. Предназначено для автоматизации всех товароучетных операций на складах, обычных и адресного хранения различной сложности. Позволяет ускорить и упростить действия линейного персонала, а также снизить вероятность ошибок при работе, обусловленных человеческим фактором.

48000 руб.

30.05.2023    4587    2    0    

1

Мобильная разработка Мессенджеры и боты 1С v8.3 Платные (руб)

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

13200 руб.

27.12.2021    45260    124    172    

219

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

3000 руб.

22.04.2019    107098    650    198    

349

Логистика, склад и ТМЦ Мобильная разработка 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

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

18500 руб.

30.05.2023    4580    3    0    

5

Логистика, склад и ТМЦ Сканер штрих-кода Терминал сбора данных Мобильная разработка 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

19000 руб.

28.04.2023    11551    18    4    

11

Мобильная разработка 1С v8.3 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

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

15000 руб.

24.06.2025    754    1    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dctvghbdtn 27.12.19 13:23 Сейчас в теме
А как решается вопрос с размытыми иконками в мобильном приложении 1С?
2. Crazy_Max 83 29.12.19 10:18 Сейчас в теме
(1) Ни разу не сталкивался с такой проблемой в мобильном приложении.
Возможно, по тому, что сразу для каждой картинки создавал набор вариантов, а в нём - картинку своего размера под каждый вариант разрешения.
В прикреплённом файле - скрин.
Прикрепленные файлы:
Оставьте свое сообщение