Что делать, если 1С зависает при нажатии «Публикация на веб-сервере»?

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

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

Разберем механизм работы окна публикации

Прежде чем переходить к решениям, проанализируем ситуацию: что именно делает 1С в момент нажатия кнопки «Публикация на веб-сервере»? Платформа инициирует опрос установленных в системе веб-серверов (IIS или Apache). Она сканирует конфигурационные файлы (например, httpd.conf для Apache или applicationHost.config для IIS), а также проверяет содержимое корневых каталогов (C:\inetpub\wwwroot или htdocs). Если в процессе этого сканирования 1С натыкается на заблокированный файл, некорректную символическую ссылку или не имеет прав на чтение одной из подпапок, основной поток приложения блокируется, и мы видим «зависание».

Способ 1. Проверка прав доступа к каталогам веб-сервера

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

  1. Выясним, под каким пользователем запущен конфигуратор. Если вы запускаете 1С «От имени администратора», это не всегда гарантирует полный доступ к сетевым или специфическим системным папкам веб-сервера.
  2. Перейдем к каталогу, где хранятся ваши публикации. Для IIS это обычно C:\inetpub\wwwroot, для Apache — папка htdocs в директории установки.
  3. Проанализируем права безопасности: правой кнопкой мыши на папку — «Свойства» — вкладка «Безопасность». Убедимся, что вашему пользователю выданы «Полные права» на эту папку и все вложенные объекты.
  4. Дополнительно проверим права учетной записи, под которой работает служба веб-сервера (например, IUSR или NetworkService).

Как показывает практика, именно добавление полных прав на каталог сайта позволяет мгновенно «отвиснуть» окну публикации.

Способ 2. Временная изоляция существующих публикаций

Если в корневом каталоге веб-сервера (например, wwwroot) находится большое количество папок с другими базами, 1С пытается прочитать файл default.vrd в каждой из них. Если один из этих файлов поврежден или недоступен, конфигуратор замирает.

Выполним следующие действия для локализации проблемы:

  1. Временно переместим все вложенные папки из C:\inetpub\wwwroot в любое другое место (например, в созданную папку C:\temp_backup).
  2. Попробуем снова вызвать окно «Публикация на веб-сервере».
  3. Если окно открылось мгновенно — значит, проблема была в одной из существующих публикаций.
  4. Вернем папки обратно по одной, чтобы выяснить, какая именно вызывает сбой.

Часто виной становятся «битые» или пустые файлы конфигурации .vrd, которые 1С не может распарсить.

Способ 3. Очистка кэша платформы

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

Для очистки локального кэша выполним следующие команды (можно создать bat-файл):


rmdir /s /q "%AppData%\1C\1Cv8"
rmdir /s /q "%LocalAppData%\1C\1Cv8"

Важно: При этом удалятся настройки расположения окон и список баз (если он не общий), поэтому заранее позаботьтесь о бэкапе файла ibases.v8i.

Также не забудем про серверный кэш. Остановим службу «Агент сервера 1С:Предприятия» и очистим папку snccntx в каталоге данных сервера (обычно это C:\Program Files\1cv8\srvinfo\reg_1541).

Способ 4. Регистрация компоненты COM-соединителя

Если на сервере установлено несколько версий платформы (например, 8.3.13 и 8.3.15), в системном реестре может возникнуть путаница с регистрацией библиотек, отвечающих за взаимодействие с веб-сервером. Выясним, какая версия платформы сейчас используется, и перерегистрируем comcntr.dll.

Запустим командную строку от имени администратора и выполним регистрацию:

regsvr32 "C:\Program Files\1cv8\8.3.15.1565\bin\comcntr.dll"

Замените путь на актуальный для вашей версии платформы. Это восстановит корректные связи в реестре и может устранить зависание при обращении к модулям расширения веб-сервера.

Способ 5. Проверка файлов конфигурации веб-сервера

Если вы используете Apache, 1С при публикации вносит изменения в файл httpd.conf. Если этот файл был изменен вручную некорректно или содержит ссылки на несуществующие модули 1С от старых версий, конфигуратор может зависнуть при попытке анализа структуры файла.

Проанализируем httpd.conf на наличие дублирующихся записей вида:

LoadModule _1cws_module "C:/Program Files/1cv8/8.3.13.1513/bin/wsap22.dll"

Если таких строк несколько для разных версий платформы, это явный признак конфликта. Оставьте только актуальную версию или удалите лишние строки перед запуском публикации.

Способ 6. Использование командной строки для публикации (Workaround)

Если графический интерфейс (окно публикации) так и не поддается лечению, мы можем выполнить публикацию напрямую через параметры запуска конфигуратора. Это позволяет обойти этап открытия проблемного диалогового окна.

Рассмотрим пример команды для публикации базы через webinst:


"C:\Program Files\1cv8\8.3.15.1565\bin\1cv8.exe" DESIGNER /S "ServerName\BaseName" /N "Admin" /P "Password" /WebInst -apache24 -wsdir MyBase -dir "C:\inetpub\wwwroot\MyBase" -confPath "C:\Apache24\conf\httpd.conf"

Параметры команды:

Подведем итоги

Зависание при публикации — это почти всегда проблема внешнего окружения 1С: прав доступа, структуры папок веб-сервера или «мусора» в системном реестре после установки множества версий платформ. Рекомендуем начать с самого простого — проверки прав на папку wwwroot и временного перемещения старых публикаций. В 90% случаев это решает проблему без необходимости переустановки платформы.

Помните, что совместная работа нескольких версий 1С требует особой чистоты в настройках веб-сервера. Следите за тем, чтобы модули расширения (wsap22.dll или isapi_1c8.dll) соответствовали версии платформы, из которой вы производите публикацию.

← На главную