Как отключить проверку мобильного приложения-клиента при синтаксическом контроле в 1С:Предприятие 8

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

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

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

Выясним причину: почему возникают эти ошибки?

Прежде чем перейти к отключению настроек, давайте проанализируем ситуацию и поймем физику процесса. Платформа 1С:Предприятие активно развивает мобильное направление: разработку мобильных приложений и мобильных клиентов. Однако мобильная операционная система (Android, iOS) и сама мобильная платформа имеют жесткие аппаратные и программные ограничения по сравнению со «стационарным» настольным клиентом.

На мобильной платформе недоступны многие привычные разработчику объекты метаданных, классы, системные процедуры и функции. Например, там нельзя напрямую работать со многими типами документов, планами счетов, сложными бизнес-процессами или специфическими методами операционной системы Windows.

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

Способ 1. Отключение автоматической проверки в параметрах конфигуратора

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

Выполним следующие шаги:

  1. В главном меню конфигуратора найдем и откроем пункт Сервис, далее выберем Параметры.
  2. В открывшемся окне настроек перейдем на вкладку Модули.
  3. Внутри этой вкладки найдем горизонтальную закладку Проверка. Перед нами откроется список различных контекстов и платформ, под которые 1С умеет компилировать и валидировать программный код.
  4. Внимательно изучим представленный список платформ. Нам необходимо найти и снять флажки со следующих пунктов:
    • Мобильное приложение – клиент
    • Мобильное приложение – сервер
    • Мобильный клиент (в зависимости от конкретного релиза вашей платформы 1С название может слегка отличаться)
  5. После снятия лишних флагов обязательно нажмем кнопку Применить, а затем кнопку ОК для сохранения изменений.

Проанализируем результат: теперь при динамическом написании кода или сохранении отдельных модулей конфигуратор перестанет анализировать код на применимость в мобильной среде. Ложные предупреждения больше не будут вас беспокоить.

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

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

Давайте разберем по шагам, как исправить настройки глобальной проверки:

  1. В главном меню конфигуратора перейдем по пути: Конфигурация -> Проверка конфигурации...
  2. В открывшемся диалоговом окне настройки параметров проверки обратим внимание на дерево настроек и список целевых платформ.
  3. Найдем группу параметров, отвечающих за мобильные решения, и снимем галочки с пунктов:
    • Мобильный клиент
    • Мобильное приложение – клиент
    • Мобильное приложение – сервер
  4. Также рекомендуется снять флаг рядом с опцией Поиск неподдерживаемой функциональности, если вы проверяете старую конфигурацию на новой платформе и не планируете адаптировать её под мобильные операционные системы.
  5. Нажмем кнопку Выполнить для запуска чистой проверки.

После выполнения этих действий глобальный отчет о проверке конфигурации будет содержать только действительно важные ошибки, относящиеся к вашей целевой платформе (например, тонкому или толстому клиенту на ПК).

Способ 3. Полное отключение поддержки мобильных функций в свойствах конфигурации

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

Выполним это кардинальное отключение по шагам:

  1. Откроем дерево конфигурации (если оно закрыто) через меню Конфигурация -> Открыть конфигурацию.
  2. Нажмем правой кнопкой мыши на самый корневой элемент дерева (который содержит имя вашей конфигурации) и выберем пункт Свойства.
  3. В открывшейся справа палитре свойств найдем раздел свойств, отвечающий за совместимость и назначение. Нам нужен пункт Назначение использования.
  4. Дважды кликнем по этому свойству. Перед нами откроется небольшое окно выбора целевых платформ.
  5. В зависимости от версии вашей платформы снимем флаги:
    • В более старых релизах платформы (включая 8.3.10): снимем флаг с пункта Мобильное устройство, оставив включенным только Персональный компьютер.
    • В современных релизах платформы: снимем флаг с пункта Приложение для мобильной платформы, оставив галочку исключительно на Приложение для платформы.
  6. Нажмем ОК, закроем палитру свойств.
  7. Обязательно обновим конфигурацию базы данных, нажав клавишу F7 (или синюю бочечку на панели инструментов).

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

Что делать, если мобильный клиент действительно нужен?

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

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

Посмотрим на пример правильного оформления кода:


#Если Не МобильноеПриложениеКлиент И Не МобильныйКлиент Тогда
    // Данный код будет скомпилирован и выполнен только на настольном ПК
    ВыбФайл = Новый Файл("C:\temp\data.xml");
    Если ВыбФайл.Существует() Тогда
        // Проведение операций с файловой системой Windows
    КонецЕсли;
#КонецЕсли

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

Смежная проблема: ошибка подписи мобильного клиента на сервере

В заключение проанализируем еще одну проблему, часто возникающую при обновлении платформы 1С на сервере. Пользователи могут начать жаловаться на появление системного предупреждения: «Подпись мобильного клиента в приложении на сервере устарела. Необходимо обновить подпись».

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

  1. Запустим базу в режиме Конфигуратор с правами администратора.
  2. В верхнем меню перейдем в раздел Администрирование -> Параметры информационной базы...
  3. В открывшемся списке настроек найдем строку Проверка подписи мобильного клиента.
  4. Установим переключатель в положение Не выполнять проверку подписи (или снимем соответствующий флаг).
  5. Нажмем Применить для сохранения параметров работы СУБД.

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

← На главную