Являясь разработчиком на международном проекте, основанном на ERP WE (World Edition), я столкнулся с рядом нюансов, которые нужно знать и учитывать при разработке конфигураций на нескольких языках.
Содержание
- Как выполнять отладку в английском интерфейсе
- Представления реквизитов на разных языках
- О чём нужно помнить при разработке
- Макеты HTML, общие макеты
- Язык редактирования конфигурации
Как выполнять отладку на английском (втором) языке?
Предположим имеется тестовая база на основе ERP WE в которой есть как минимум 2 языка - Русский и Английский. Как выполнять отладку решения на английском языке? Если делать не так как описано далее, вы можете столкнуться с тем, что интерфейс конфигурации будет частично на русском, частично на английском языке, а не полностью.
Для начала заведем в базе двух пользователей администраторов которые между собой будут отличаться установленным языком системы:
Способ 1 (добавить в список баз)
Добавляем в список баз копию вашей тестовой базы и в дополнительных параметрах запуска прописываем:
/N "Admin" /P "" /L en /VL en
Способ 2 (запуск из конфигуратора)
В конфигураторе заходим в меню Сервис - Параметры... и настраиваем как на скриншотах:
После чего жмём F5 или Отладка - Начать отладку.
Результат
Английский интерфейс:
Русский интерфейс:
Представления реквизитов на разных языках
Это нужно чтобы в английском интерфейсе элементы справочников (или других объектов) выводились на английском языке.
- В меню НСИ и Администрирование - Общие настройки - Региональные настройки - Ставим галку "Английский язык".
- На форме списка и выбора важно чтобы у динамического списка формы выбора был произвольный запрос и у каждого поля в запросе был указан синоним (Например ИмяПоля КАК ИмяПоля, а не просто ИмяПоля).
- Реализовываем по статье из БСП Мультиязычные данные (https://its.1c.ru/db/bsp312doc#content:19:hdoc) для версии БСП вашей конфигурации. Для этого:
- Узнайте номер версии БСП вашей конфигурации. Он указан в общем модуле ОбновлениеИнформационнойБазыБСП в процедуре ПриДобавленииПодсистемы
- Откройте документацию по версии БСП вашей конфигурации (https://its.1c.ru/#dev/doc_dev)
О чем нужно помнить при разработке
- При добавлении реквизитов\элементов не забывать прописывать для них синоним на английском языке
- При добавлении реквизита\команды\элемента на управляемую форму у него автоматически формируется подсказка на Русском языке, нужно либо её удалять либо добавлять подсказку и на английском языке
- Формат чисел\дат у реквизитов и элементов форм простых типов задается по умолчанию только для одного языка (Русского), на английском языке формат будет подтягиваться из настроек Windows пока вы не установите такой же формат и для другого языка. Делается это также как и с синонимом - рядом с полем "Формат" есть лупа
- Добавляя на управляемые формы элементы не забывайте прописывать у них заголовок на втором языке, даже если заголовок у элемента отключен. Т.к. если английский пользователь решит отредактировать форму он зайдет в меню "Еще - изменить форму" и увидит добавленные элементы с русскими именами.
- Добавляя элементы\реквизиты на управляемые формы программно также не забывайте прописывать заголовок на нескольких языках используя функцию НСтр(), например НСтр("en = 'English name'; ru = 'Русское наименование'"). Причина та же что и в пункте выше.
Макеты HTML, общие макеты
Макеты задаются также на нескольких языках и причем макет не дублируется в макеты других языков также как и синоним и формат текста. Если вдруг вы обнаружили что функция Макет.ПолучитьТекст() возвращает на английском языке вам пустую строку вместо нормального содержимого HTML макета (или иного макета) - в конфигураторе нажмите "Конфигурация" - "Язык редактирования конфигурации...", затем выберите "Английский". Затем зайдите в макет и вы увидите совсем другой текст. Вставьте в него то же самое что и для русского языка (или переделайте макет), сохраните конфигурацию и снова поменяйте язык редактирования конфигурации на "Русский".
Язык редактирования конфигурации
Для того чтобы в режиме конфигуратора реализовывать формы на английском языке и сразу же видеть не написанные английские синонимы, измените язык редактирования конфигурации на "Английский". Для этого в конфигураторе нажмите "Конфигурация" - "Язык редактирования конфигурации...", затем выберите "Английский".