Почему веб-клиент 1С зависает на стартовом окне после перехода на SQL и как это исправить?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей IT и автоматизация бизнеса
← На главную

Переход с файлового варианта информационной базы на клиент-серверный (SQL) — это важный этап масштабирования системы. Однако часто системные администраторы сталкиваются с тем, что после переноса данных и изменения строки соединения веб-клиент перестает работать корректно. Тонкий и толстый клиенты подключаются без проблем, но при попытке зайти через браузер пользователь видит лишь бесконечную заставку (сплэш-скрин) 1С, которая замирает еще до появления окна авторизации. Рассмотрим детально, почему это происходит и как реанимировать работу веб-сервера.

Разберем архитектурные отличия при смене режима работы

Прежде чем приступать к правке конфигов, проанализируем ситуацию. В файловом варианте веб-сервер (IIS или Apache) обращается напрямую к файлам базы данных. В клиент-серверном варианте цепочка усложняется: веб-сервер взаимодействует с расширением (модулем 1С), которое, в свою очередь, должно связаться с кластером серверов 1С:Предприятия. Если на этом пути возникает несоответствие версий, прав доступа или разрядности приложений, процесс «зависает» в ожидании ответа, который никогда не придет.

Решение 1: Правильная публикация базы из Конфигуратора

Многие администраторы пытаются вручную править файл default.vrd, заменяя параметр ib="File=..." на ib="Srvr=...;Ref=...". Хотя это кажется логичным, такой подход часто приводит к ошибкам в структуре XML или несоответствию настроек в файле web.config, который IIS использует для управления запросами. Выясним причину, почему лучше доверить это платформе.

Рассмотрим по шагам процесс перепубликации:

  1. Запустим Конфигуратор серверной информационной базы от имени Администратора (это критически важно для корректной записи настроек в системные папки IIS).
  2. Перейдем в меню «Администрирование» — «Публикация на веб-сервере».
  3. Если старая публикация осталась, выберем ее из списка. Нажмем кнопку «Опубликовать». Платформа автоматически обновит default.vrd и, что более важно, перенастроит web.config под параметры клиент-серверного взаимодействия.
  4. Убедимся, что в поле «Имя» указано корректное имя виртуального каталога, например, UT_SQL.

Решение 2: Настройка разрядности пула приложений в IIS

Одной из самых частых причин «мертвого» зависания является конфликт разрядности (32-bit против 64-bit). Если ваша операционная система Windows 64-битная, а модуль расширения веб-сервера 1С установлен 32-битный, IIS не сможет корректно инициализировать библиотеку без специальной настройки. Проанализируем настройки пула приложений:

  1. Откроем Диспетчер служб IIS.
  2. Перейдем в раздел Application Pools (Пулы приложений).
  3. Найдем пул, который обслуживает вашу публикацию (по умолчанию это часто DefaultAppPool, но для 1С рекомендуется создавать отдельный пул).
  4. Выберем пункт «Advanced Settings» (Дополнительные параметры) в правой панели.
  5. Найдем параметр Enable 32-Bit Applications (Разрешить 32-разрядные приложения).
  6. Если у вас установлена 32-битная платформа 1С, установите значение True. Если платформа 64-битная — значение должно быть False.

Помните, что разрядность установленного модуля расширения веб-сервера 1С (библиотека wsap22.dll) должна строго соответствовать этой настройке.

Решение 3: Проверка версии модуля расширения (DLL)

Если на сервере установлено несколько версий платформы 1С, IIS может ошибочно использовать библиотеку от старой или неподходящей версии. Выясним, как проверить сопоставление обработчиков.

В диспетчере IIS выберем наш виртуальный каталог (базу) и откроем раздел Handler Mappings (Сопоставления обработчиков). Проверим записи для расширений .1cws и .1crs. Путь к исполняемому файлу должен вести к актуальной папке bin текущей версии платформы, например:

C:\Program Files\1cv8\8.3.22.1750\bin\wsap22.dll

Если пути ведут к старой версии платформы, их необходимо обновить вручную или через повторную публикацию из правильного Конфигуратора.

Решение 4: Права доступа и Identity пула приложений

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

  1. В дополнительных настройках пула приложений (Advanced Settings) найдем раздел Process Model.
  2. Изменим параметр Identity на LocalSystem или на специально созданную доменную учетную запись, под которой работает служба сервера 1С.
  3. Перезапустим IIS командой iisreset в командной строке.

Решение 5: Очистка серверного и клиентского кэша

Зависание на стартовой картинке часто вызвано тем, что браузер или сервер «запомнили» настройки от файловой версии базы. Разберем, как произвести полную очистку.

На стороне сервера 1С и веб-сервера стоит очистить временные файлы:


C:\Windows\Temp\
C:\Users\[ИмяПользователяСлужбы]\AppData\Local\Temp\

На стороне клиента (в браузере) недостаточно просто нажать F5. Необходимо зайти в настройки истории и полностью удалить кэшированные изображения и файлы за все время. Часто именно старые скрипты, хранящиеся в кэше браузера, не дают корректно отработать скриптам новой серверной публикации.

Диагностика через консоль разработчика

Если вышеуказанные шаги не помогли, воспользуемся инструментами отладки. Откроем браузер, нажмем F12 и перейдем на вкладку Network (Сеть). После этого обновим страницу с базой 1С. Проанализируем список запросов:

Таким образом, для лечения «отвалившегося» веб-клиента при переходе на SQL необходимо обеспечить согласованность разрядности пула IIS и установленной платформы, корректно переопубликовать базу через Конфигуратор и убедиться в наличии прав у учетной записи пула приложений на взаимодействие с компонентами 1С.

← На главную