Как настроить работу веб-клиента 1С на устройствах Android и решить проблемы с вводом данных

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Выбор браузера и преодоление предупреждений о несовместимости

Первое, с чем сталкивается пользователь — информационное сообщение о том, что операционная система не входит в список поддерживаемых. Рассмотрим, почему это происходит. Платформа 1С при запуске веб-клиента анализирует User-Agent браузера. В старых релизах платформы Android не всегда корректно распознавался как целевая среда.

Проанализируем ситуацию с выбором программного обеспечения. Несмотря на то что некоторые пользователи успешно используют альтернативные браузеры, такие как Dolphin или Photon, официальной и наиболее стабильной средой является Google Chrome. Если вы получаете сообщение о несовместимости, в первую очередь убедитесь, что версия вашей платформы 1С не ниже 8.3.10, а лучше используйте актуальные релизы (8.3.20 и выше). В современных версиях механизмы распознавания мобильных ОС значительно улучшены.

Если обновление платформы временно невозможно, попробуйте включить в браузере режим "Версия для ПК". Это изменит User-Agent, и веб-сервер выдаст стандартную страницу авторизации без лишних предупреждений.

Решение критической проблемы с вводом текстовых данных

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

Проблема заключается в особенностях работы мобильных клавиатур (например, Gboard или клавиатура Samsung). При наборе текста клавиатура использует предиктивный ввод (подсказки и автозамену). В этот момент текст находится в "промежуточном" буфере браузера и не передается в объектную модель документа (DOM) до тех пор, пока пользователь не нажмет клавишу "Пробел", "Enter" или не сменит фокус ввода. Веб-клиент 1С может не перехватывать эти специфические события мобильного Chrome.

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

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


&НаКлиенте
Процедура ТекстовоеПолеПриИзменении(Элемент)
    // Принудительное присвоение значения для синхронизации
    ЭтаФорма.НазваниеВашегоЭлементаФормы = Элемент.ТекстРедактирования;
КонецПроцедуры

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

Адаптация интерфейса: режим "Такси" и компактные формы

Работа в стандартном интерфейсе на маленьком экране — сомнительное удовольствие. Мелкие кнопки и обилие пустых зон делают работу неэффективной. Разберем, как адаптировать визуальную часть под Android-устройства.

Во-первых, используйте интерфейс "Такси". Он изначально проектировался с учетом сенсорного ввода и имеет более крупные элементы управления. Во-вторых, проанализируем возможность использования специального параметра запуска. Если добавить в адресную строку после имени базы параметр ?m=1 (например, http://server/base/ru_RU/?m=1), веб-клиент попытается запуститься в компактном режиме, оптимизированном для мобильных устройств.

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

  1. Отключайте использование модальных окон в свойствах конфигурации (режим "Использовать модальные окна = Ложь").
  2. Для форм, которые планируется открывать на Android, создавайте отдельные варианты с минимальным количеством колонок в списках.
  3. Используйте проверку в коде для определения типа клиента:
    
    Если СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Android Тогда
        // Применить упрощенный макет формы
    КонецЕсли;
    

Ограничения по работе с файлами и внешним оборудованием

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

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

  1. Режим разрыва клавиатуры: Сканер подключается как Bluetooth-клавиатура и просто "печатает" код в активное поле.
  2. Переход на мобильный клиент: Если требуется полноценная работа с файловой системой, камерой (в качестве сканера) или геопозиционированием, рекомендуем использовать Мобильный клиент 1С. Это не веб-клиент, а полноценное приложение (APK), которое компилируется из вашей конфигурации и подключается к базе по HTTP. В нем реализована поддержка всех аппаратных функций смартфона.

Технические настройки веб-сервера (IIS и Apache)

Проанализируем настройки серверной части. Часто проблемы с авторизацией на Android связаны с политикой безопасности SameSite Cookies. Если ваш веб-клиент работает через HTTPS, убедитесь, что в настройках веб-сервера (например, в файле конфигурации web.config для IIS или .htaccess для Apache) установлены корректные заголовки для сессионных кук.

Без корректной настройки SameSite=None; Secure мобильный Chrome может блокировать передачу идентификатора сессии, что приведет к бесконечному циклу авторизации или ошибке "Сеанс отсутствует или завершен".

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

← На главную