Работа с системой 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), веб-клиент попытается запуститься в компактном режиме, оптимизированном для мобильных устройств.
При разработке конфигурации под мобильный веб-клиент придерживайтесь следующих правил:
Если СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Android Тогда
// Применить упрощенный макет формы
КонецЕсли;
Важно понимать фундаментальное ограничение веб-клиента на мобильных ОС: расширение для работы с файлами не поддерживается. В настольных браузерах оно устанавливается как плагин, но мобильные версии Chrome не позволяют устанавливать расширения такого типа. Это означает, что вы не сможете напрямую прочитать файл с диска устройства или сохранить его без стандартного диалога загрузки браузера.
Аналогичная ситуация обстоит и с торговым оборудованием. Если вам нужно подключить сканер штрихкодов, рассмотрим два пути:
Проанализируем настройки серверной части. Часто проблемы с авторизацией на Android связаны с политикой безопасности SameSite Cookies. Если ваш веб-клиент работает через HTTPS, убедитесь, что в настройках веб-сервера (например, в файле конфигурации web.config для IIS или .htaccess для Apache) установлены корректные заголовки для сессионных кук.
Без корректной настройки SameSite=None; Secure мобильный Chrome может блокировать передачу идентификатора сессии, что приведет к бесконечному циклу авторизации или ошибке "Сеанс отсутствует или завершен".
Подведем итог: полноценная работа веб-клиента 1С на Android возможна, но она требует внимания к деталям интерфейса и понимания того, как браузер обрабатывает ввод данных. Для простых задач просмотра и ввода документов веб-клиент в Chrome вполне пригоден, однако для сложной автоматизации с использованием оборудования лучше смотреть в сторону технологии мобильного клиента.