Работа с 1С через браузер: как устроен веб-клиент и когда он лучше тонкого клиента

· 10 мин

Содержание

Веб-клиент 1С — это способ работать с базой 1С:Предприятия 8.3 прямо в браузере, без установки платформы на компьютер пользователя. Достаточно опубликовать базу на веб-сервере (IIS или Apache) и дать сотруднику ссылку вида http://server/buh/. Тонкий клиент делает то же самое, но требует установленной программы и работает быстрее; толстый нужен только для старых конфигураций на обычных формах.

Выбор обычно простой. Офис с постоянными рабочими местами — тонкий клиент. Удалённые сотрудники, Mac, Linux, чужие компьютеры, планшет у руководителя — веб-клиент. Ниже разобрано, как он устроен изнутри, что в нём не работает , как опубликовать базу и не открыть её всему интернету.

Как устроен веб-клиент 1С: архитектура и техническая начинка

Веб-клиент состоит из трёх звеньев:

  • 🌐 Браузер пользователя. Он загружает приложение на JavaScript, рисует формы и выполняет клиентский код конфигурации.
  • 🖥 Веб-сервер с модулем расширения 1С. Для Apache 2.4 это библиотека wsap24.dll (в Linux — wsap24.so), для IIS — wsisapi.dll. Модуль принимает HTTP-запросы и передаёт их платформе.
  • 🗄 Информационная база — файловая или на сервере 1С:Предприятия. Серверный код конфигурации выполняется там же, где и для тонкого клиента .

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

Связь между браузером и веб-сервером идёт по HTTP или HTTPS. Поэтому веб-клиенту не нужны открытые порты кластера 1С (1540, 1541 и диапазон рабочих процессов) на стороне пользователя: наружу смотрит только веб-сервер на 80 или 443 порту.

Файловая и клиент-серверная база

В файловом варианте модуль веб-сервера сам открывает файл 1Cv8.1CD. Значит, учётная запись, под которой работает веб-сервер, должна иметь права на чтение и запись в каталог базы. Это самая частая причина того, что опубликованная база не открывается.

В клиент-серверном варианте веб-сервер выступает клиентом кластера 1С. Ему нужен сетевой доступ к агенту сервера и рабочим процессам, а версия модуля веб-сервера должна совпадать с версией платформы на сервере 1С.

Для 10–15 пользователей файловая база через веб-сервер работает заметно стабильнее, чем та же база в общей сетевой папке: файл открывает один процесс на одном компьютере, а не десяток клиентов по сети.

Веб-клиент, тонкий и толстый клиент: сравнение

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

ПараметрВеб-клиентТонкий клиентТолстый клиент
Что нужно у пользователяТолько браузерУстановленная платформа (тонкий клиент)Полная установка платформы
Операционные системыЛюбые с поддерживаемым браузеромWindows, Linux, macOSWindows, Linux
ФормыТолько управляемыеТолько управляемыеОбычные и управляемые
ПодключениеHTTP/HTTPS через веб-серверНапрямую к серверу 1С, к файлу или по HTTPНапрямую к серверу или файлу
Скорость интерфейсаНиже, зависит от браузераВышеВысокая, но много трафика
Работа с локальными файламиЧерез расширение браузераПолнаяПолная
Внешние компоненты, COMТолько компоненты для веб-клиентаДаДа
Обновление клиентаНе нужноАвтоматически с сервераВручную или скриптом

Три вывода из таблицы:

  1. Типовые конфигурации на управляемых формах (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, ERP) работают в веб-клиенте полностью. Фирма 1С тестирует их в браузере.
  2. Конфигурации на обычных формах (Бухгалтерия 2.0, УПП, самописные решения на 8.1–8.2) в веб-клиенте не откроются. Им нужен толстый клиент.
  3. Тонкий клиент тоже умеет работать через интернет . В окне выбора баз при добавлении базы есть вариант подключения к базе на веб-сервере — указывается тот же адрес публикации. Это компромисс: скорость тонкого клиента и транспорт по HTTPS без VPN.
Какой клиент выбрать для пользователя?

Что умеет веб-клиент 1С и где упирается в ограничения

