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

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

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

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

Принцип определения языка и региональных установок в веб-клиенте 1С:Предприятия

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

  1. Параметры запуска в адресной строке браузера. Это самый мощный и приоритетный способ. Мы можем явным образом указать язык и региональные настройки прямо в URL.
  2. Настройки пользователя в конфигураторе. Для каждого пользователя можно задать предпочитаемый язык интерфейса.
  3. Региональные установки информационной базы. В конфигураторе можно задать форматы отображения даты, времени, чисел для всей информационной базы.
  4. Предпочтительный язык веб-браузера. Если явные параметры не указаны, система попытается определить язык из HTTP-заголовка Accept-Language браузера.
  5. Настройки операционной системы. Если ни один из предыдущих методов не дал результата, используются системные настройки по умолчанию.

Понимание этой иерархии позволит нам выбрать наиболее подходящий и эффективный метод для решения нашей задачи.

Решение 1: Указание параметров запуска в адресной строке браузера (наивысший приоритет)

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

Установка языка интерфейса платформы с помощью параметра L

Для указания языка интерфейса платформы используйте параметр L=<код языка>. Этот параметр определяет, на каком языке будут отображаться системные элементы управления, меню, стандартные команды и т.д.

Рассмотрим примеры кодов языков, которые вы можете использовать:

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

Пример:

Предположим, адрес вашей информационной базы: http://localhost/myApp.

Для запуска с русским интерфейсом: http://localhost/myApp?L=ru

Для запуска с английским интерфейсом: http://localhost/myApp?L=en

Установка региональных установок с помощью параметра VL

Просто установка языка интерфейса не всегда решает проблему с форматированием дат, чисел или выводом сумм прописью в печатных формах. За эти аспекты отвечают региональные установки. Для их принудительного задания используйте параметр VL=<код локализации сеанса>.

Параметр VL влияет на:

Коды локализации обычно состоят из кода языка и кода страны, разделенных нижним подчеркиванием. Например, ru_RU для русского языка и России, en_US для английского языка и США.

Пример:

Для запуска с русским интерфейсом и русскими региональными настройками (даты, суммы прописью): http://localhost/myApp?L=ru&VL=ru_RU

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

Решение 2: Настройки языка для пользователя в Конфигураторе

Если вы хотите установить язык для конкретного пользователя, но не желаете каждый раз передавать параметры в адресной строке, мы можем использовать настройки пользователя в режиме "Конфигуратор". Этот метод имеет более низкий приоритет, чем параметры в URL, но более высокий, чем настройки браузера или ОС.

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

  1. Запустите 1С:Предприятие в режиме Конфигуратор.
  2. Перейдите в меню Администрирование (или Администрирование и поддержка, в зависимости от версии платформы).
  3. Выберите пункт Пользователи.
  4. В открывшемся списке пользователей найдите нужного пользователя и откройте его свойства двойным щелчком или кнопкой "Изменить".
  5. На вкладке Основные или Прочие настройки (название может незначительно отличаться) найдите поле Язык интерфейса программы.
  6. Установите желаемый язык (например, "Русский") из выпадающего списка.
  7. Нажмите ОК, чтобы сохранить изменения.

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

Решение 3: Региональные установки информационной базы в Конфигураторе

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

Рассмотрим, как настроить региональные установки информационной базы:

  1. Запустите 1С:Предприятие в режиме Конфигуратор.
  2. Перейдите в меню Администрирование (или Администрирование и поддержка).
  3. Выберите пункт Региональные установки информационной базы.
  4. В открывшемся окне обратите внимание на флаг Использовать региональные установки текущего сеанса.
    • Если этот флаг установлен (по умолчанию), система будет пытаться использовать региональные установки, заданные на компьютере пользователя или в браузере. Это часто приводит к проблемам, когда у разных пользователей разные локали.
    • Если этот флаг снят, то система будет использовать настройки, заданные непосредственно в этом окне для всей информационной базы.
  5. Снимите флаг Использовать региональные установки текущего сеанса.
  6. После снятия флага вы сможете вручную задать следующие параметры для всей информационной базы:
    • Формат даты
    • Формат времени
    • Разделитель целой и дробной части
    • Разделитель групп разрядов
    • Отрицательные числа
    • Логические константы
  7. Настройте эти параметры в соответствии с желаемыми региональными стандартами (например, для русского формата даты используйте 'ДД.ММ.ГГГГ').
  8. Нажмите ОК, чтобы сохранить изменения.

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

Влияние предпочтений веб-браузера и настроек операционной системы

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

Предпочтительный язык веб-браузера

Если параметры L и VL не указаны в адресной строке, и настройки в конфигураторе не переопределяют их, система 1С анализирует HTTP-заголовок Accept-Language, который веб-браузер отправляет веб-серверу. Этот заголовок содержит список предпочтительных языков, настроенных в браузере пользователя.

Посмотрим, как это работает:

  1. Система 1С получает список языков из заголовка Accept-Language (например, en-US,en;q=0.9,ru;q=0.8).
  2. Она пытается найти наиболее подходящий язык из списка локализаций, установленных на веб-сервере.
  3. Если точное совпадение не найдено (например, en-US, а доступен только en), система усекает искомое название языка (из en-US ищет en).
  4. Если ни один из предпочтительных языков не найден, по умолчанию применяется английский язык (en).

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

Настройки операционной системы

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

Дополнительные аспекты

Файл conf.cfg

Мы также можем глобально задать язык платформы на сервере или клиентской машине (если речь идет о толстом/тонком клиенте, но это менее применимо к веб-клиенту). Это делается путем добавления строки SystemLanguage=RU в файл conf.cfg. Обычно этот файл находится по пути C:\Program Files (x86)\1cv8\conf\conf.cfg. Изменения в этом файле влияют на язык платформы в целом для всех информационных баз, запускаемых с данного экземпляра платформы.

Поддержка языков конфигурацией

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

Итоги и рекомендации

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

  1. Наиболее эффективный способ: Всегда используйте параметры запуска в адресной строке браузера L=ru&VL=ru_RU. Это обеспечивает максимальный контроль и переопределяет все остальные настройки. Вы можете создать для пользователей готовые ярлыки или ссылки.
  2. Для общего контроля: В Конфигураторе для каждого пользователя установите Язык интерфейса программы на "Русский". Это создаст базовую настройку для тех, кто не использует ссылки с параметрами.
  3. Для единообразия форматов: В Конфигураторе в Региональных установках информационной базы снимите флаг Использовать региональные установки текущего сеанса и явно задайте нужные форматы даты, времени и чисел. Это гарантирует, что даже если VL не указан, форматы будут соответствовать вашим требованиям.

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

← На главную