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

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

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

Проанализируем причину возникновения ошибки

Когда мы включаем в свойствах конфигурации НазначениеИспользования пункт «Приложение для мобильной платформы» или «Мобильный клиент», 1С автоматически активирует дополнительные механизмы проверки кода (в этот момент может пригодиться статический анализатор кода проектов). Проблема в том, что простое снятие галочки в свойствах объекта Конфигурация не всегда сбрасывает внутренние флаги фоновой проверки модулей. Платформа может «запомнить», что данные модули должны проверяться на соответствие ограничениям мобильной среды (например, отсутствие поддержки модальных окон или определенных типов метаданных).

Способ 1. Настройка параметров проверки модулей (наиболее вероятное решение)

Рассмотрим ситуацию, когда настройки конфигуратора продолжают требовать совместимости с мобильной платформой. Для исправления выполним следующие шаги:

  1. Перейдем в меню Сервис — Параметры.
  2. Выберем вкладку Модули, а в ней подвкладку Проверка.
  3. Проанализируем список флажков в разделе «Контекст проверки». Скорее всего, там установлены галочки напротив пунктов Мобильное приложение (клиент) и Мобильное приложение (сервер).
  4. Снимем все галочки, относящиеся к мобильной разработке.

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

Способ 2. Очистка состава автономной конфигурации

В современных версиях платформы (начиная с 8.3.18) появился механизм АвтономнаяКонфигурация. Если мы случайно включили объекты в её состав, проверки будут продолжаться. Разберем, как это исправить:

  1. Откроем дерево конфигурации.
  2. Нажмем правой кнопкой мыши на самый корень конфигурации и выберем пункт Открыть состав автономной конфигурации (здесь полезно использовать инструмент для анализа зависимостей, чтобы увидеть все связи).
  3. Проверим список объектов. Если там выбраны какие-либо справочники, документы или модули, необходимо снять с них все пометки.
  4. Сохраним изменения и обновим конфигурацию базы данных.

Способ 3. Пересборка конфигурации через сравнение и объединение

Если стандартные настройки не помогают, применим более радикальный, но эффективный метод — создание «чистой» структуры метаданных. Посмотрим на алгоритм действий:

  1. Выгрузим текущую конфигурацию в файл (Конфигурация — Сохранить конфигурацию в файл...).
  2. Создадим новую пустую базу 1С.
  3. В новой базе выполним команду Конфигурация — Сравнить, объединить с конфигурацией из файла.
  4. На предложение системы поставить конфигурацию на поддержку или полностью загрузить её (так как основная конфигурация пуста), ответим Нет. Нам нужно именно окно сравнения.
  5. В открывшемся окне сравнения и объединения найдем корень конфигурации и снимем галочки в тех колонках, которые отвечают за мобильные свойства.
  6. Нажмем кнопку Выполнить, сохраним и обновим конфигурацию. Ошибки должны исчезнуть, так как при таком способе «мусорные» настройки проверки не переносятся.

Способ 4. Отключение автоматической публикации

Иногда проверка инициируется настройками веб-сервера. Разберем, как проверить этот момент:

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

Способ 5. Очистка кэша и принудительная перекомпиляция

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

  1. Закроем конфигуратор.
  2. Удалим базу из списка запуска 1С и добавим её заново. Это приведет к созданию новой папки кэша.
  3. Попробуем запустить проверку конфигурации вручную: Конфигурация — Проверка конфигурации. В окне настроек проверки выберем только Тонкий клиент и Сервер, запустим процесс. Часто это «прочищает» внутренние индексы платформы.
  4. В крайнем случае используем механизм Тестирование и исправление (через Администрирование), выбрав пункты Проверка логической целостности и Реиндексация таблиц.

Пример программной проверки (если необходимо найти место ошибки)

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


#Если Не МобильныйКлиент Тогда
    // Этот код не будет проверяться на синтаксис мобильного приложения
    ОбъектЭкспорта = Новый COMОбъект("Excel.Application"); 
#КонецЕсли

Однако, если наша цель — полностью избавиться от упоминаний мобильного приложения, лучше использовать Способ 1 и Способ 3, так как они решают проблему на уровне настроек самой платформы 1С:Предприятие, а не маскируют её в коде.

Резюмируем: в большинстве случаев ошибка лечится в меню Сервис — Параметры — Модули — Проверка. Если это не помогло, используйте метод сравнения и объединения с пустой базой, чтобы исключить некорректно перенесенные свойства метаданных.

← На главную