Почему не отображается английский язык в мобильном приложении 1С при смене синонимов форм?

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

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

Понимаем специфику работы мобильной платформы

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

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

Шаг 1: Правильная настройка языков конфигурации

Проанализируем настройки языков. Согласно стандартам 1С, рекомендуется использовать двухбуквенные коды ISO 639-1 (например, en, ru). Использование трехбуквенных кодов ISO 639-2 часто приводит к некорректной работе локализации, вплоть до пропадания языков даже в версии для ПК.

  1. Убедитесь, что коды языков прописаны корректно (используйте малые латинские буквы).
  2. Проверьте порядок языков в конфигураторе. Мобильная платформа при выборе языка ориентируется на первый доступный язык, который соответствует настройкам операционной системы. Если система не может точно сопоставить en-US с вашим en, она может автоматически откатиться к языку по умолчанию (первому в списке).

Шаг 2: Принудительный сброс кэша на мобильном устройстве

Рассмотрим методы, которые помогут принудительно обновить ресурсы приложения. Простого перезапуска часто бывает недостаточно:

  1. Полный перезапуск: Обычное сворачивание приложения не завершает его работу. На Android необходимо зайти в «Настройки» -> «Приложения» -> «1С:Предприятие» и выбрать «Остановить». А еще лучше — перезагрузить само мобильное устройство.
  2. Очистка данных: Если перезагрузка не помогла, в тех же настройках приложения на телефоне выберите пункты «Очистить кэш» и «Очистить данные». Это заставит платформу при следующем запуске заново загрузить и проиндексировать все метаданные конфигурации, включая измененные синонимы.
  3. Полная переустановка: Если проблема сохраняется, удалите приложение с устройства целиком и выполните новую установку или повторную публикацию через мобильный конфигуратор.

Шаг 3: Настройка языка системы

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

  1. Перейдите в настройки операционной системы (Android или iOS).
  2. Измените основной язык системы на английский (English).
  3. Выполните полную перезагрузку устройства.
  4. Запустите мобильное приложение 1С.

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

Альтернативные подходы: программное управление

Если автоматическое переключение по системным настройкам работает нестабильно, можно рассмотреть использование встроенного языка 1С. Хотя мобильная платформа накладывает ряд ограничений, можно попробовать использовать функцию УстановитьЯзыкИнтерфейса в процедуре ПриНачалеРаботыСистемы. Однако, помните, что это решение требует тщательного тестирования, так как принудительное переключение может конфликтовать с автоопределением платформы.

Подводя итог, можно сказать, что ключ к решению проблемы лежит в комбинации правильного именования кодов языков по ISO 639-1 и агрессивной очистке кэша мобильного устройства. Не забывайте, что мобильная разработка в 1С требует учета особенностей «песочницы», где кэширование является первичным фактором, мешающим мгновенному применению изменений в интерфейсе.

← На главную