Как исправить ошибку "Подпись мобильного клиента в приложении на сервере устарела"?

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

При переходе на новые релизы платформы 1С:Предприятие (в частности, начиная с веток 8.3.18 и 8.3.19) и последующей проверке работоспособности внешних отчетов многие администраторы и разработчики сталкиваются с неприятным сообщением при запуске системы: "Подпись мобильного клиента в приложении на сервере устарела необходимо обновить подпись".

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

Почему возникает эта ошибка?

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

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

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

Способ 1. Очистка подписи в Конфигураторе (Рекомендуемый)

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

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

  1. Запустим базу в режиме Конфигуратора.
  2. Откроем дерево конфигурации, если оно закрыто (меню Конфигурация — Открыть конфигурацию).
  3. Нам необходимо открыть палитру свойств корневого элемента конфигурации. Для этого выделим самую верхнюю строку (название вашей конфигурации, например "КомплекснаяАвтоматизация" или "УправлениеТорговлей") и нажмем правую кнопку мыши, выбрав пункт Свойства. Также можно использовать сочетание клавиш Alt + Enter.
  4. В открывшемся окне свойств прокрутим список вниз до раздела Разработка или Мобильный клиент (зависит от версии платформы и режима совместимости).
  5. Найдем свойство Подпись мобильного клиента.
  6. Нажмем на кнопку открытия (значок лупы или три точки).

В открывшемся диалоговом окне мы увидим управление подписью. Здесь нам необходимо нажать кнопку Очистить подпись (или "Очистить"). После этого нажмем "ОК" и обязательно выполним обновление конфигурации базы данных (клавиша F7 или синий цилиндр в панели инструментов).

Что делать, если кнопка "Очистить" неактивна?

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

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

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

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

Важное примечание: Если вы действительно планируете использовать мобильный клиент в будущем, после очистки вам нужно будет нажать "Создать новую подпись" (или загрузить ключ) и пересобрать мобильное приложение. Если мобильный клиент не используется — просто оставьте поле пустым.

Способ 2. Отключение проверки подписи через параметры ИБ

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

Выполним настройку:

  1. Зайдем в Конфигуратор.
  2. Перейдем в меню Администрирование — Параметры информационной базы.
  3. Найдем настройку, связанную с проверкой подписи мобильного клиента.
  4. Установим флаг или выберем опцию "Не выполнять проверку подписи".
  5. Нажмем "Применить" или "ОК".

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

Способ 3. Подавление стартовых сообщений (Workaround)

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

Добавим в ярлык запуска 1С или в параметры запуска базы в списке информационных баз специальный ключ:

/DisableStartupMessages

Разберем, как это сделать:

  1. В окне запуска 1С выделим нужную базу и нажмем Изменить.
  2. На последней вкладке параметров найдем поле Дополнительные параметры запуска.
  3. Впишем туда /DisableStartupMessages.

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

Проблема нехватки памяти при включении возможности изменения

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

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

Как обойти эту проблему, чтобы все-таки очистить подпись?

  1. Использовать 64-битный клиент. Установите на мощный компьютер (с объемом ОЗУ 8 Гб и более) 64-битную версию клиента 1С:Предприятие. Выполните включение возможности изменения через него.
  2. Файловый вариант. Если у вас нет 64-битного сервера, выгрузите базу в файл (.dt), разверните её файловую копию на мощном локальном компьютере с 64-битным клиентом. Выполните снятие с поддержки и очистку подписи там. Затем выгрузите .cf файл (файл конфигурации) и загрузите его в рабочую серверную базу (через "Загрузить конфигурацию из файла"). Внимание: при полной загрузке конфигурации убедитесь, что идентификаторы метаданных не нарушены, лучше использовать "Сравнение и объединение" с рабочей базой.

Резюме

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

  1. Если есть возможность редактировать конфигурацию — открываем свойства корня и нажимаем "Очистить подпись". Это самый правильный метод.
  2. Если конфигурация на замке — пробуем через меню Администрирование — Параметры информационной базы — Не выполнять проверку подписи.
  3. Если ничего не помогает и нужно срочно убрать окно — используем ключ запуска /DisableStartupMessages, осознавая риски скрытия других уведомлений.
  4. В крайнем случае — обновляем платформу до самых свежих релизов (8.3.18.1483+, 8.3.19.12xx+), где поведение проверки подписей скорректировано разработчиками 1С.
← На главную