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

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

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

Способ 1. Использование параметров в строке URL

Самый простой и быстрый способ изменить язык для конкретного сеанса — это добавление кода локализации непосредственно в адресную строку браузера. Рассмотрим, как это работает на практике. Стандартный путь к информационной базе выглядит так: http://server/base_name/. Чтобы принудительно запустить сеанс на русском языке, мы можем изменить путь, добавив код страны и языка.

Проанализируем примеры формирования ссылок:

Важный момент: Платформа чувствительна к регистру символов в URL. Использование ru_ru вместо ru_RU может не привести к желаемому результату. Код должен состоять из двух строчных букв языка, нижнего подчеркивания и двух прописных букв страны.

Также существуют дополнительные параметры запроса, которые можно передавать в конце URL после знака вопроса. Это особенно полезно, если структура пути не позволяет вставлять код языка в середину строки:

Пример полной строки с параметрами: http://server/DB/?L=ru&V8HL=ru.

Способ 2. Редактирование файла публикации default.vrd

Рассмотрим ситуацию, когда пользователям неудобно каждый раз вводить код языка в адресной строке или когда внешние системы аутентификации (например, OIDC-провайдеры) «забывают» часть URL при перенаправлении. В этом случае нам поможет «жесткая» фиксация настроек на стороне веб-сервера.

Для этого нам необходимо отредактировать файл default.vrd, который создается в каталоге публикации при выполнении команды «Опубликовать на веб-сервере». Найдем в корневом элементе point атрибут vl (Virtual Language). Если его нет, добавим его вручную.

Пример конфигурации файла default.vrd с принудительной локализацией:


<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       base="/DB"
       ib="Srvr="Server1C";Ref="DB";"
       vl="ru_RU">
    <ws>
        <point name="WebServiceName" alias="ws1.1cws"/>
    </ws>
</point>

Указание параметра vl="ru_RU" заставит веб-сервер игнорировать настройки браузера и всегда отдавать интерфейс на русском языке для всех пользователей данной публикации.

Способ 3. Региональные установки информационной базы

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

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

Эти настройки влияют на то, как платформа интерпретирует типы данных «Дата» и «Число» на уровне ядра системы.

Способ 4. Настройка окружения на Linux (Apache/Nginx)

Выясним причину, по которой настройки могут не подхватываться на серверах под управлением Ubuntu или других дистрибутивов Linux. Часто веб-сервер (например, Apache) запускается от имени пользователя www-data, профиль которого не содержит переменных окружения локали.

Проанализируем шаги по исправлению ситуации для Apache2:

  1. Откроем для редактирования файл конфигурации переменных окружения (обычно это /etc/default/apache2 или /etc/apache2/envvars).
  2. Добавим строки для экспорта локали:
    
    export LANG=ru_RU.UTF-8
    export LC_ALL=ru_RU.UTF-8
    
  3. Выполним полный перезапуск службы веб-сервера командой sudo systemctl restart apache2.

Иерархия выбора языка в 1С

Чтобы эффективно диагностировать проблемы с языком, важно понимать, в каком порядке платформа ищет настройки локализации. Проанализируем этот список от самого высокого приоритета к самому низкому:

  1. Явное указание в URL: Путь вида /ru_RU/ или параметры ?L=ru. Это перекрывает всё остальное.
  2. Файл публикации: Атрибут vl в default.vrd.
  3. Файл настроек платформы: Параметр SystemLanguage в файле conf.cfg на сервере.
  4. Настройки пользователя: Язык, указанный в карточке пользователя в Конфигураторе (закладка «Прочее»).
  5. Настройки браузера: Заголовок Accept-Language, который браузер отправляет при каждом запросе. Платформа берет первый язык из списка предпочтений браузера.
  6. Окружение ОС: Региональные стандарты операционной системы сервера, на котором запущен веб-сервер или кластер 1С.

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

← На главную