При работе с веб-сервисами и HTTP-сервисами в среде 1С:Предприятие 8.3 многие технические специалисты сталкиваются с неприятной ситуацией. После успешной настройки интеграции, например, с облачной АТС или внешним сайтом, повторный запуск окна «Публикация на веб-сервере» выдает пугающее сообщение: «Выполненная ранее публикация не обнаружена». При этом физически файлы в каталоге присутствуют, а сам сервис может продолжать работать. Разберем детально, почему это происходит и как восстановить корректное отображение настроек в Конфигураторе.
Прежде всего, важно понимать механизм работы Конфигуратора. Когда мы открываем окно публикации, система не просто проверяет наличие папки на диске. Она обращается к конфигурационным файлам веб-сервера (httpd.conf для Apache или метаданные для IIS) и пытается найти там упоминания о текущей информационной базе. Если по какой-то причине автоматический поиск не находит соответствия, 1С считает, что база никогда не публиковалась, и сбрасывает все флажки и пути в интерфейсе.
Рассмотрим основные причины, по которым это происходит, и проанализируем способы их решения.
Для корректной идентификации своих записей в конфигурационном файле Apache, 1С использует специальные комментарии-маркеры. Проанализируем типичный блок в httpd.conf, который создает система:
# 1c-architecture
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.15.1869/bin/wsap22.dll"
Alias "/MyBase" "C:/inetpub/wwwroot/MyBase/"
<Directory "C:/inetpub/wwwroot/MyBase/">
AllowOverride None
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor "C:/inetpub/wwwroot/MyBase/default.vrd"
</Directory>
Если вы или другой администратор вручную отредактировали файл и случайно удалили строку # 1c-architecture или перенесли настройки публикации в другое место файла, 1С перестанет их «узнавать». Конфигуратор ищет именно эти маркеры для связи интерфейса с реальностью.
Платформа 1С крайне чувствительна к формату написания путей. Выясним причину, связанную с синтаксисом:
/), в то время как Windows — обратные (\). Если при ручной правке вы указали пути через \, Конфигуратор может корректно проигнорировать их при считывании, выдав ошибку об отсутствии публикации.C:/Web/Base и c:/web/base для 1С могут оказаться разными объектами. Проверьте, чтобы в конфигурационном файле Apache и в настройках самой публикации регистр букв полностью совпадал.Даже если мы запускаем Конфигуратор под правами администратора, антивирусное ПО или защитные механизмы Windows Server могут блокировать доступ к чтению/записи файла httpd.conf в папке conf. Разберем шаги по проверке прав:
httpd.conf атрибут «Только для чтения».Если вы используете IIS (Internet Information Services), ситуация обстоит несколько иначе. Рассмотрим подробнее:
Конфигуратор 1С жестко привязан к структуре «Default Web Site». Если вы создали публикацию на другом сайте внутри IIS или переименовали стандартный сайт, 1С не сможет найти настройки через стандартный механизм. Также критически важна работа пула приложений. Если web.config в папке публикации был изменен сторонними средствами или имеет некорректную структуру XML, 1С не сможет его прочитать.
Файл default.vrd является связующим звеном между веб-сервером и базой 1С. Посмотрим на его структуру:
<vrs:point xmlns:vrs="http://v8.1c.ru/8.2/virtual-resource-system"
base="/MyBase"
ib="Connect='Srvr=ServerName;Ref=BaseName;'">
<vrs:httpServices>
<vrs:service name="MobileApp"
rootUrl="mobile"
enable="true"
reuseSessions="autouse"/>
</vrs:httpServices>
</vrs:point>
Если в этот файл были внесены изменения вручную (например, добавлены параметры для работы с OpenID или специфические настройки HTTP-сервисов), которые не поддерживаются текущей версией платформы (в теме упоминалась 8.3.13.1690), Конфигуратор может «споткнуться» при чтении этого файла и решить, что публикация повреждена.
Если вы столкнулись с этой ошибкой, но сервис при этом работает, выполните следующие действия вместе с нами:
httpd.conf и текущего файла default.vrd.# 1c-architecture.default.vrd, web.config).Как проанализировали участники форума, иногда эта ошибка является «неизлечимым» багом конкретной версии платформы в связке с определенной ОС. Если ваша публикация (например, для интеграции с ВАТС Мегафон или другой телефонией) работает, проходят пинги и записываются события звонков, то на ошибку в Конфигураторе можно не обращать внимания.
Важный нюанс: при каждом обновлении конфигурации или необходимости изменить параметры публикации вам придется вводить настройки в окне заново, так как они будут сброшены. Чтобы облегчить себе жизнь, зафиксируйте все параметры (имя публикации, состав HTTP-сервисов, параметры подключения к базе) в отдельном текстовом файле, чтобы быстро копировать их при необходимости перепубликации.
Выясним также, почему может не работать связь с АТС при живой публикации. Если ошибка «Публикация не обнаружена» висит, а звонки не регистрируются — проверьте проброс портов на роутере и корректность URL обработчика в личном кабинете АТС. Часто эти проблемы путают, считая, что корень зла в интерфейсном сообщении 1С, хотя на самом деле это две независимые проблемы.