Что сулит переход на веб-клиент 1С: подробный разбор преимуществ, рисков и технических ограничений

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

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

Основные отличия и влияние на производительность

Давайте в первую очередь разберем, как меняется схема взаимодействия. В случае с тонким клиентом часть вычислительной нагрузки по отрисовке интерфейса и обработке локальных данных берет на себя исполняемый файл платформы, установленный на компьютере. Веб-клиент же полностью ограничен возможностями браузера и его движка (V8 в Chrome, Gecko в Firefox и т.д.).

Рассмотрим факторы, влияющие на скорость:

  1. Отрисовка интерфейса: В браузере работа со сложными формами, динамическими списками и тяжелыми отчетами будет субъективно (а часто и объективно) медленнее. Это связано с тем, что браузеру необходимо интерпретировать большой объем JavaScript-кода.
  2. Сетевой трафик: При первом запуске веб-клиенту необходимо загрузить внушительный объем статических данных. В дальнейшем помогает кэширование, но при нестабильном канале связи тонкий клиент через HTTP/HTTPS работает эффективнее за счет оптимизированного протокола обмена.
  3. Нагрузка на клиентское устройство: Браузеры крайне требовательны к оперативной памяти. Если тонкий клиент 1С потребляет фиксированный объем ресурсов, то вкладка с 1С может «раздуваться» при открытии тяжелых отчетов, что иногда приводит к падению вкладки из-за Memory Limit.

Проблема лицензирования: скрытые расходы

Проанализируем крайне важный аспект, о котором часто забывают при планировании перехода — это программные и аппаратные лицензии. Тонкий клиент обладает «интеллектом» в плане поиска ключей: он может напрямую обращаться к локальному USB-ключу HASP или использовать программную лицензию, привязанную к конкретному компьютеру. Это позволяет использовать одну лицензию на несколько запущенных баз (лицензирование «на компьютер»).

Ситуация с веб-клиентом иная:

Веб-браузер ничего не знает о ключах HASP или локальных лицензиях 1С. В этом случае выдачей лицензий занимается исключительно сервер приложений (или веб-сервер). Это означает переход на модель «на сеанс». Если пользователь откроет две разные базы в двух вкладках браузера, сервер спишет две лицензии. Рассмотрим этот момент подробнее: если ваша инфраструктура завязана на локальные ключи пользователей, переход на веб-клиент потребует закупки дополнительных клиентских лицензий на сервер.

Безопасность и способы публикации

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

Рекомендуемые меры защиты при работе через веб:

Технические ограничения и «песочница» браузера

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

Основные технические сложности:

  1. Работа с оборудованием: Подключение сканеров штрихкодов, ТСД или фискальных регистраторов в веб-клиенте требует установки специального «Расширения работы с файлами» и дополнительных плагинов. Без них 1С не сможет «увидеть» USB-порт или COM-порт.
  2. Горячие клавиши: Многие сочетания (например, Ctrl+N, Ctrl+S, Ctrl+F) перехватываются браузером. Пользователям придется переучиваться или мириться с тем, что привычные команды не срабатывают.
  3. Синхронные вызовы и модальность: Это критическая точка для старых конфигураций. Браузеры блокируют «замирание» страницы. Если в коде используется метод Вопрос() или Предупреждение() в старом стиле, система выдаст ошибку. Весь код должен быть переведен на асинхронную модель работы.

Посмотрим на пример того, как должен выглядеть современный асинхронный вызов в коде, чтобы он корректно отрабатывал в веб-клиенте:


&НаКлиенте
Процедура ВыполнитьДействие(Команда)
    Оповещение = Новый ОписаниеОповещения("ЗавершитьДействие", ЭтотОбъект);
    ПоказатьВопрос(Оповещение, "Продолжить выполнение операции?", РежимДиалогаВопрос.ДаНет);
КонецПроцедуры

&НаКлиенте
Процедура ЗавершитьДействие(Результат, ДополнительныеПараметры) Экспорт
    Если Результат = КодВозвратаДиалога.Да Тогда
        // Логика продолжения
    КонецЕсли;
КонецПроцедуры

Если ваша конфигурация содержит много синхронных вызовов (не в режиме «без модальности»), работа в веб-клиенте будет практически невозможна без серьезной переработки кода.

Специфические ошибки (баги) веб-клиента

Выясним причину, по которой программисты часто недолюбливают веб-интерфейс. Существуют «плавающие» ошибки, зависящие от версии браузера:

Когда стоит переходить на веб-клиент?

Проанализируем ситуации, когда такой переход оправдан:

Резюме

Рассмотрев все за и против, можно сделать вывод: в локальной сети предприятия использование тонкого клиента через HTTP остается предпочтительным. Он обеспечивает максимальную стабильность, корректную работу с лицензиями и оборудованием. Веб-клиент — это прекрасный инструмент для мобильности и внешних подключений, но попытка полностью пересадить на него всех офисных сотрудников может привести к снижению производительности труда и росту количества заявок в ИТ-отдел из-за специфических «браузерных» глюков.

← На главную