Веб-клиент 1С: работа через браузер, публикация базы и защита
Содержание
Веб-клиент 1С — это режим запуска, в котором пользователь работает с базой прямо в браузере. Ничего устанавливать на компьютер не нужно: достаточно ссылки вида https://сервер/база. Интерфейс тот же, что у тонкого клиента, а вся логика выполняется на сервере 1С.
Чтобы режим заработал, базу нужно опубликовать на веб-сервере (Apache или IIS). Ниже — как это устроено, чем веб-клиент отличается от толстого и тонкого, какие требования предъявляет к браузеру и где чаще всего ломается.
Как устроен веб-клиент: схема работы
Между браузером и данными стоят три звена:
- Браузер — рисует интерфейс и отправляет действия пользователя (клик, ввод, запуск отчёта).
- Веб-сервер — Apache или IIS с подключённым модулем 1С (веб-расширение). Он принимает запросы по HTTP/HTTPS и передаёт их дальше.
- Сервер 1С — выполняет серверный код, обращается к СУБД, возвращает результат.
Файловая база тоже может быть опубликована, но тогда обработку запросов берёт на себя сам веб-сервер, и работает это заметно хуже. Для нескольких пользователей и больше разумнее клиент-серверный вариант.
Что важно понимать про устройство:
- 🧩 В браузере выполняется только клиентская часть: отрисовка форм, обработка простых событий.
- 🖥️ Всё, что помечено в конфигурации как серверный вызов, идёт на сервер. Каждый такой вызов — сетевой запрос.
- 📦 Дистрибутив платформы на рабочее место не нужен. Браузер сам загружает код форм с сервера.
- 🔑 Лицензия клиента всё равно нужна: веб-клиент потребляет клиентскую лицензию так же, как тонкий.
Отсюда главное следствие: скорость работы зависит от канала и от числа серверных вызовов в формах. На медленном канале веб-клиент «задумывается» заметнее тонкого.
Толстый, тонкий и веб-клиент: что выбрать
Три режима запуска отличаются тем, что установлено на компьютере пользователя и как он подключается к базе.
| Параметр | Толстый клиент | Тонкий клиент | Веб-клиент |
|---|---|---|---|
| Установка на ПК | Нужна платформа | Нужна платформа | Не нужна, только браузер |
| Подключение | Напрямую к базе или серверу | К серверу 1С или по HTTP | Только по HTTP/HTTPS через веб-сервер |
| Конфигуратор | Есть | Нет | Нет |
| Скорость | Высокая | Высокая | Зависит от канала и браузера |
| Работа с локальными файлами | Без ограничений | Почти без ограничений | Через расширение браузера, с ограничениями |
| Для кого | Администратор, разработчик | Основная масса пользователей | Удалённые сотрудники, гости, тонкие устройства |
Практическое правило:
- Тонкий клиент — для постоянной работы в офисе. Быстрее и стабильнее.
- Веб-клиент — когда ставить платформу негде или нельзя: домашний компьютер, чужой ноутбук, планшет, терминал без прав администратора.
- Толстый клиент — только админу: для конфигуратора, загрузки и выгрузки информационной базы, особых режимов.
Если в организации нужен удалённый доступ, веб-клиент обычно дешевле и проще терминального сервера: не надо готовить рабочие столы и лицензировать RDP.
Требования к браузеру и совместимость
Веб-клиент работает в современных браузерах: Google Chrome, Mozilla Firefox, Microsoft Edge на движке Chromium, Safari, Яндекс Браузер. Старые версии Internet Explorer не подходят.
Что проверить перед запуском у пользователей:
- ✅ Браузер обновлён до актуальной версии. Номер минимально поддерживаемой версии зависит от релиза платформы, смотрите описание нужного релиза.
- ✅ Включён JavaScript и разрешены cookie для адреса базы.
- ✅ Не блокируются всплывающие окна: часть форм и печатные формы открываются в новых окнах.
- ✅ Для работы с файлами установлено расширение для работы с 1С:Предприятием. Браузер сам предложит его поставить при первой попытке выбрать или сохранить файл .
Ограничения, на которые натыкаются чаще всего:
- Внешние компоненты, написанные под Windows (COM, нативные библиотеки), в браузере не работают. Обмен с торговым оборудованием, кассами и весами через них не пойдёт.
- Прямой доступ к принтеру и сканеру без расширения невозможен. Печать идёт через браузер: форма превращается в документ, и его отправляют на печать обычным способом.
- Сочетания клавиш могут конфликтовать с браузерными. Например,
F5по умолчанию обновляет страницу, а не форму. - На мобильных устройствах интерфейс работает, но для длинных таблиц удобнее настольный экран.
Если в базе используется торговое оборудование или внешние компоненты, проверьте их до массового перехода на веб-клиент. Оставьте таким рабочим местам тонкий клиент.
Публикация базы на веб-сервере: пошаговая инструкция
Публикация — это настройка веб-сервера так, чтобы он знал, какую базу и по какому адресу отдавать. Выполняется один раз на базу.
Что подготовить
- Веб-сервер: Apache или IIS. На Windows чаще используют IIS, на Linux — Apache.
- Для IIS в компонентах Windows нужны поддержка ISAPI и обработка статического содержимого. Конкретный набор подтянет мастер публикации, если чего-то не хватает, он об этом сообщит.
- Права администратора на сервере.
- Сервер 1С и сама база уже созданы и работают.
Публикация из Конфигуратора
- Запустите Конфигуратор нужной базы от имени администратора. Иначе публикация пройдёт с ошибкой записи в конфигурацию веб-сервера.
- Откройте пункт меню
Администрирование → Публикация на веб-сервере. - В поле «Имя» введите адрес, под которым база будет доступна. Лучше латиницей и без пробелов:
buh,zup. - Выберите веб-сервер из списка. Если у вас Apache, нужно указать каталог, где лежит его файл настроек.
- Проверьте каталог, куда будут записаны служебные файлы публикации.
- Отметьте, какие клиенты будут подключаться: «Публиковать тонкий клиент и веб-клиент». Если веб-сервисы не нужны, лишнее не включайте.
- Нажмите «Опубликовать».
- Перезапустите веб-сервер, если Конфигуратор об этом попросит.
После этого база доступна по адресу http://имя-сервера/имя-публикации.
Публикация из командной строки
Для Linux и автоматизации удобнее утилита webinst. Пример для Apache 2.4:
webinst -publish -apache24 -wsdir buh -dir /var/www/buh \
-connstr "Srvr=srv1c;Ref=buh;" \
-confpath /etc/apache2/apache2.conf
Здесь -wsdir — имя публикации, -dir — каталог файлов публикации, -connstr — строка соединения с базой, -confpath — путь к конфигурации Apache. Полный список параметров смотрите в справке webinst.
Что внутри публикации
В каталоге появляется файл default.vrd. Это описание публикации: строка соединения, включённые сервисы, настройки аутентификации. Править его вручную можно, но после изменений нужно перезапустить веб-сервер
или пул приложений, иначе правки не подхватятся.
Перезапуск веб-сервера или пула обрывает сеансы всех, кто сейчас работает через веб. Делайте это вне рабочего времени или предупредите пользователей.
Проверка
Откройте в браузере адрес публикации. Если всё сделано правильно, появится окно ввода пользователя и пароля, а затем интерфейс базы. Для проверки без входа в интерфейс сработает и такая ссылка: http://сервер/имя/ru_RU/ — она вернёт страницу запуска.
Настройка безопасности и HTTPS
По HTTP логины и пароли идут в открытом виде. Если веб-клиент доступен не только из внутренней сети, HTTPS обязателен.
Минимум, который стоит сделать:
- 🔒 Установить на веб-сервер сертификат. Для внутренней сети подойдёт сертификат собственного удостоверяющего центра, для публичного адреса — выданный публичным центром сертификации.
- 🔒 На IIS — добавить привязку (binding) по HTTPS к сайту и выбрать сертификат. На Apache — включить модуль
mod_sslи описать виртуальный хост на порту 443. - 🔒 Перенаправить HTTP на HTTPS, чтобы пользователь не мог зайти по незащищённому адресу.
- 🔒 Не публиковать базу «в мир» без необходимости. Если нужен доступ из дома, сначала подумайте о VPN, а если веб-клиент всё-таки наружу — поставьте перед ним обратный прокси.
Про аутентификацию:
- Веб-клиент поддерживает вход по логину и паролю 1С, а также аутентификацию операционной системы (на IIS это встроенная проверка подлинности Windows). Выбор делается в настройках публикации.
- Для внешних пользователей не включайте ОС-аутентификацию: она рассчитана на домен.
- Давайте внешним сотрудникам отдельные роли с минимальными правами. Веб-клиент не повышает права, но и не защищает от лишних.
Прежде чем менять права или режим аутентификации, сделайте резервную копию базы и согласуйте изменения с регламентом.
Сертификат нужно продлевать вовремя. Просроченный сертификат браузер встретит страшным предупреждением, и часть пользователей решит, что сайт взломан.
Ещё один частый вопрос — сколько пользователей выдержит одна публикация. Единой цифры нет: всё упирается в мощность сервера 1С и СУБД, а не в веб-сервер. Сам Apache или IIS нагружается слабо, он только пересылает запросы. Поэтому при росте числа веб-пользователей сначала смотрите загрузку сервера 1С, диска и памяти, а уже потом думайте о втором веб-сервере.
Для нагрузки удобно опубликовать одну и ту же базу под двумя именами: одно для сотрудников, другое для внешних подрядчиков. У каждой публикации свой default.vrd, а значит, можно отдельно настроить аутентификацию и набор сервисов. Если подрядчик отключится, закрыть нужно только его публикацию.
Ошибки веб-клиента и как их диагностировать
Диагностику удобно строить по цепочке «браузер → веб-сервер → сервер 1С». Сначала смотрите, до какого звена запрос доходит.
default.vrd.default.vrd, имя сервера и доступность портов кластера с машины, где стоит веб-сервер.Где искать подробности:
- Журнал регистрации самой 1С покажет ошибки серверной части и вход пользователей.
- Журнал веб-сервера — запросы и коды ответов.
- Консоль разработчика в браузере (клавиша
F12, вкладка «Сеть») — видно, какой запрос завис или вернул ошибку.
Если лицензии на клиентов закончились, пользователь увидит отказ при входе. Это не ошибка публикации — проверьте, сколько сеансов занято, в консоли кластера.
Если веб-клиент не подходит: что делать
Бывает, что веб-клиент не тянет задачу: тяжёлые отчёты, оборудование, нестабильный канал. Варианты:
- Тонкий клиент по HTTP — подключение через ту же публикацию, но с установленной платформой. Подходит, когда нужны скорость и оборудование, а прямого доступа к серверу 1С нет.
- Терминальный сервер — пользователи работают на удалённом рабочем столе, где установлен тонкий клиент. Дороже, но поддерживает любое оборудование.
- Мобильное приложение или мобильная платформа — для узких сценариев вроде склада или выездного менеджера.
Если проблема только в скорости, начните с малого: проверьте канал, включите сжатие на веб-сервере и посмотрите, какие формы вызывают больше всего серверных обращений.