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

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

При работе с веб-сервисами и HTTP-сервисами в среде 1С:Предприятие 8.3 многие технические специалисты сталкиваются с неприятной ситуацией. После успешной настройки интеграции, например, с облачной АТС или внешним сайтом, повторный запуск окна «Публикация на веб-сервере» выдает пугающее сообщение: «Выполненная ранее публикация не обнаружена». При этом физически файлы в каталоге присутствуют, а сам сервис может продолжать работать. Разберем детально, почему это происходит и как восстановить корректное отображение настроек в Конфигураторе.

Анализ ситуации: почему Конфигуратор «теряет» базу

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

Рассмотрим основные причины, по которым это происходит, и проанализируем способы их решения.

Проблема 1: Служебные маркеры 1С в файле httpd.conf

Для корректной идентификации своих записей в конфигурационном файле 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С перестанет их «узнавать». Конфигуратор ищет именно эти маркеры для связи интерфейса с реальностью.

Проблема 2: Конфликт слешей и регистра символов

Платформа 1С крайне чувствительна к формату написания путей. Выясним причину, связанную с синтаксисом:

  1. Направление слешей: Веб-сервер Apache традиционно использует прямые слеши (/), в то время как Windows — обратные (\). Если при ручной правке вы указали пути через \, Конфигуратор может корректно проигнорировать их при считывании, выдав ошибку об отсутствии публикации.
  2. Регистр символов: Путь C:/Web/Base и c:/web/base для 1С могут оказаться разными объектами. Проверьте, чтобы в конфигурационном файле Apache и в настройках самой публикации регистр букв полностью совпадал.

Проблема 3: Права доступа и блокировка файлов

Даже если мы запускаем Конфигуратор под правами администратора, антивирусное ПО или защитные механизмы Windows Server могут блокировать доступ к чтению/записи файла httpd.conf в папке conf. Разберем шаги по проверке прав:

Проблема 4: Особенности работы с IIS

Если вы используете IIS (Internet Information Services), ситуация обстоит несколько иначе. Рассмотрим подробнее:

Конфигуратор 1С жестко привязан к структуре «Default Web Site». Если вы создали публикацию на другом сайте внутри IIS или переименовали стандартный сайт, 1С не сможет найти настройки через стандартный механизм. Также критически важна работа пула приложений. Если web.config в папке публикации был изменен сторонними средствами или имеет некорректную структуру XML, 1С не сможет его прочитать.

Проблема 5: Повреждение файла default.vrd

Файл 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), Конфигуратор может «споткнуться» при чтении этого файла и решить, что публикация повреждена.

Алгоритм восстановления корректной публикации

Если вы столкнулись с этой ошибкой, но сервис при этом работает, выполните следующие действия вместе с нами:

  1. Создайте резервную копию: Перед любыми манипуляциями сохраните копию httpd.conf и текущего файла default.vrd.
  2. Полная очистка: Откройте конфигурационный файл веб-сервера (Apache) и удалите все секции, относящиеся к данной базе 1С, включая маркеры # 1c-architecture.
  3. Удаление каталога: Удалите или переименуйте папку на диске, где лежали файлы публикации (default.vrd, web.config).
  4. Повторная публикация: Запустите Конфигуратор от имени администратора. Зайдите в «Администрирование» — «Публикация на веб-сервере». Заполните все поля заново. Убедитесь, что вы используете прямые слеши в путях.
  5. Проверка связи: Нажмите кнопку «Опубликовать». После сообщения об успехе закройте окно и откройте его снова. Если настройки сохранились — проблема была в несоответствии файлов.

Что делать, если ошибка сохраняется, но связь нужна?

Как проанализировали участники форума, иногда эта ошибка является «неизлечимым» багом конкретной версии платформы в связке с определенной ОС. Если ваша публикация (например, для интеграции с ВАТС Мегафон или другой телефонией) работает, проходят пинги и записываются события звонков, то на ошибку в Конфигураторе можно не обращать внимания.

Важный нюанс: при каждом обновлении конфигурации или необходимости изменить параметры публикации вам придется вводить настройки в окне заново, так как они будут сброшены. Чтобы облегчить себе жизнь, зафиксируйте все параметры (имя публикации, состав HTTP-сервисов, параметры подключения к базе) в отдельном текстовом файле, чтобы быстро копировать их при необходимости перепубликации.

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

← На главную