Работа с 1С через браузер: как устроен веб-клиент и когда он лучше тонкого клиента
Содержание
Веб-клиент 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, macOS | Windows, Linux |
| Формы | Только управляемые | Только управляемые | Обычные и управляемые |
| Подключение | HTTP/HTTPS через веб-сервер | Напрямую к серверу 1С, к файлу или по HTTP | Напрямую к серверу или файлу |
| Скорость интерфейса | Ниже, зависит от браузера | Выше | Высокая, но много трафика |
| Работа с локальными файлами | Через расширение браузера | Полная | Полная |
| Внешние компоненты, COM | Только компоненты для веб-клиента | Да | Да |
| Обновление клиента | Не нужно | Автоматически с сервера | Вручную или скриптом |
Три вывода из таблицы:
- Типовые конфигурации на управляемых формах (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, ERP) работают в веб-клиенте полностью. Фирма 1С тестирует их в браузере.
- Конфигурации на обычных формах (Бухгалтерия 2.0, УПП, самописные решения на 8.1–8.2) в веб-клиенте не откроются. Им нужен толстый клиент.
- Тонкий клиент тоже умеет работать через интернет . В окне выбора баз при добавлении базы есть вариант подключения к базе на веб-сервере — указывается тот же адрес публикации. Это компромисс: скорость тонкого клиента и транспорт по HTTPS без VPN.
Что умеет веб-клиент 1С и где упирается в ограничения
Для повседневной учётной работы веб-клиент ничем не уступает тонкому. В браузере можно:
- 📄 вводить и проводить документы, вести справочники;
- 📊 формировать отчёты, настраивать варианты, выгружать в Excel и PDF;
- 🖨 печатать формы — через стандартное окно печати браузера;
- 💬 работать с обсуждениями, задачами, файлами в присоединённых файлах;
- 🔐 подписывать документы электронной подписью — при установленном расширении для работы с криптографией.
Где начинаются ограничения
- 📁 Локальные файлы. Браузер не пускает страницу на диск. Для выгрузки банковских выписок в каталог, загрузки из папки, сканирования нужно установить «Расширение для работы с 1С:Предприятием» — его предлагает сама программа при первой попытке.
- 🔌 Торговое оборудование. Сканеры штрихкодов в режиме эмуляции клавиатуры работают. Фискальные регистраторы, весы и терминалы через драйверы — только если драйвер выпущен в варианте для веб-клиента. Для кассового места надёжнее тонкий клиент.
- 🧩 COM-объекты и внешние компоненты, написанные только под Windows, в браузере недоступны.
- 🪟 Модальные окна. Современные конфигурации работают без модальности. Старые доработки, которые вызывают
Предупреждение()илиВопрос()в модальном режиме, в браузере выдадут ошибку. - 🐢 Тяжёлые формы. Документ на 3–5 тысяч строк, большой табличный документ, сложный отчёт открываются в браузере ощутимо дольше, чем в тонком клиенте.
- 🔁 Обмен через файлы и автоматические регламентные действия на клиенте — то, что требует постоянно открытого локального приложения, лучше переносить на сервер.
Внешние обработки и отчёты в браузере открываются через загрузку файла на сервер. Для этого пользователю нужно право на интерактивное открытие внешних обработок. Выдавать его всем подряд опасно: обработка выполняет любой код на сервере.
Публикация базы на веб-сервере: IIS и Apache
Публикация — главный шаг. Без неё веб-клиента нет. Перед началом проверьте три вещи:
- При установке платформы на сервер отмечен компонент «Модули расширения веб-сервера». Если нет — запустите установщик той же версии и добавьте компонент.
- Разрядность модуля совпадает с разрядностью веб-сервера. Для 64-битного IIS и Apache нужна 64-битная платформа.
- Конфигуратор запущен от имени администратора Windows. Иначе публикация не сможет записать настройки IIS или
httpd.conf.
Подготовка IIS
В Windows Server откройте Диспетчер серверов → Добавить роли и компоненты и включите роль «Веб-сервер (IIS)». В составе роли в группе «Разработка приложений» отметьте:
- ASP.NET (любая доступная версия);
- Расширения ISAPI;
- Фильтры ISAPI.
На Windows 10 и 11 то же самое делается через «Включение или отключение компонентов Windows» — раздел «Службы IIS».
Публикация из конфигуратора
- Откройте базу в Конфигураторе (запуск от администратора).
- Выберите
Администрирование → Публикация на веб-сервере. - Укажите имя публикации латиницей, например
buh. Это будет часть адреса. - Выберите веб-сервер: Internet Information Services или Apache нужной версии.
- Укажите каталог публикации. Для IIS обычно
C:\inetpub\wwwroot\buh. - Отметьте «Публиковать доступ для клиентских приложений». Публикацию веб-сервисов и HTTP-сервисов включайте только если они реально нужны.
- Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.
После этого в каталоге публикации появится файл 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-разрядные приложения». Иначе модуль просто не загрузится.
Безопасность опубликованной базы и права доступа
Опубликованная база — это сайт. Всё, что вы бы сделали для сайта с бухгалтерией внутри, делается и здесь.
Что настроить обязательно
- 🔒 HTTPS. Без шифрования пароль пользователя 1С и данные идут по сети открытым текстом. Сертификат привязывается к сайту в IIS или к виртуальному хосту Apache; бесплатный сертификат подходит.
- 👤 Пароли у всех пользователей 1С. Пользователь без пароля в опубликованной базе — открытая дверь.
- 🚫 Никаких логинов в строке подключения. В
default.vrdи в параметрах публикации можно прописатьUsr=иPwd=. Тогда любой, кто знает адрес, войдёт под этим пользователем без запроса пароля. - 🧱 Не публиковать лишнее. Веб-сервисы и HTTP-сервисы, которые никто не использует, — это дополнительные точки входа.
- 🌍 Ограничить доступ снаружи. Если удалённые сотрудники работают из известных мест, разрешите доступ только с их адресов на межсетевом экране или в настройках веб-сервера. Ещё надёжнее — публиковать базу только внутри 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/. Логин и пароль в адресе передавать можно, но это небезопасно: они остаются в истории браузера.