В чем заключаются основные ограничения веб-клиента 1С и как перевести на него работу?

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

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

Технологические различия и ограничения

Важно осознать, что веб-клиент — это не просто «окно в 1С», это полноценное приложение на JavaScript, работающее внутри «песочницы» браузера. Это накладывает фундаментальные ограничения на взаимодействие с операционной системой, в отличие от тонкого клиента, который является нативным приложением и имеет прямой доступ к системным ресурсам.

Рассмотрим основные области, где возникают трудности:

  1. Работа с файловой системой и буфером обмена: Браузер ограничивает прямой доступ к файлам. Для полноценной работы с документами необходимо устанавливать специальное расширение работы с файлами. Без него любые операции открытия или сохранения потребуют ручного участия пользователя при выборе пути к файлу.
  2. Торговое оборудование: Сканеры штрихкодов, фискальные регистраторы и принтеры этикеток не работают «из коробки». Взаимодействие с периферией через веб-клиент требует настройки компонентов, которые часто нестабильны или ограничены спецификой браузера.
  3. Электронная подпись (ЭЦП): Работа с криптографией требует установки на рабочее место пользователя не только криптопровайдера (например, КриптоПро), но и специального браузерного расширения для взаимодействия с ним.
  4. Интеграция с телефонией: Если ваша CRM-система использует ActiveX или другие специфические драйверы для интеграции с IP-телефонией, в веб-клиенте эти механизмы работать не будут. Потребуется разработка промежуточных Web-сервисов для обмена данными между АТС и 1С.

Подготовка конфигурации к работе в веб-клиенте

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

  1. Проверка синтаксиса: В конфигураторе используйте встроенную проверку синтаксиса, выбрав вариант проверки для веб-клиента. Это подсветит все методы и объекты, которые не поддерживаются в браузере.
  2. Отказ от модальности: Веб-клиенты не поддерживают классические модальные окна, которые «замораживают» исполнение кода до получения ответа от пользователя. Вам необходимо переписать всю логику на использование асинхронных вызовов и оповещений.
  3. Работа с файлами: Пересмотрите механизмы, связанные с автоматической загрузкой и выгрузкой файлов. Избавьтесь от функций, требующих прямого доступа к локальному диску без подтверждения пользователя.

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


// Это не будет работать в веб-клиенте!
Результат = ОткрытьФормуМодально("Справочник.Контрагенты.ФормаВыбора");

Вам необходимо использовать Оповещение и метод ОткрытьФорму:


// Правильный подход через асинхронный вызов
Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияФормы", ЭтотОбъект);
ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора", , , , , , Оповещение);

&НаКлиенте
Процедура ПослеЗакрытияФормы(Результат, ДополнительныеПараметры) Экспорт
    Если Результат <> Неопределено Тогда
        // Обработка выбора
    КонецЕсли;
КонецПроцедуры

Проблемы производительности и трафика

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

Основные факторы, влияющие на производительность:

Рекомендации для внедрения

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

  1. RemoteApp (публикация приложения): Позволяет пользователям работать в полноценном тонком клиенте, установленном на сервере, через прозрачный оконный интерфейс. Это обеспечивает скорость нативного приложения без необходимости установки 1С на каждый компьютер.
  2. Терминальный доступ (RDP/RDS): Классическое решение для работы с «тяжелыми» конфигурациями, исключающее проблемы с производительностью веб-интерфейса.

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

← На главную