Для повседневной учётной работы веб-клиент ничем не уступает тонкому. В браузере можно:

  • 📄 вводить и проводить документы, вести справочники;
  • 📊 формировать отчёты, настраивать варианты, выгружать в Excel и PDF;
  • 🖨 печатать формы — через стандартное окно печати браузера;
  • 💬 работать с обсуждениями, задачами, файлами в присоединённых файлах;
  • 🔐 подписывать документы электронной подписью — при установленном расширении для работы с криптографией.

Где начинаются ограничения

  • 📁 Локальные файлы. Браузер не пускает страницу на диск. Для выгрузки банковских выписок в каталог, загрузки из папки, сканирования нужно установить «Расширение для работы с 1С:Предприятием» — его предлагает сама программа при первой попытке.
  • 🔌 Торговое оборудование. Сканеры штрихкодов в режиме эмуляции клавиатуры работают. Фискальные регистраторы, весы и терминалы через драйверы — только если драйвер выпущен в варианте для веб-клиента. Для кассового места надёжнее тонкий клиент.
  • 🧩 COM-объекты и внешние компоненты, написанные только под Windows, в браузере недоступны.
  • 🪟 Модальные окна. Современные конфигурации работают без модальности. Старые доработки, которые вызывают Предупреждение() или Вопрос() в модальном режиме, в браузере выдадут ошибку.
  • 🐢 Тяжёлые формы. Документ на 3–5 тысяч строк, большой табличный документ, сложный отчёт открываются в браузере ощутимо дольше, чем в тонком клиенте.
  • 🔁 Обмен через файлы и автоматические регламентные действия на клиенте — то, что требует постоянно открытого локального приложения, лучше переносить на сервер.

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

Публикация базы на веб-сервере: IIS и Apache

Публикация — главный шаг. Без неё веб-клиента нет. Перед началом проверьте три вещи:

  1. При установке платформы на сервер отмечен компонент «Модули расширения веб-сервера». Если нет — запустите установщик той же версии и добавьте компонент.
  2. Разрядность модуля совпадает с разрядностью веб-сервера. Для 64-битного IIS и Apache нужна 64-битная платформа.
  3. Конфигуратор запущен от имени администратора Windows. Иначе публикация не сможет записать настройки IIS или httpd.conf.

Подготовка IIS

В Windows Server откройте Диспетчер серверов → Добавить роли и компоненты и включите роль «Веб-сервер (IIS)». В составе роли в группе «Разработка приложений» отметьте:

  • ASP.NET (любая доступная версия);
  • Расширения ISAPI;
  • Фильтры ISAPI.

На Windows 10 и 11 то же самое делается через «Включение или отключение компонентов Windows» — раздел «Службы IIS».

Публикация из конфигуратора

  1. Откройте базу в Конфигураторе (запуск от администратора).
  2. Выберите Администрирование → Публикация на веб-сервере.
  3. Укажите имя публикации латиницей, например buh. Это будет часть адреса.
  4. Выберите веб-сервер: Internet Information Services или Apache нужной версии.
  5. Укажите каталог публикации. Для IIS обычно C:\inetpub\wwwroot\buh.
  6. Отметьте «Публиковать доступ для клиентских приложений». Публикацию веб-сервисов и HTTP-сервисов включайте только если они реально нужны.
  7. Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.

После этого в каталоге публикации появится файл default.vrd — в нём строка подключения к базе и параметры публикации. База доступна по адресу http://имя-сервера/buh/.

Публикация из командной строки

Если Конфигуратор на сервере не запускается или публикаций много, используйте утилиту webinst из каталога bin платформы:

cd "C:\Program Files\1cv8\8.3.24.1548\bin"
webinst -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"

Номер версии в пути подставьте свой. Для файловой базы строка подключения выглядит как File="D:\Bases\Buh";. Для IIS вместо -apache24 указывается -iis, параметр -confpath не нужен.

Права на каталог файловой базы

Это приём, без которого публикация файловой базы почти никогда не взлетает с первого раза:

  • для IIS выдайте группе IIS_IUSRS (и пользователю IUSR) права «Изменение» на каталог с базой;
  • для Apache — учётной записи, под которой запущена служба Apache.

