Как отключить или правильно настроить Мобильный Клиент в 1С для устранения ошибок?

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

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

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

Понимание проблемы: Мобильный Клиент и его влияние

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

Часто ошибки возникают, когда:

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

Теперь рассмотрим подробнее, как мы можем решить эти проблемы.

Решение 1: Отключение проверок и очистка подписи Мобильного Клиента

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

  1. Отключение проверки подписи мобильного клиента

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

    Мы выполним следующие шаги в конфигураторе:

    1. Откроем конфигуратор и перейдем в меню "Администрирование".
    2. Далее выберем пункт "Параметры информационной базы...".
    3. В открывшемся окне найдем параметр "Проверка подписи мобильного клиента".
    4. Установим значение этого параметра на "Не выполнять проверку подписи". Это позволит избежать ошибок, связанных с отсутствием или некорректностью цифровой подписи мобильного приложения.
  2. Очистка подписи мобильного клиента

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

    Действия будут следующими:

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

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

Решение 2: Проверка и адаптация конфигурации для Мобильного Клиента

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

  1. Проверка конфигурации с опцией "Мобильный клиент"

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

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

    1. В конфигураторе перейдем в меню "Главное меню" -> "Конфигурация" -> "Проверка конфигурации".
    2. В открывшемся окне настройки проверки убедимся, что включены следующие опции в группе "Логическая проверка модулей":
      • "Мобильный клиент"
      • Возможно, также "Мобильное приложение клиент" и "Мобильное приложение сервер" (если вы работаете с мобильными автономными приложениями).
      • "Поиск неподдерживаемой функциональности" – эта опция особенно полезна, так как она позволяет выявить конструкции кода, которые не могут быть выполнены на Мобильном Клиенте.
    3. Запустим проверку и внимательно изучим все выданные ошибки и предупреждения. Это даст нам четкое представление о том, какие части кода вызывают проблемы.
  2. Использование директив препроцессора для изоляции кода

    Директивы препроцессора – это мощный инструмент, который позволяет нам управлять компиляцией кода в зависимости от клиентского приложения. Это критически важно для общих модулей, которые могут использоваться разными типами клиентов (тонкий, веб, мобильный, сервер).

    Предположим, у нас есть код в общем модуле, который должен выполняться только на тонком или веб-клиенте, но не на Мобильном Клиенте. Мы можем использовать условие И НЕ МобильныйКлиент:

    
    #Если НЕ ТонкийКлиент И НЕ МобильныйКлиент Тогда
        // Этот код будет компилироваться и выполняться только если это не ТонкийКлиент и не МобильныйКлиент
        // Например, для ВебКлиента или Сервера
        // ...
    #КонецЕсли;
    
    #Если Клиент Тогда
        // Этот код выполняется на любом клиенте (Тонкий, Веб, Мобильный)
        // ...
        #Если НЕ МобильныйКлиент Тогда
            // А этот блок только на Тонком или Веб клиенте
            // ...
        #КонецЕсли;
    #КонецЕсли;
    
    #Если Сервер Тогда
        // Код, выполняемый только на сервере
        // ...
    #КонецЕсли;
    

    Рассмотрим еще один пример: если определенная функция доступна только на обычных клиентах (тонкий, веб), но не на мобильном, мы можем ее обернуть так:

    
    Функция МояФункцияДляОбычныхКлиентов()
    
        #Если НЕ МобильныйКлиент Тогда
            // Здесь размещаем код, который не должен выполняться на Мобильном Клиенте
            Сообщить("Эта функция работает только на тонком или веб-клиенте.");
            Возврат Истина;
        #Иначе
            // Код для Мобильного Клиента, если таковой необходим
            Сообщить("Эта функция не поддерживается на Мобильном Клиенте.");
            Возврат Ложь;
        #КонецЕсли;
    
    КонецФункции
    

    Использование директив #Если, #ИначеЕсли, #Иначе, #КонецЕсли с условиями ТонкийКлиент, ВебКлиент, МобильныйКлиент, Сервер, Клиент, ВнешнееСоединение позволяет нам точно контролировать, какой код будет компилироваться и выполняться в каждом конкретном контексте. Это помогает избежать ошибок "Метод объекта не обнаружен" или "Не определено" при работе с Мобильным Клиентом.

  3. Назначение использования общих модулей

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

    Действия будут следующими:

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

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

Решение 3: Проверка основного режима запуска

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

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

  1. Откроем конфигурацию ("Конфигурация" -> "Открыть конфигурацию").
  2. Кликнем правой кнопкой мыши по названию конфигурации в дереве метаданных.
  3. В контекстном меню выберем пункт "Свойства".
  4. В окне свойств найдем поле "Основной режим запуска".
  5. Убедимся, что установлено значение, соответствующее вашим основным рабочим сценариям, например, "Тонкий клиент" или "Веб-клиент", а не "Мобильное приложение", если вы его не используете как основной.
  6. Сохраним изменения и обновим конфигурацию базы данных.

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

Решение 4: Влияние версии платформы 1С

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

Что мы можем сделать в этом случае?

  1. Обновление платформы

    Прежде всего, рассмотрим возможность обновления платформы до последней стабильной версии. Разработчики 1С часто исправляют известные проблемы, связанные с мобильной платформой и клиентом, в новых релизах. Проверим актуальные версии на Портале 1С:ИТС и обновим платформу до рекомендованной.

  2. Откат на более раннюю версию

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

    Важно: Перед любыми изменениями версии платформы всегда создавайте резервную копию информационной базы.

Важные различия: Мобильный Клиент vs. Мобильная Платформа

Чтобы избежать путаницы и правильно применять решения, давайте уточним терминологию:

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

Заключение

Ошибки, связанные с Мобильным Клиентом в 1С, могут быть вызваны различными причинами, от некорректных настроек до несовместимости кода. Мы рассмотрели комплексный подход к их устранению:

  1. Полное отключение проверок и очистка подписи, если Мобильный Клиент не используется.
  2. Тщательная проверка и адаптация кода конфигурации с помощью директив препроцессора и правильного назначения использования общих модулей.
  3. Проверка и корректировка основного режима запуска конфигурации.
  4. Учет версии технологической платформы 1С:Предприятие.

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

← На главную