Веб-клиент 1С: устройство, отличия от тонкого клиента и настройка на сервере
Содержание
Веб-клиент 1С открывает информационную базу в браузере: ничего устанавливать на компьютер пользователя не нужно. Работает он через веб-сервер (Apache или IIS), на котором база опубликована, а сам интерфейс в браузере собирается на JavaScript. Тонкий клиент ставится на каждое рабочее место и быстрее, веб-клиент удобен там, где нужен доступ с любого устройства: из дома, с планшета, с чужого компьютера.
Выбор простой. Для постоянной работы бухгалтера в офисе берут тонкий клиент. Для редких заходов, руководителей, удалённых сотрудников и тех, у кого нельзя ставить программы, берут веб-клиент. Ниже разберём, как он устроен, что нужно серверу, как его настроить и где он ломается.
Как устроен веб-клиент: путь запроса от браузера до базы
Цепочка состоит из четырёх звеньев:
- Браузер пользователя. Загружает интерфейс и отправляет запросы по HTTP или HTTPS.
- Веб-сервер. Принимает запросы по адресу публикации и передаёт их расширению веб-сервера 1С.
- Расширение веб-сервера. Модуль, который ставится вместе с платформой. Он связывает веб-сервер и информационную базу.
- Информационная база. Либо кластер серверов 1С:Предприятия (клиент-серверный вариант), либо файл базы на диске.
Бизнес-логика (проведение документов, запросы, формирование отчётов) выполняется на стороне сервера 1С. Браузер получает уже готовый результат: описание формы и данные. Поэтому от компьютера пользователя требуется немного, а нагрузка ложится на сервер.
Адрес базы в браузере выглядит как http://имя-сервера/имя-публикации. Имя публикации задаётся при публикации базы, а параметры хранятся в файле default.vrd в каталоге публикации.
💡 Для тонкого клиента этот же файл публикации нужен, если база подключается по веб-адресу, поэтому одна публикация обслуживает оба типа клиентов.
Веб-клиент, тонкий и толстый клиент: сравнение
Толстый клиент нужен в основном для режима Конфигуратора и ряда служебных операций. В повседневной работе пользователю нужны два варианта.
| Параметр | Веб-клиент | Тонкий клиент |
|---|---|---|
| Установка на компьютер | Не требуется | Требуется платформа |
| Что нужно для запуска | Браузер и адрес базы | Платформа и строка подключения |
| Скорость работы | Ниже, зависит от канала и браузера | Выше |
| Работа с локальными файлами и оборудованием | Ограничена, нужны расширения | Полная |
| Нагрузка на веб-сервер | Есть всегда | Только при подключении по веб-адресу |
| Подходит для | Удалённого и разового доступа | Ежедневной работы |
Главные различия в возможностях такие:
- 📂 Файлы. Загрузить файл с компьютера или сохранить на диск веб-клиент может, но через механизмы браузера и расширение для работы с 1С. Свободного доступа к папкам, как у тонкого клиента, у него нет.
- 🖨 Оборудование. Подключаемое торговое оборудование (сканеры, фискальные регистраторы) в браузере работает хуже и требует отдельной настройки.
- 🔌 Внешние компоненты и COM. Всё, что завязано на COM-объекты или локальные программы, в веб-клиенте не заработает.
- 🔐 Электронная подпись. Для подписи документов в браузере нужны расширение и криптопровайдер на компьютере пользователя.
Если в конфигурации много обмена с локальными устройствами и файлами, веб-клиент для основной работы не подойдёт.
Требования к серверу и браузеру
Сервер
Веб-клиенту нужен веб-сервер, который умеет работать с расширением 1С. Подходят:
- Apache HTTP Server;
- Microsoft IIS (на Windows Server).
Платформа 1С:Предприятие на этом же или другом сервере должна быть той же версии, что и в базе, которую публикуете. Для клиент-серверной базы нужен запущенный кластер серверов 1С. Для файловой базы веб-сервер обращается к каталогу с файлом напрямую, поэтому учётная запись, от имени которой работает веб-сервер, должна иметь права на этот каталог.
Ориентиры по ресурсам. Это не жёсткие нормы, а отправная точка:
| Одновременных пользователей | Процессор | Оперативная память под веб-сервер и кластер |
|---|---|---|
| До 10 | 2 ядра | 8 ГБ |
| 10-30 | 4 ядра | 16 ГБ |
| 30-100 | 8 ядер и больше | 32 ГБ и больше |
Один сеанс веб-клиента создаёт на сервере заметно большую нагрузку, чем тонкий клиент: часть работы с формой переезжает с компьютера пользователя на сервер. Закладывайте запас.
Браузер
Веб-клиент 8.3 поддерживает современные версии Chrome, Firefox, Safari, Edge и Яндекс Браузера. Точный список для вашей версии платформы смотрите в документации к ней. Устаревшие браузеры, прежде всего Internet Explorer, не поддерживаются.
На мобильных устройствах веб-клиент открывается в обычном браузере, но экранный размер и сенсорное управление делают работу с плотными формами неудобной. Для телефона лучше мобильное приложение или специально подготовленный интерфейс.
Пошаговая настройка: как опубликовать базу для веб-клиента
Порядок для клиент-серверной базы на Apache. Для IIS логика та же, отличаются только окна настройки.
- Установите платформу на сервер. В компонентах отметьте модули расширения веб-сервера.
- Убедитесь, что веб-сервер установлен и запускается без ошибок. Откройте его стартовую страницу в браузере.
- Запустите Конфигуратор нужной базы от имени администратора. Для публикации нужны права на запись в каталог и настройки веб-сервера.
- Откройте
Администрирование → Публикация на веб-сервере. - Выберите веб-сервер из списка, задайте имя публикации (латиницей, без пробелов) и каталог публикации.
- Отметьте, нужна ли публикация веб-сервисов и стандартного интерфейса OData, если они используются. Если нет, оставьте лишнее выключенным.
- Нажмите кнопку публикации и дождитесь сообщения об успехе.
- Перезапустите веб-сервер, если конфигурация не подхватилась сама.
- В браузере откройте
http://имя-сервера/имя-публикации. Должна появиться форма входа в базу.
⚠️ Перезапуск веб-сервера оборвёт все активные HTTP-сессии. Выполняйте его вне рабочих часов или предупредите пользователей.
Что проверить сразу после публикации:
Оптимизация производительности: чем снять нагрузку с веб-клиента
Медленный веб-клиент почти всегда упирается в одну из трёх вещей: канал связи, сервер или сама конфигурация. Начните с диагностики, а не с настройки.
Сначала проверьте сеть и браузер
- Откройте базу в другом браузере. Если разница заметна, дело в браузере или его расширениях.
- Отключите блокировщики рекламы и лишние расширения. Они вмешиваются в запросы и тормозят интерфейс.
- Сравните с тонким клиентом на том же канале. Если тонкий клиент работает нормально, а веб-клиент нет, проблема на стороне веб-сервера или браузера.
Затем сервер
- 🧠 Следите за оперативной памятью и числом рабочих процессов веб-сервера. Если память упирается в потолок, система уходит в своп и всё замедляется.
- ⚙️ Включите сжатие ответов на веб-сервере (gzip). Интерфейс веб-клиента передаёт много текстовых данных, и сжатие сильно экономит трафик.
- 📦 Настройте кэширование статических ресурсов с длинными заголовками. Это снижает число повторных загрузок при каждом входе.
- 🔄 Не держите на одном сервере и кластер 1С, и базу данных, и веб-сервер на слабом железе, если пользователей больше десяти.
Потом конфигурация
Тяжёлые формы со списками на сотни тысяч строк, отчёты без отборов, сложные динамические списки нагружают веб-клиент сильнее, чем тонкий. Вводите отборы по умолчанию и ограничивайте число строк в списках.
Лимит одновременных запросов: как его настроить
Веб-сервер обрабатывает одновременно только ограниченное число запросов. Когда пользователей много, а лимит мал, новые запросы ждут в очереди, и интерфейс «подвисает».
Apache. Число одновременно обрабатываемых запросов задаёт параметр MaxRequestWorkers в настройках модуля обработки запросов (MPM). Если пользователей больше, чем значение параметра, запросы будут упираться в очередь. Увеличивать значение нужно вместе с ростом памяти: каждый процесс или поток тоже потребляет ресурсы.
IIS. Здесь управление идёт через пул приложений. Для него задают длину очереди запросов и число рабочих процессов. Если очередь переполнена, клиент получает ошибку «сервис недоступен».
Общее правило: сначала измерьте нагрузку в рабочее время, а потом меняйте значение. Поднимать лимит вслепую в десять раз бессмысленно, сервер упрётся в процессор или память.
Таймаут неактивного соединения: сколько держать сеанс
Пользователь ушёл на совещание, а вкладка с базой осталась открытой. Сколько сервер будет хранить такой сеанс, зависит от нескольких таймаутов.
- На веб-сервере Apache за ожидание отвечают
Timeout(сколько ждать запрос) иKeepAliveTimeout(как долго держать соединение открытым между запросами). - В IIS у пула приложений есть параметр простоя: после заданного времени без обращений рабочий процесс выгружается. Это экономит память, но следующий вход после простоя будет медленнее.
- В кластере 1С у сеанса есть собственные настройки завершения неактивных сеансов, они не зависят от веб-сервера.
Короткий таймаут освобождает лицензии и память, но раздражает пользователей: потеря данных в незаписанном документе. Длинный держит ресурсы зря. Для офисной работы обычно ставят от нескольких минут до часа, исходя из реальных привычек сотрудников.
💡 Сеанс веб-клиента занимает клиентскую лицензию. Если лицензий мало, короткий таймаут помогает не терять их на «забытых» вкладках.
Типичные ошибки веб-клиента и способы их устранения
После любого изменения публикации сначала проверяйте базу в свежем браузере, потом разбирайтесь с остальным: так проще понять, виноват сервер или компьютер пользователя.
Безопасность веб-клиента: как закрыть базу, открытую в интернет
Опубликованная база видна по сети, поэтому безопасность настраивают заранее.
- Включите HTTPS. Без шифрования логины и пароли идут открытым текстом. Сертификат ставят на веб-сервер, сам по себе он бесплатный, если взять его у центра сертификации, который это допускает.
- Не публикуйте лишнее. Веб-сервисы и OData включайте только там, где они реально используются.
- Ограничьте доступ. По возможности пускайте внутрь только через VPN или со списка разрешённых адресов. Если база нужна «всему интернету», закройте всё остальное.
- Настройте надёжную проверку пользователей. Длинные пароли, разные учётки для сотрудников, отключение уволенных. Пользователя с полными правами не используйте для ежедневной работы.
- Обновляйте веб-сервер и платформу. Старые версии содержат известные уязвимости.
- Ведите журнал. Смотрите журнал регистрации 1С и журналы веб-сервера: подозрительные входы видны сразу.
Не открывайте базу в интернет с паролем «123» или без пароля, даже на время теста. Боты находят такие публикации за часы.
Перед любыми изменениями в публикации и в настройках пользователей делайте резервную копию базы и согласуйте работы по регламенту организации.