Как опубликовать базу 1С на IIS и работать с ней через браузер
Содержание
Чтобы конфигурация 1С открылась в браузере, базу публикуют на веб-сервере: ставят IIS с расширениями ISAPI, устанавливают платформу с компонентом «Модули расширения веб-сервера» и в Конфигураторе, запущенном от имени администратора, выполняют Администрирование → Публикация на веб-сервере. После этого база доступна по адресу вида http://server/buh/. Сама конфигурация должна работать в режиме управляемого приложения — обычные формы веб-клиент не показывает.
Типичная ситуация: главбух уходит на удалёнку, ставить ему платформу на домашний ноутбук нельзя, а RDP руководство не хочет. Веб-клиент решает задачу без установки чего-либо на стороне пользователя. Ниже по порядку: настройка сервера , публикация, вход и защита, скорость, ошибки и то, чего браузер не умеет.
Что подготовить на сервере до публикации базы
Веб-клиент — это не отдельная программа. Браузер обращается к веб-серверу, а тот через модуль расширения 1С передаёт запросы файловой базе или кластеру серверов 1С. Поэтому на машине с IIS нужны три вещи.
Роль IIS с нужными компонентами
В Windows Server 2016 и новее откройте Диспетчер серверов → Управление → Добавить роли и компоненты и отметьте роль «Веб-сервер (IIS)». Внутри неё обязательно включите:
- 🧩
Разработка приложений → Расширения ISAPI; - 🧩
Разработка приложений → Фильтры ISAPI; - 🔐
Безопасность → Проверка подлинности Windows— если планируете вход доменной учётной записью; - 🛠
Средства управления → Консоль управления IIS.
На Windows 10/11 те же пункты находятся в Панель управления → Программы → Включение или отключение компонентов Windows → Службы IIS. Для пробной публикации этого хватает, но для 20+ пользователей нужна серверная ОС.
Платформа с модулями веб-сервера
При установке платформы 1С на этот компьютер в списке компонентов выберите «Модули расширения веб-сервера». По умолчанию он выключен, и без него пункт публикации в Конфигураторе выдаёт ошибку.
Разрядность платформы должна совпадать с режимом пула приложений IIS. IIS по умолчанию работает в 64-битном режиме. Если стоит 32-битная платформа, в свойствах пула (Пулы приложений → пул → Дополнительные параметры) включите «Разрешить 32-разрядные приложения». Проще сразу поставить 64-битную платформу.
Права доступа и сеть
Учётная запись пула IIS должна дотянуться до базы:
| Тип базы | Что настроить |
|---|---|
| Файловая | Группе IIS_IUSRS дать права на изменение каталога с файлом 1Cv8.1CD |
| Клиент-серверная | Сервер IIS должен видеть агента кластера по порту 1540, менеджер по 1541 и диапазон портов рабочих процессов |
| Любая | Права на чтение каталога платформы bin для IIS_IUSRS (обычно уже есть) |
Публикация базы 1С на веб-сервере IIS
Через Конфигуратор
- Запустите 1С от имени администратора (правый клик по ярлыку). Без повышенных прав платформа не сможет записать файлы в
C:\inetpub\wwwrootи изменить настройки IIS. - Откройте нужную базу в режиме Конфигуратора.
- Выберите
Администрирование → Публикация на веб-сервере. - Заполните поля:
- Имя — латиница без пробелов, например
buh. Это часть адреса. - Веб-сервер — Internet Information Services.
- Каталог — платформа подставит
C:\inetpub\wwwroot\buh.
- Имя — латиница без пробелов, например
- Оставьте флажок «Публиковать доступ для клиентских приложений». Флажки веб-сервисов, HTTP-сервисов и OData нужны только для интеграций.
- Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.
В каталоге публикации появятся два файла: default.vrd (описание публикации и строка подключения к базе) и web.config (обработчик, указывающий на wsisapi.dll нужной версии платформы).
Проверка: откройте в браузере на самом сервере http://localhost/buh/. Должно появиться окно входа 1С.
Через утилиту webinst
На сервере без графического Конфигуратора или для скриптов используют webinst.exe из каталога bin платформы. Пример для клиент-серверной базы:
cd "C:\Program Files\1cv8\8.3.24.1691\bin"
webinst.exe -publish -iis -wsdir buh -dir "C:\inetpub\wwwroot\buh" -connstr "Srvr=srv1c;Ref=buh;"
Для файловой базы строка подключения выглядит как -connstr "File=D:\Bases\buh;". Номер версии в пути замените на установленный у вас.
Если вместо IIS стоит Apache
Публикация на Apache 2.4 устроена так же: в Конфигураторе выберите в поле «Веб-сервер» Apache 2.4, либо вызовите webinst с ключом -apache24 и параметром -confpath, указав путь к httpd.conf. Платформа допишет в конфиг загрузку модуля wsap24 и блок с адресом публикации. На Linux это основной вариант.
Одна публикация — одна база. Для бухгалтерии и ЗУП делайте две публикации с разными именами: buh и zup.
Вход в веб-клиент и защита соединения
Аутентификация 1С
По умолчанию веб-клиент спрашивает имя пользователя и пароль из списка пользователей базы. Ничего дополнительно настраивать не нужно, главное — у каждого пользователя должен быть пароль.
В default.vrd можно прописать логин и пароль, чтобы база открывалась без запроса. Для публикации, доступной из интернета, так делать нельзя: любой, кто узнает адрес, войдёт под этим пользователем.
Вход по учётной записи Windows
Чтобы доменные пользователи входили без пароля:
- В карточке пользователя 1С включите «Аутентификация операционной системы» и укажите пользователя в формате
\\DOMAIN\ivanova. - В консоли IIS выберите узел публикации → «Проверка подлинности» → включите «Проверка подлинности Windows».
- Если вход разрешён только по Windows, отключите для этой публикации анонимную проверку подлинности.
Работает это в доменной сети. Через интернет без VPN такой вход обычно не используют.
HTTPS обязателен для внешнего доступа
Через HTTP пароль и данные идут открытым текстом. Порядок:
- Получите сертификат на доменное имя (подойдёт и бесплатный Let’s Encrypt через клиент для Windows).
- В IIS: сайт → «Привязки» → добавить
https, порт 443, выбрать сертификат. - На маршрутизаторе пробросьте только порт 443, а не 80 и тем более не 1540–1541.
- Пользователям давайте адрес вида
https://1c.company.ru/buh/.
Как ускорить работу конфигурации 1С в веб-клиенте
Веб-клиент всегда немного медленнее тонкого клиента : часть логики выполняется на JavaScript в браузере, интерфейс собирается на лету. Но многие «тормоза» вызваны настройками IIS, а не 1С.
| Что | Значение по умолчанию | Что поставить |
|---|---|---|
| Тайм-аут простоя пула | 20 минут | 0 — пул не выгружается, первый вход утром не занимает минуту |
| Плановая переработка пула | каждые 1740 минут (29 часов) | Переработка в заданное время, например 03:00 |
| Сжатие статического содержимого | зависит от сборки | Включить в разделе «Сжатие» сайта |
Плановая переработка с интервалом 29 часов однажды сработает посреди рабочего дня. Пул перезапустится, и пользователи увидят ошибку соединения. Поэтому интервал лучше заменить фиксированным ночным временем.
Что ещё влияет на скорость:
- 🌐 Браузер. Используйте актуальные Chrome, Edge, Firefox или Яндекс Браузер. Устаревшие версии работают заметно хуже.
- 🖥 Ресурсы сервера. Модуль расширения 1С работает внутри процесса IIS. Если IIS и сервер 1С стоят на одной машине, им нужна общая память с запасом.
- 📶 Канал. Задержка важнее ширины. При пинге 150 мс и выше каждое открытие формы ощущается.
- 📑 Вкладки. Каждая вкладка с базой — отдельный сеанс и отдельная лицензия.
Ошибки подключения к веб-клиенту 1С и как их устранить
Две версии платформы на одном сервере
Частая ловушка при переходе на новую платформу: старая база ещё на 8.3.22, новая уже на 8.3.24. Один рабочий процесс IIS не может держать две разные версии wsisapi.dll. Решение:
- В консоли IIS создайте второй пул приложений, например
1C-8324. - Для публикации новой базы: узел публикации → «Основные настройки» → выберите этот пул.
- Перезапустите IIS командой
iisresetв командной строке администратора.
iisreset обрывает все текущие сеансы веб-клиента. Выполняйте его вне рабочего времени или после предупреждения пользователей.
Если не помогло
Откройте журнал Windows Просмотр событий → Журналы Windows → Приложение и найдите события с источником IIS или 1С в момент ошибки. Текст события почти всегда называет конкретный файл или библиотеку. Второй источник — подробная страница ошибки IIS: откройте адрес публикации прямо на сервере через localhost, там IIS показывает расширенный код вроде 500.0 или 404.2.
Чего веб-клиент не умеет и как работать с внешними отчётами
Требования к самой конфигурации
- 📋 Только управляемые формы. Конфигурации на обычных формах (старые УПП, Комплексная 1.1, самописные решения на 8.2) в веб-клиенте не откроются. Типовые БП 3.0, ЗУП 3.1, УТ 11 работают.
- 🪟 Модальность. В свойствах конфигурации есть «Режим использования модальности». Для браузера нужен вариант «Не использовать»: модальные окна в веб-клиенте ведут себя ненадёжно. Типовые конфигурации уже переведены.
- 🔌 COM и внешние компоненты. Клиентские COM-объекты в браузере недоступны. Внешние компоненты работают, только если разработчик собрал их с поддержкой веб-клиента.
Работа с файлами
Загрузка и выгрузка файлов (банковские выписки, вложения) работает через стандартный диалог браузера. Для сценариев, где 1С сама читает и пишет файлы на диске пользователя, браузер предложит установить «Расширение для работы с 1С:Предприятием». Это бесплатное расширение браузера и небольшая программа-помощник.
Внешние отчёты и обработки
Открывать .erf и .epf «как файл» в веб-клиенте неудобно и не всегда возможно. Надёжный путь в конфигурациях на БСП:
Администрирование → Печатные формы, отчеты и обработки— включите флажок «Дополнительные отчеты и обработки».- Перейдите в список дополнительных отчётов и обработок, нажмите «Добавить из файла».
- Укажите файл через диалог браузера, задайте размещение по разделам и пользователей.
После этого отчёт открывается из нужного раздела наравне с типовыми. Если обработка не написана под веб-клиент (использует клиентские COM или модальные окна), она запустится, но упадёт на первой такой команде — проверяйте её сначала в тестовой публикации.
Печать
Печатная форма открывается в браузере. Её печатают через кнопку «Печать» 1С, которая вызывает диалог браузера, или сохраняют в PDF. Прямой выбор принтера с настройками из 1С, как в тонком клиенте, недоступен.