Как исправить ошибку «Неправильный формат конфигурации» при публикации мобильного приложения 1С?

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

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

Разберем основную причину: Конфликт публикаций

Проанализируем типичный сценарий: разработчик создает мобильное приложение и публикует его через стандартное меню «Администрирование — Публикация на веб-сервере». Однако для мобильного приложения (автономного) и для мобильного клиента (онлайн-доступа) механизмы публикации различаются. Ошибка часто возникает из-за одновременной попытки опубликовать базу как управляемое приложение и как мобильное приложение в один и тот же виртуальный каталог.

Рассмотрим по шагам правильный алгоритм действий:

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

Как показывает практика, разделение этих сущностей в разные каталоги или отключение публикации тонкого/веб-клиента в настройках мобильного узла решает проблему в 70% случаев.

Проблема «HTML вместо XML»: выясним скрытую причину

Часто мобильное устройство выводит ошибку формата просто потому, что вместо ожидаемого файла конфигурации оно получает от сервера стандартную HTML-страницу с текстом ошибки (например, 403 «Доступ запрещен» или 404 «Не найдено»). Мобильная платформа пытается распарсить HTML-теги как структуру 1С и, естественно, выдает сообщение о неверном формате.

Выполним проверку самостоятельно: откроем браузер на мобильном устройстве и введем прямой адрес публикации (например, http://ваш_ip/ваша_база/1cema.xml). Если вместо XML-кода мы видим страницу ошибки веб-сервера или запрос авторизации, который не проходит, значит, проблема в настройках прав доступа.

Проанализируем ситуацию с правами на папку:

Настройка MIME-типов и расширений

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

Разберем, какие типы стоит добавить вручную, если автоматическая публикация не помогла:

  1. .1cema — application/xml
  2. .1cv8 — application/octet-stream
  3. .vrd — application/xml

Это гарантирует, что сервер передаст файл в «сыром» виде без искажений, и мобильный клиент сможет его корректно прочитать.

Режим совместимости и версии платформы

Посмотрим на пример из практики: иногда ошибка уходит после изменения режима совместимости конфигурации. Если вы используете современную мобильную платформу (например, 8.3.18+), а режим совместимости основной конфигурации установлен в 8.3.8, механизмы сериализации XML могут работать некорректно.

Рекомендуется выполнить следующие действия:

Синтаксические ошибки в коде

Иногда «Неправильный формат конфигурации» является следствием того, что конфигурация просто не может собраться под мобильную платформу из-за ошибок в модулях. Проанализируем типичные ошибки компиляции, которые могут «повесить» процесс загрузки. Например, использование функций, доступных только на толстом клиенте, в общих модулях с установленной галкой «Мобильное приложение-клиент».

Пример кода, который вызовет ошибку при проверке:


// Ошибка: ПоказатьОповещениеПользователя не определено в мобильном клиенте в некоторых версиях
#Если НЕ МобильноеПриложениеКлиент Тогда
    ПоказатьОповещениеПользователя("Обновление установлено");
#КонецЕсли

Обязательно запустите проверку конфигурации (Конфигурация — Проверка конфигурации) и установите флажок «Мобильное приложение-клиент». Если проверка выдает ошибки, мобильный XML-файл может сформироваться не полностью, что приведет к ошибке формата при чтении.

Использование HTTPS и самоподписанных сертификатов

Разберем ситуацию, когда публикация защищена протоколом SSL. Android-устройства крайне чувствительны к безопасности. Если вы используете самоподписанный сертификат, мобильное приложение может молча разорвать соединение при попытке скачать файл конфигурации. Результат — пустой ответ и сообщение о неверном формате.

Чтобы исключить этот фактор, попробуйте временно опубликовать приложение по HTTP. Если ошибка исчезла — значит, необходимо либо добавить ваш сертификат в доверенные на мобильном устройстве, либо использовать доверенный сертификат (например, Let's Encrypt).

Особенности пути публикации

Проанализируем еще один важный момент: использование кириллицы и пробелов в путях. Несмотря на поддержку Unicode, некоторые старые версии мобильных платформ некорректно обрабатывают URL-кодированные пути.

Попробуйте изменить имя виртуального каталога на максимально простое, например m_app, и убедитесь, что физический путь к папке также не содержит русских букв (например, C:\inetpub\wwwroot\m_app).

В некоторых случаях помогает снятие флага «Создавать виртуальный каталог на веб-сервере» в меню публикации мобильного приложения, если каталог уже был создан вручную или через другие средства администрирования. Это принуждает 1С просто обновить файл 1cema.xml, не затрагивая настройки самого IIS, что иногда предотвращает сброс специфических прав доступа.

Резюмируя: ошибка «Неправильный формат конфигурации» почти всегда является симптомом того, что мобильная платформа получила «мусор» (HTML-ошибку или пустой ответ) вместо чистого XML-файла описания конфигурации. Тщательная проверка прав доступа, MIME-типов и разделение методов публикации — ключ к успешному запуску вашего мобильного решения.

← На главную