Администрирование · 10 мин
Как обновить подпись мобильного клиента в приложении на сервере 1С
Как обновить подпись мобильного клиента на сервере 1С: где хранятся данные подписи, как выполнить обновление через код и настройки, типичные ошибки и проверка результата.
Подпись мобильного клиента — это набор идентификационных данных, которые мобильное приложение передаёт на сервер 1С при подключении: идентификатор подписчика, токен устройства, версия платформы и параметры канала доставки push-уведомлений. Эти данные не статичны: токены устройств периодически меняются на стороне сервисов доставки уведомлений, пользователи переустанавливают приложение, меняют телефоны. Если подпись устарела, push-уведомления перестают приходить, а синхронизация может работать с ошибками.
Обновление подписи — стандартная административная задача, которую можно выполнить как встроенными средствами конфигурации, так и программно через встроенный язык. Ниже разобраны оба подхода, условия их применения и способы проверить, что обновление прошло успешно.
Что такое подпись мобильного клиента и когда её нужно обновлять
Подпись формируется при первом подключении мобильного приложения к информационной базе. Сервер сохраняет данные подписчика и использует их для адресной отправки push-уведомлений и идентификации устройства при обмене данными. Сама по себе подпись не «протухает» по расписанию, но её составные части — в первую очередь токен устройства — могут измениться в любой момент по инициативе сервиса доставки уведомлений операционной системы.
Типичные ситуации, когда требуется обновление: пользователь переустановил приложение или сменил смартфон; уведомления внезапно перестали приходить хотя раньше работали; после обновления мобильной платформы изменились параметры клиента; в журнале регистрации появляются ошибки доставки уведомлений конкретному подписчику. Во всех этих случаях корректное действие — обновить подпись, а не пересоздавать пользователя или перенастраивать всю систему обмена.
Подготовка: что проверить перед обновлением
Прежде чем менять подпись, убедитесь, что проблема действительно в ней. Проверьте доступность сервера из мобильного приложения: откройте подключение к базе и выполните любую операцию, требующую обращения к серверу. Если соединения нет в принципе, обновление подписи не поможет — сначала нужно восстановить сетевой доступ, публикацию базы на веб-сервере или работу сервиса взаимодействия.
Также уточните, как устроена доставка уведомлений в вашей инфраструктуре: через сервис взаимодействия 1С или через собственный сервер-связку. От этого зависит, где именно хранятся и обновляются данные подписчиков. Наконец, зафиксируйте текущее состояние: какие устройства зарегистрированы, кому из пользователей не приходят уведомления. Это понадобится для проверки результата.
Способ 1: обновление подписи со стороны мобильного приложения
Самый безопасный вариант — инициировать обновление с устройства пользователя. При подключении к серверу мобильный клиент передаёт актуальные данные, и сервер обновляет подпись автоматически, если обнаруживает расхождения. Для этого пользователю достаточно открыть приложение при активном соединении с базой и дождаться завершения сеанса обмена.
Если автоматическое обновление не сработало — например, после переустановки приложения или смены устройства — выполните повторную регистрацию: в настройках мобильного приложения удалите текущее подключение к базе и добавьте его заново по QR-коду или параметрам подключения. При новой регистрации подпись формируется с нуля с актуальным токеном устройства. Это радикальный, но надёжный способ, подходящий для точечных проблем у отдельных пользователей.
- 1Убедитесь, что на устройстве есть доступ к интернету и сервер 1С доступен
- 2Откройте мобильное приложение и выполните подключение к базе
- 3Если уведомления не восстановились — удалите подключение в настройках приложения
- 4Зарегистрируйте приложение заново по QR-коду или параметрам подключения
- 5Запросите у администратора тестовое push-уведомление для проверки
Способ 2: программное обновление на сервере
Когда устройств много или нужен централизованный контроль, подписи обновляют программно из встроенного языка. В конфигурациях на базе типовых библиотек обычно есть программный интерфейс для работы с подписчиками push-уведомлений: получение списка зарегистрированных подписчиков, обновление или удаление данных конкретного подписчика. Точные имена модулей и методов зависят от вашей конфигурации и версии библиотеки — ищите их в общих модулях, отвечающих за обмен с мобильными клиентами и отправку уведомлений.
Общая логика серверного обновления выглядит так: найти запись подписчика по пользователю или идентификатору устройства, проверить актуальность сохранённого токена, при необходимости удалить устаревшую запись, чтобы при следующем подключении клиент зарегистрировался заново с корректными данными. Выполнять такой код удобно через консоль кода на сервере или через регламентное задание, если очистку устаревших подписей нужно проводить регулярно.
Настройка регламентного контроля подписей
Чтобы не решать проблему вручную каждый раз, имеет смысл настроить регулярную проверку. Напишите небольшую процедуру, которая выбирает подписчиков, по которым зафиксированы ошибки доставки, и помечает их записи для повторной регистрации или уведомляет администратора. Подключите её как регламентное задание с разумной периодичностью — для большинства внедрений достаточно ежедневного запуска в нерабочие часы.
Дополнительно полезно вести наблюдение за журналом регистрации: отфильтруйте события, связанные с отправкой уведомлений и обменом с мобильными клиентами. Регулярные ошибки доставки по одним и тем же подписчикам — надёжный признак того, что их подписи устарели и требуют обновления, даже если пользователи ещё не пожаловались.
Проверка результата после обновления
Главный критерий успеха — фактическая доставка уведомления. Отправьте тестовое push-уведомление конкретному пользователю и убедитесь, что оно пришло на устройство в разумное время. Если в конфигурации есть список подписчиков, проверьте, что запись обновилась: изменилась дата регистрации или обновился идентификатор устройства.
Если уведомление не пришло, проверяйте по цепочке: запись подписчика существует и актуальна → сервер успешно передаёт уведомление в сервис доставки → на устройстве разрешены уведомления для приложения → устройство имеет доступ к сети. Сбой на любом из этих этапов выглядит одинаково со стороны пользователя, но требует разных действий.
Как проверить результат
Запись существует, дата обновления свежая, идентификатор устройства соответствует текущему
Запись отсутствует или содержит старый идентификатор после переустановки приложения
Доставлено на устройство в течение короткого времени
В журнале регистрации ошибка доставки или уведомление не приходит
Для приложения разрешены уведомления, нет ограничений энергосбережения
Уведомления заблокированы системой или приложение выгружается из памяти
Типичные ошибки и ограничения
Самая частая ошибка — обновление подписи при недоступном сервере взаимодействия: клиент регистрируется локально, но данные не доходят до сервиса доставки, и уведомления не работают, хотя обмен данными функционирует. Вторая типичная ситуация — несколько записей одного пользователя на разных устройствах: уведомления уходят на старое устройство, а пользователь ждёт их на новом. В этом случае нужно удалить устаревшие записи подписчиков.
Учитывайте и внешние ограничения: работа сервисов доставки уведомлений зависит от операционной системы устройства, региональных ограничений и настроек энергосбережения. Если на устройстве агрессивно ограничена фоновая активность приложений, уведомления могут задерживаться или теряться независимо от корректности подписи. Это не решается настройками сервера 1С.
Что важно запомнить
Подпись мобильного клиента обновляется автоматически при подключении устройства, принудительно — повторной регистрацией приложения или программной очисткой записи подписчика на сервере. Всегда диагностируйте перед изменениями, удаляйте записи точечно и подтверждайте результат тестовым push-уведомлением.
Частые вопросы
Как понять, что проблема именно в подписи, а не в сервере?
Если обмен данными из приложения работает (документы синхронизируются, справочники загружаются), а не приходят только push-уведомления — с высокой вероятностью дело в подписи или в сервисе доставки. Если не работает вообще ничего, начинайте с проверки доступности сервера и публикации базы.
Нужно ли обновлять подпись после обновления мобильной платформы?
Обычно нет: при обновлении приложения токен устройства сохраняется. Но если после обновления уведомления перестали приходить, выполните повторное подключение к базе — клиент передаст актуальные данные, и сервер обновит подпись автоматически.
Пользователь сменил телефон. Что делать со старой записью?
Установите приложение на новом устройстве и зарегистрируйте подключение к базе — появится новая запись подписчика. Старую запись, привязанную к прежнему устройству, удалите программно или через штатные средства конфигурации, чтобы уведомления не отправлялись в никуда.
Можно ли обновить подписи всех пользователей разом?
Технически — да, программной очисткой всех записей подписчиков. Но новые подписи появятся только когда каждый пользователь откроет приложение и подключится к базе. Делайте это планово, предупредив пользователей, иначе часть из них останется без уведомлений на неопределённый срок.
Почему уведомление приходит с большой задержкой после обновления подписи?
Задержка доставки зависит от сервиса уведомлений операционной системы и настроек энергосбережения устройства, а не от подписи. Если уведомление в итоге доставляется, подпись работает корректно; для сокращения задержек проверьте, что приложению разрешена фоновая активность.