Если в IIS используется 32-битная платформа на 64-битной системе, в дополнительных параметрах пула приложений включите «Разрешить 32-разрядные приложения». Иначе модуль просто не загрузится.

Безопасность опубликованной базы и права доступа

Опубликованная база — это сайт. Всё, что вы бы сделали для сайта с бухгалтерией внутри, делается и здесь.

Что настроить обязательно

  1. 🔒 HTTPS. Без шифрования пароль пользователя 1С и данные идут по сети открытым текстом. Сертификат привязывается к сайту в IIS или к виртуальному хосту Apache; бесплатный сертификат подходит.
  2. 👤 Пароли у всех пользователей 1С. Пользователь без пароля в опубликованной базе — открытая дверь.
  3. 🚫 Никаких логинов в строке подключения. В default.vrd и в параметрах публикации можно прописать Usr= и Pwd=. Тогда любой, кто знает адрес, войдёт под этим пользователем без запроса пароля.
  4. 🧱 Не публиковать лишнее. Веб-сервисы и HTTP-сервисы, которые никто не использует, — это дополнительные точки входа.
  5. 🌍 Ограничить доступ снаружи. Если удалённые сотрудники работают из известных мест, разрешите доступ только с их адресов на межсетевом экране или в настройках веб-сервера. Ещё надёжнее — публиковать базу только внутри VPN.

Не публикуйте в интернет базу с пользователем «Администратор» без пароля или с паролем вида 123: такие публикации находят автоматическими сканерами за считаные дни.

Аутентификация

Веб-клиент поддерживает два варианта входа:

  • Аутентификация 1С:Предприятия — логин и пароль пользователя базы, окно входа показывает сама платформа.
  • Аутентификация операционной системы — вход под доменной учётной записью Windows. В IIS для этого включают проверку подлинности Windows, а в карточке пользователя 1С сопоставляют его с доменной учёткой.

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

Лицензии

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

Браузеры и совместимость веб-клиента

Веб-клиент работает в актуальных версиях распространённых браузеров:

  • Google Chrome и браузеры на его движке — Яндекс Браузер, Microsoft Edge;
  • Mozilla Firefox;
  • Safari на macOS и iPad.

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

Что настроить в браузере

  • Разрешите всплывающие окна для адреса базы. Веб-клиент открывает формы и печать в отдельных окнах; блокировщик их режет.
  • Отключите для адреса базы блокировщики рекламы и расширения, переписывающие страницы.
  • Установите расширение для работы с файлами и криптографией, если пользователь выгружает файлы или подписывает документы. Программа сама предложит ссылку на установку.
  • Не масштабируйте страницу сильнее 100–125%: на маленьких экранах формы начинают обрезаться.

Типичные сбои при открытии базы в браузере

Диагностика: выберите симптом

Перезапуск IIS или службы Apache при переопубликации обрывает все сеансы веб-клиента. Делайте это вне рабочего времени или предупредите пользователей заранее.

Частые вопросы о веб-клиенте 1С

Нужна ли отдельная лицензия для веб-клиента?
Отдельного вида лицензии нет. Веб-клиент занимает обычную клиентскую лицензию на каждый сеанс, как тонкий клиент.
Можно ли открыть через браузер Бухгалтерию 2.0 или УПП?
Нет. Эти конфигурации построены на обычных формах, а веб-клиент работает только с управляемыми. Для них нужен толстый клиент или переход на современную конфигурацию.
Как открыть базу на конкретном языке или сразу под пользователем?
Язык интерфейса задаётся в адресе, например http://server/buh/ru_RU/. Логин и пароль в адресе передавать можно, но это небезопасно: они остаются в истории браузера.
Работает ли веб-клиент на телефоне?
Формально открывается, но интерфейс рассчитан на экран от планшета. Для смартфона у 1С есть отдельный мобильный клиент.
Нужен ли веб-сервер, если сотрудники работают через тонкий клиент по интернету?
Да. Подключение тонкого клиента по HTTP идёт через ту же публикацию на веб-сервере, что и веб-клиент.