Платформа поддерживает создание конфигураций с интерфейсами на разных языках. Возможные языки отображения интерфейса добавляются в ветку общих объектов конфигурации:
При этом платформа сама добавляет дополнительные поля для описания синонимов объектов:
Переключение языка для конкретного пользователя выполняется в настройках его учетной записи:
***
Вопрос 01.11 экзамена 1С:Профессионал по платформе. Для возможности переключения пользователем интерфейсного языка
прикладного решения необходимо:
- в настройках пользователя выбрать возможный язык, из списка дополнительных
интерфейсов - в настройках пользователя выбрать возможный язык, из списка языков интерфейсов, заданных в ветви метаданных языки
- в настройках пользователя выбрать возможный язык, из списка предопределенных в
платформе языков - верны варианты 1 и 2
- верны все варианты
Правильный ответ второй:
***
Вопрос 06.78 экзамена 1С:Профессионал по платформе. Для чего предназначен объект конфигурации «Язык»?
- Для создания интерфейса программы на разных языках
- Для создания текстовых документов на разных языках
- Такого объекта в 1С:Предприятие 8 не существует
Правильный ответ первый, выше.
***
Вопрос 06.79 экзамена 1С:Профессионал по платформе. Каким образом можно сменить язык просмотра (редактирования) конфигурации?
- С помощью кнопки выбора языка, расположенной в строке состояния справа от
кнопки «NUM» - Через пункт меню «Конфигурация – Язык редактирования конфигурации»
- В 1С:Предприятие такой возможности не существует
- Верны ответы 1 и 2
Правильный ответ второй:
***
Вопрос 06.65 экзамена 1С:Профессионал по платформе. К чему приведет изменение кода языка в свойстве «Код языка», если
уже введены тексты в свойствах «Синоним» или «Заголовок» на этом
языке?
- К «потере» введенных текстов без возможности «восстановления»
- К «потере» введенных текстов с возможностью «восстановления» при указании
прежнего значения кода языка - К потере данных это действие не приведет, введенные тексты будут соответствовать
языку с новым кодом
Правильный ответ второй. Установим синоним на нужном языке:
и затем изменим код языка:
Синоним очистится:
Если же вернуть код в прежнее значение, то и синоним вернется на место.
***
Вопрос 09.43 экзамена 1С:Профессионал по платформе. Для чего используется реквизит «Язык» в параметрах пользователя?
- На данном языке пользователю будет представлена справка. Может не заполняться
- Реквизит определяет язык по умолчанию, на который будет переводиться раскладка
клавиатуры при входе в «1С:Предприятие». Может не заполняться - На данном языке пользователю будет представлены наименования элементов интерфейса. Может не заполняться
- Определяет язык, воспринимаемый программой при написании кода данным пользователем. Доступен английский и русский языки
Правильный ответ третий, разбор выше.
***
Вопрос 10.108 экзамена 1С:Профессионал по платформе. Интерфейс платформы на украинском языке…
- можно установить для любого прикладного решения, так как украинский интерфейс, входит в поставку 1С:Предприятия
- только в локализованных решениях для Украины
- интерфейс платформы может быть только русскоязычным
- интерфейс платформы может быть только англоязычным
Правильный ответ первый.
***
Вопрос 10.109 экзамена 1С:Профессионал по платформе. Интерфейс платформы может быть…
- русским
- английским
- может быть любым, входящим в поставку 1С:Предприятия
- верны варианты 1 и 2
Правильный ответ третий, строгих ограничений тут нет.
***
Вопрос 10.121 экзамена 1С:Профессионал по платформе. Каким образом можно задать текст надписей для элементов управления на выбранном языке?
- В палитре свойств элемента управления в свойстве Заголовок нажать на кнопку
«Кнопка открытия». В появившемся окне «Строки на разных языках» ввести надпись - Сменить язык просмотра конфигурации, а потом ввести надпись в свойстве Заголовок (или Синоним)
- Нет правильного ответа
- Верны ответы 1 и 2
Правильный ответ четвертый, можно как через синонимы, так и через Конструктор строк на разных языках.
Конфигурирование в информационных системах
1 2 3 4 5 6 7 8
Каким документом в программе отражается поступление на расчетный счет обслуживающего банка денежных средств предприятия?
действия выполнял тот или иной пользователь.
пользователя
Выкупает у акционеров 10 собственных акций, номинал которых составляет 2000 рублей за 2100 рублей за акцию, в перепродаются по цене 2200 рублей за акцию.
Какая проводка отражает факт списания проданных акций?
Выкупает у акционеров 10 собственных акций, номинал которых составляет 2000 рублей за 2100 рублей за акцию, в дальнейшем акции перепродаются по цене 2200 рублей за акцию.
Какая проводка отражает факт получения денежных средств от покупателей акций
Некоторые ответы приведены ниже. Для гарантированной сдачи тестов можете заказать у нас полное прохождение тестов.
Номер вопроса: | 103 | 104 | 107 |
Ответ: | 3 | 2 | 3 |
Заказать прохождение тестов
Занятие 3 61
Рис. 3.11. Названия форм справочника в конструкторе форм
Рис. 3.12. Названия форм справочника в палитре свойств
Форма группы используется для редактирования или создания группы справочника. Группа, как правило, содержит гораздо меньше информации, чем сам элемент справочника. Поэтому для нее нужна отдельная форма, отличная от формы элемента (рис. 3.13).
Рис. 3.13. Форма группы и форма элемента справочника
62 1С:Предприятие 8.3. Практическое пособие разработчика
Форма списка используется для отображения списка элементов справочника.
Форма выбора используется для того, чтобы в поле некоторой формы выбрать один из элементов справочника. При этом форма выбора проще, чем форма списка, так как в форме списка может показываться много реквизитов. А при выборе элемента (в документе, например)намнужнознатьтольконаименование.Поэтомуможнодля выбора использовать отдельную более простую форму (рис. 3.14).
Рис. 3.14. Форма выбора и форма списка справочника
Форма выбора группы используется, когда в поле некоторой формы нужно выбрать не просто элемент справочника, а одну из его групп. При этом форма выбора группы проще, чем форма выбора элемента, так как группа, как правило, содержит гораздо меньше информации, чем сам элемент справочника.
При этом для всех ссылочных объектов конфигурации (справочников, документов и т. д.) будет использоваться форма объекта, но нужно понимать, что под объектом здесь понимается объект информационной базы, то есть «элемент» того, что хранит этот объект конфигурации. Для справочника это будет элемент справочника, для документа – документ, для плана счетов – счет и т. д.
Занятие 3 63
Любая форма может быть описана в конфигураторе. Для создания такого описания существует подчиненный объект конфигурации
Форма (рис. 3.15).
Рис. 3.15. Форма элемента справочника в конфигураторе
Как правило, объект конфигурации Форма подчинен одному из прикладных объектов, но может существовать и самостоятельно.
На основании описания, содержащегося в объекте конфигурации Форма, в нужный момент работы платформа «1С:Предприятие» создаст программный объект Форма, с которым и будет работать пользователь.
Таким образом, форма служит для визуализации данных, находящихся в базе данных. Она представляет эти данные в удобном для пользователя виде и позволяет описать алгоритмы, которые будут сопровождать работу пользователя с данными, показанными в форме.
Узнай больше!
О структуре объектов встроенного языка, предназначенных для работы со справочниками, можно прочитать в разделе «Краткий справочник разработчика. Справочники» на стр. 905.
64 1С:Предприятие 8.3. Практическое пособие разработчика
Простой справочник
Теперь, когда мы немного познакомились с возможностями объекта конфигурации Справочник, создадим несколько таких объектов, чтобы описать справочники, которые будут использоваться в нашей базе данных.
Так как наше ООО «На все руки мастер» оказывает услуги по ремонту бытовой техники, очевидно, что для ведения учета нам потребуется хранить некоторую списочную информацию.
Для начала нам понадобится список сотрудников предприятия, которые будут оказывать услуги.
Затем нам будет нужен список клиентов, с которыми работает наше
ООО «На все руки мастер».
После этого нам понадобится перечень услуг, которые может оказывать наше предприятие, и список материалов, которые могут быть израсходованы. Кроме этого, нам потребуется список складов, на которых могут находиться материалы ООО «На все руки мастер».
Начнем с простых вещей – списка сотрудников и списка клиентов. Сначала создадим справочник, в котором будут храниться наименования наших клиентов.
В режиме «Конфигуратор»
Откроем в конфигураторе нашу учебную конфигурацию, выделим в дереве объектов конфигурации ветвь Справочники и нажмем кнопку Добавить в командной панели окна конфигурации (рис. 3.16).
В открывшемся окне редактирования объекта конфигурации зададим имя справочника – Клиенты. На основании имени платформа автоматически создаст синоним – Клиенты. Напомним, что свойство Синоним служит для представления объекта в интерфейсе нашей программы.
Также у разработчика есть возможность установки дополнительных свойств, определяющих пользовательское представление объектов. Эти свойства задавать не обязательно. Если они не заданы, то для представления объекта в интерфейсе «1С:Предприятия» используется синоним объекта конфигурации Справочник. Но, как мы увидим дальше, это не всегда хорошо.
Занятие 3 65
Рис. 3.16. Создание нового объекта конфигурации «Справочник»
Представления объекта конфигурации
Представление объекта определяет название объекта в единственном числе и используется в названии стандартной команды, например, команды создания объекта – Клиент: создать. Представление объекта нужно задавать тогда, когда синоним объекта конфигурации задан во множественном числе или когда он описывает множество объектов, потому что в интерфейсе автоматически формируются команды открытия списка справочника и команды создания нового элемента справочника.
Если синоним задан во множественном числе, то для команды открытия списка это вполне подходит – Клиенты, то есть посмотреть всех клиентов. Но для команды создания элемента справочника – одного клиента – это неудачный вариант.
Для этой команды нужно задать представление в единственном числе – Клиент. Представление объекта как раз и используется для того, чтобы описать, как будет выглядеть в интерфейсе команда добавления нового клиента. Также оно будет использовано в заголовке формы клиента (если не указано расширенное представление объекта) и в представлении ссылки на клиента.
Расширенное представление объекта определяет заголовок формы объекта, например формы для создания нового элемента справочника.
66 1С:Предприятие 8.3. Практическое пособие разработчика
Если это свойство не задано, то вместо него используется свойство
Представление объекта.
Представление списка определяет название списка объектов и используется в названии стандартной команды, например, команды открытия списка объектов – Клиенты. Представление списка нужно задавать тогда, когда синоним задан в единственном числе.
Например, это часто бывает у документов (Приходная накладная). Тогда в представлении списка нужно указывать название объекта конфигурации во множественном числе (Приходные накладные).
Расширенное представление списка определяет заголовок формы списка, например формы списка справочника. Если это свойство не задано, то вместо него используется свойство Представление списка.
Зададим два свойства Представление объекта – Клиент и Представ-
ление списка – Клиенты. Последнее можно было и не задавать, так как синоним справочника совпадает со свойством Представление списка (рис. 3.17).
В представлении списка вроде бы подразумевается название Список
клиентов, но идущие подряд строки Список сотрудников, Список клиентов, Список складов не очень хорошо смотрятся в интерфейсе приложения.
Рис. 3.17. Установка основных свойств справочника
Занятие 3 67
Принадлежность объекта к подсистемам
Нажмем кнопку Далее и перейдем на закладку Подсистемы окна редактирования объекта конфигурации Справочник. На этой закладке определяется, в каких подсистемах будет отображаться данный справочник.
В списке подсистем мы видим подсистемы, созданные нами ранее при определении структуры приложения. Логично предположить, что список клиентов должен быть доступен в разделе Оказание услуг, так как оказываемые услуги относятся к определенному клиенту. Бухгалтерская отчетность, формируемая в разделе Бухгалтерия, также может быть представлена в разрезе клиентов.
Поэтому отметим в списке подсистемы Бухгалтерия и ОказаниеУслуг
(рис. 3.18).
Рис. 3.18. Определение списка подсистем, в которых отображается справочник
Теперь откроем окно редактирования одной из отмеченных подсистем, например Бухгалтерия, и перейдем на закладку Состав. Мы видим, что в составе объектов этой подсистемы появился новый объект конфигурации Справочник Клиенты (рис. 3.19).
68 1С:Предприятие 8.3. Практическое пособие разработчика
Обратите внимание, что на закладке Состав также можно изменять список объектов, входящих в подсистему.
Рис. 3.19. Состав объектов, входящих в подсистему
Код и наименование справочника
Теперь вернемся к окну редактирования объекта конфигурации Справочник и нажмем на закладку Данные.
Здесь для нас представляют интерес длина кода и длина наименования.
Длина кода – важное свойство справочника. Как правило, код справочника используется для идентификации элементов справочника и содержит уникальные для каждого элемента справочника значения. Платформа может сама контролировать уникальность кодов и поддерживать автоматическую нумерацию элементов справочника. Поэтому от длины кода будет зависеть количество элементов, содержащихся в справочнике.
Длина кода – 9 символов. В результате мы сможем использовать коды от 1 до 999999999 – этого вполне достаточно для нашего небольшого ООО «На все руки мастер».
Перейдем к длине наименования. 25 символов для нас явно мало, увеличим длину наименования до 50 (рис. 3.20).
Занятие 3 69
Рис. 3.20. Установка длины кода и наименования справочника
Кроме того, хотелось бы чтобы вместо обозначения стандартного реквизита справочника Наименование в интерфейсе приложения выводилось бы более соответствующее обозначение для клиентов. Так как Наименование более подходит для неодушевленных предметов, а тут мы имеем дело с людьми.
Поскольку в интерфейсе приложения отображаются синонимы объектов, то изменим свойство Синоним стандартного реквизита Наименование нашего справочника.
Для этого нажмем внизу окна кнопку Стандартные реквизиты. Выделим в списке реквизит Наименование, вызовем его контекстное меню и выберем пункт Свойства (рис. 3.21).
70 1С:Предприятие 8.3. Практическое пособие разработчика
Рис. 3.21. Состав стандартных реквизитов справочника
В палитре свойств стандартного реквизита Наименование установим свойство Синоним как Ф. И. О. (рис. 3.22).
Рис. 3.22. Палитра свойств стандартного реквизита «Наименование»
Соседние файлы в папке Учебники
- #
- #
- #
- #
- #
- #
В данной статье хочу описать типы строк локализации по месту их использования, объекты системы DIRECTUM для строк локализации, в каких компонентах системы можно использовать строки локализации, а также опишу несколько вариантов локализации компонент, в которых
нет возможности указывать строки локализации.
Для отображения текстовых элементов пользовательского интерфейса системы на разных языках в системе используются строки локализации. Задание значений локализуемых строк производится в компоненте
Словарь локализации. Для возможности работы системы в английском интерфейсе в поставку должен входить модуль
Поддержка английского языка пользовательского интерфейса.
Типы строк локализации
Локализуемые строки системы по месту их задания бывают следующих типов:
Локализуемые строковые реквизиты
Это значения определенных строковых реквизитов некоторых компонент системы, перечень компонент и их реквизитов приведен ниже в таблице. В таблице также приведен префикс элемента, который автоматически определяется от места задания локализуемой строки.
Компонента разработчика |
Место задания (реквизит/свойство) |
Префикс |
Типы справочников |
Заголовок в карточке типа справочника |
REF |
Заголовок в ед. числе в карточке типа справочника |
REFSINGULAR |
|
Заголовки в таблице «Реквизиты» |
REQ |
|
Заголовки «Действий» |
ACT |
|
Заголовки в таблице «Представления» |
VIEW |
|
Типы карточек электронных документов |
Заголовок в карточке типа карточки электронного документа |
EDOC |
Заголовки в таблице «Реквизиты» |
REQ |
|
Заголовки «Действий» |
ACT |
|
Подсказки к «Действиям» |
||
Заголовки в таблице «Представления» |
VIEW |
|
Диалоги |
Заголовок в карточке диалога |
DIRDLG |
Заголовки в таблице «Реквизиты» |
REQ |
|
Разработка отчетов |
Описание в карточке отчета |
REPORT |
Сценарии |
Заголовок в карточке сценария |
SCRIPT |
Пример локализуемого строкового реквизита — Заголовок в компоненте
Типы справочников
Наименования реквизитов типа признак
Это наименования значений реквизитов типа «Признак». Префикс создаваемой строки локализации «PICK». Например, для реквизита справочников
Состояние записи значения Действующая/Закрытая;
Локализуемые свойства редактора форм
Это заголовки элементов форм типов справочников, типов карточек документов и диалогов (ниже приведен список локализуемых элементов форм)
Компонента разработчика |
Место задания (реквизит/свойство) |
Префикс |
Редактор форм |
Заголовок для элементов формы типа «Поле», «Многострочное поле», «Поле с кнопкой», «Поле выбора записей» |
LABEL |
Заголовок для элементов формы типа «Закладка» |
TAB |
|
Заголовок для элементов формы типа «Группа» |
GROUP |
|
Заголовок для элементов формы типа «Кнопка» |
BUTTON |
|
Заголовок для элементов формы типа «Колонка таблицы» |
COLUMN |
|
Заголовок для элементов формы типа «Гиперссылка», «Изображение», «Веб-браузер», «Метка», «Выпадающий список», «Флажок», «Группа переключателей»; подсказка для элемента формы типа «Гиперссылка» и элемента ленты «Кнопка» |
Пример локализуемого свойства редактора форм:
Текстовые сообщения
Это текстовые сообщения, генерируемые пользователю в ISBL-коде.
Связь локализуемых строк с записями Словаря локализации осуществляется двумя способами:
- посредством выбора из Словаря локализации – для локализуемых строк типа «Локализуемые строковые реквизиты», «Наименования реквизитов типа признак» и «Локализуемые свойства редактора форм»;
- посредством вызова специальных ISBL-функций – для локализуемых строк типа «Текстовые сообщения»:
- LoadString(Code; GroupCode; LanguageCode) – возвращает локализованную строку с кодом Code из группы строк с кодом GroupCode;
- LoadStringFmt(Code; GroupCode; LanguageCode; Args) – возвращает отформатированную локализованную строку с кодом Code из группы строк с кодомGroupCode.
- LanguageCode определяет язык, для которого должно быть считано значение записи Словаря локализации. Если этот параметр опущен, то будет использоваться тот язык системы, который установил пользователь.
Для доступа к настройкам локализации в системе используется объект ILocalization. Используя данный объект можно:
- получить значение локализованной строки с помощью метода GetString.
- получить и задать текущий язык системы с помощью свойства CurrentLanguage.
Код текущего языка считывается из профиля пользователя.
Примечание: Не рекомендуется устанавливать текущий язык системы с помощью свойства
CurrentLanguage. Для изменения текущего языка системы следует воспользоваться компонентой Установка текущего языка.
- получать информацию о параметрах локализации системы с помощью свойств IsMultiLanguageSystem, PrimaryLanguage, SupportedLanguages.
- установить региональные настройки для приложения в обход региональных настроек пользователя, заданных в операционной системе с помощью свойства
Locale.
В базе данных информация о списках языков локализации хранится в таблице SBSupportedLanguages, информация о строках данные о локализации текстовых элементов интерфейса хранятся в таблице
SBLocalizedData и информация о дате последнего обновления групп локализации хранятся в таблице
SBLocalizationSysData.
Особенности использования строк локализации
Учет локализации на формах
При работе со строками локализации на формах необходимо учитывать, что строки русской и английской локализации могут иметь разную длину, что в последствии может привести к скрытию части букв. Поэтому желательно, чтобы длина строк разноязычных локализации
были примерно одинаковы. Если такое невозможно, следует ставить отступ для заголовка поля, соответствующий самой длинной строке локализации заголовка элемента формы.
В качестве примера можно рассмотреть случай, когда заголовок поля From сместился на форме из-за локализации. В русской локализации поле называется «С». Как видно, длины слов «С» и «From» отличаются. В следствие чего получилось смещение, представленное на
рисунке ниже:
В редакторе форм можно быстро проверить расположение заголовков полей для разной локализации с помощью элемента на ленте Локализация.
Учет локализации в типовых маршрутах
Для наименования типового маршрута, заголовков параметров типового маршрута нет возможности использовать строки локализации. Обходной вариант указывать заголовок на русском и английском языке через слеш или только на английском языке.
Для формирования тем задач, заданий и уведомлений c локализацией нужно прописать код при старте задачи или задания/уведомления, который подставляет значение из строки локализации:
Для формирования результатов выполнения и текста по умолчанию с локализацией можно воспользоваться одним из способов:
- в схеме типового маршрута у блока в заголовке результата выполнения и тексте по умолчанию указать только английский заголовок;
- в схеме типового маршрута у блока в заголовке результата выполнения и тексте по умолчанию указать русский и английский заголовок через слеш;
- создать прикладной блок и для него настроить результаты выполнения и текст по умолчанию с привязкой к
Словарю локализации
Учет локализации в мастерах действиях
В мастерах действиях не предусмотрено использование Словаря локализации. Обойти данный момент можно несколькими способами:
- указать имена этапов, описание этапов, заголовки элементов окна этапа, наименования значений признаков только на английском языке;
- указать имена этапов, описание этапов, заголовки элементов окна этапа, наименования значений признаков на русском и английском языке через слеш.
Пример одного из этапов мастера действий:
Пример параметра мастера действий с типом «Признак»:
- создать этапы, параметры мастера действий как на русском, так и английском языке. Для этапов использовать параметры на соответствующем языке. От локализации пользователя показывать этапы на русском языке или на английском.
Учет локализации в строковых реквизитах
Для реквизитов с типом «Строка» нельзя использовать строки локализации. Обходные решения:
1) пользователь указывает данные на русском и английском языке через слеш;
2) пользователь указывает данные только на английском языке;
3) подменять реквизиты на форме карточки от локализации текущего пользователя;
4) для справочников использовать несколько представлений;
5) дублировать реквизиты, т.е. заводить реквизиты для каждого языка.
Что следует учесть при использовании локализации
1) Учитывайте в разработке, что предопределенные переменные
YES_VALUE и NO_VALUEне локализуются, т.е. их значения всегда равны
ДА и НЕТ соответственно.
2) При использовании локализации не забывайте переводить все отображаемые пользователю сообщения.
3) Учитывайте увеличение трудоемкости при локализации, в среднем она возрастает примерно на 10-50%, если перевод предоставляется заказчиком, и на 20-100%, если перевод осуществляется собственными силами.
4) При экспорте разработки не забывайте вручную добавлять строки локализации, которые используются в текстах разработки, так как они автоматически не подгружаются при экспорте. Для решения данной ситуации можно воспользоваться сценарием,
описанным в статье
Автоматическая выгрузка строк локализации и констант, используемых в тексте разработки.
Для чего используется реквизит «Язык» в параметрах пользователя?
Posted: 2 февраля, 2013 in Вопросы к экзамену профессионал
1. На данном языке пользователю будет представлена справка. Может не заполняться
2. Реквизит определяет язык по умолчанию, на который будет переводиться раскладка клавиатуры при входе в «1С:Предприятие». Может не заполняться
3. На данном языке пользователю будет представлены наименования элементов интерфейса. Может не заполняться
4. Определяет язык, воспринимаемый программой при написании кода данным пользователем. Доступен английский и русский языки
При работе с 1С интерфейс полностью или частично может отображаться на другом языке.
Причем возникать это может как у всех, так и лишь у некоторых пользователей.
Инструкция о том, как правильно указать язык работы 1С.
Какие виды языков есть в 1С, зачем они нужны.
— Язык разработки.
— Язык интерфейса платформы.
— Язык интерфейса конфигурации.
— Региональные настройки.
Итоги
Особенно это актуально для многоязычных конфигураций, содержащих несколько языков.
В интернете достаточно много инструкций о том, где именно расположен выбор языка. По запросу «как изменить язык в 1с» гугл выдает 33 тысячи инструкций. Причем совершенно разных
Но проблема в том, что настроек достаточно много и не всегда ясно, какую именно нужно менять. Иногда инструкция помогает в решении проблемы, иногда нет.
Кажется, что 1С работает криво, запутанно и глючно. На самом деле настройка языка очень проста и работает понятно и четко. Просто языков несколько. И нужно учитывать, какой именно в каких случаях нужно менять.
Ниже краткая инструкция со всеми основными настройками, который могут влиять на язык отображения в 1С.
Какие виды языков есть в 1С, зачем они нужны.
Язык на самом деле не один, а целых три:
- Язык разработки;
- Язык интерфейса платформы;
- Язык интерфейса конфигурации;
А кроме языков, есть еще и региональные настройки, от которых зависит формат чисел, дат и времени.
Из этих пяти настроек на интерфейс влияют три:
Несмотря на многообразие инструкций и способов выполнения настроек, самих способов указания настроек достаточно мало. Их можно свести всего к пяти.
Язык разработки
Язык разработки (Вариант встроенного языка) — язык используемый для написания исходного кода конфигурации.
Выбирается основной язык программирования («Русский» или «Английский»).
Назначение: Выбор определяет, на каком языке будут формироваться языковые конструкции в модулях и выдаваться информация о базовых типах данных. От него зависит, шаблоны какого языка будут использовать при добавлении данных или использовании конструкторов.
При этом независимо от выбранного языка разработки, код можно писать на любом. В том числе и вперемешку на русском и английском.
Настройка: Язык разработки указывается в свойствах конфигурации в поле «Вариант встроенного языка»
Для определения встроенного языка конфигурации из кода 1С можно обратиться к метаданным командой Метаданные.ВариантВстроенногоЯзыка.
Менять данный язык после начала разработки нельзя. Никаких изменений в интерфейсе это не принесет, но может сделать неработоспособным написанный ранее код.
Язык интерфейса платформы.
Язык интерфейса платформы — эта настройка определяет, на каком языке будут выдавать сообщения платформы и отображаться платформенные элементы интерфейса.
В стандартный дистрибутив платформы входят следующие языки интерфейса платформы:
английский, азербайджанский, болгарский, венгерский, вьетнамский, китайский, грузинский, казахский, латышский, литовский, немецкий, польский, румынский, русский, турецкий, украинский, французский.
Соответственно, для работы пользователя можно использовать лишь один из них. Теоретически существует «Механизм быстрого частичного перевода ресурсов платформы», позволяющий для отдельного клиента/партнера в ограниченном варианте самостоятельно добавить в платформу новый язык. Но о реальных случаях использования не слышала.
При необходимости мы можем определить текущий язык интерфейса платформы с помощью функции ТекущийЯзыкСистемы().
Настройка: Есть несколько способов установить язык платформы. Наиболее простой и наиболее часто используемый это указать язык платформы в целом для всех баз 1С на данном компьютере, прописав его в файле conf.cfg.
Способ 1. Данную настройку проще всего прописать при установке платформы. Для этого достаточно на этапе «Язык интефейса по умолчанию» указать нужный язык.
Способ 2. Если платформа уже установлена, то можно перезапустить установку параметров. Для этого выбираем «Пуск»-«Панель управления»-«Программы и компоненты». Находим нужную установку 1С и нажимаем «Изменить»
Способ 3. Еще можно напрямую прописать настройку в файл. Обычно он лежит по адресу «C:Program Files (x86)1cv8confconf.cfg». Открываем файл, добавляем строчку «SystemLanguage=RU», сохраняем.
Способ 4. Если язык платформы не прописан, то используются настройки операционной системы по умолчанию. Для их изменения выбираем «Пуск»-«Панель управления»-«Язык и региональные стандарты».
Способ 5. При работе в веб-клиенте по умолчанию используется язык, установленный как «предпочитаемый язык» в браузере. Соответственно и менять его нужно в настройках браузера.
Все прошлые способы устанавливают язык платформы в целом для всех баз на компьютере пользователя. Рассмотрим указание языка для конкретного сеанса.
Способ 6. Если для разных баз нужно использовать разные языки интерфейса, то нужный код языка можно указать в строке запуска 1C после ключа /L.
Способ 7. Если при запуске информационной базы выполняется выбор базы через типовой стартер. То ключ запуска /L можно указать в окне «Редактирование информационной базы» в поле «Дополнительные параметры запуска»
Способ 8. При запуске отладки из конфигуратора язык запуска можно указать в параметрах конфигуратора. «Сервис» — «Параметры» — «Запуск 1С:Предприятия» — «Дополнительные» — «Яык интерфейса системы».
Способ 9. При работе в браузере язык, отличный от языка по умолчанию, можно указать суффиксом адресной строки вида «/en_US/»
Способ 10. На самом деле указание кода языка в строке запуска это самый надежный вариант. Он работает всегда. Если он не сработал, значит, нужный язык просто не установлен в платформе. Возвращаемся на этап установки платформы и выбираем нужный язык.
Язык интерфейса конфигурации
Язык интерфейса конфигурации — это языки интерфейса, созданные пользователем. При разработке конфигурации разработчик продумывает, какие языки нужны пользователю данной конкретной конфигурации и для каждого языка прописывает свой вариант всех текстов, синонимов, заголовков… В отличии от языков интерфейса платформы (жестко прописанных разработчиками платформы), языки интерфейса конфигурации могут быть любыми. В том числе мы можем создать язык, не существующий в реальности. Количество языков ничем не ограничено.
Коды языков никак не связаны с кодами интерфейса платформы. Мы можем использовать любой удобный код языка. Язык интерфейса также никак не связан с настройками операционной системы. Он зависит только от разработчика конфигурации и администратора.
Единственное исключение, это разработка приложения для мобильных устройств. В этом случае рекомендуется указывать коды языков в соответствии со стандартом ISO 639 . Это позволит мобильной платформе устанавливать язык интерфейса конфигураци в зависимости от установленного у пользователя в мобильном телефоне основного языка. В противном случае при проверке конфигурации будет выдаваться предупреждение.
При необходимости мы можем определить текущий язык интерфейса платформы с помощью функции ТекущийЯзыкСистемы().
Есть всего два способа установки языка интерфейса.
Способ 1. Указать язык для конкретного пользователя в свойствах пользователя информационной базы.
Способ 2. Если у пользователя язык по умолчанию не указан, то будет использоваться язык, указанный в свойствах конфигурации в реквизите «Основной язык».
При работе в конфигураторе для полей, в которых поддерживается многоязычный ввод, появляется значок лупы. При нажатии на данный значок мы можем корректировать тексты на нескольких языках одновременно. Однако также можем и просто корректировать тексты в любом многоязычном поле напряму без нажатия лупы. В этом случае мы редактируем текст текущего языка, не затрагивая второй язык. Чтобы переключить текущий язык в конфигураторе есть следующие способы:
Способ 3: Выбрать в меню пункт «Конфигурация» — «Язык редактирования конфигурации». Выбрать язык, со значениями которого мы хотим работать в ближайшее время.
Способ 4: Также язык можно переключить мышкой в строке статуса в правом нижнем углу окна конфигуратора.
Способ 5: Для множественного редактирования полезно использовать режим конфигуратора «Правка» — «Редактирование текстов интерфейсов»
Региональные настройки.
Ну и последними стоит упомянуть региональные настройки. Есть региональные настройки Информационной базы в целом и региональные установки текущего сеанса. Режим настройки региональных установок информационной базы позволяет управлять форматом отображения даты, времени, чисел, логических констант и влияет на порядок сортировки строк в списках информационной базы данных.
Варианты языков региональных настроек не зависят от платформы или конфигурации. Они зависят только от возможностей операционной системы. Полный список допустимых вариантов языка региональных настроек можно получить с помощью функции ПолучитьДопустимыеКодыЛокализации()
Лично у меня в Windows 254 варианта языков, которые можно использовать как основу региональных настроек.
Используемые базой региональные настройки можно определить с пощью функции КодЛокализацииИнформационнойБазы()
Региональные настройки ИБ можно установить:
Способ 1: При создании базы. На этапе «Добавление информационной базы» необходимо выбрать язык, который будт использоваться для хранения данных.
Способ 2. Из конфигуратора. В пункте меню Администрирование – Региональные установки ИБ. Для смены языка информационной базы обязательно использование монопольного режима.
Примечания: Если в качестве СУБД используется PostgreSQL, то для существующей информационной базы изменение языка (страны) не может быть выполнено произвольным образом. Установленное значение языка (страны) можно изменить только на такое, которое будет использовать тот же порядок сортировки строк (collation) СУБД, что и существующее значение. Например, русский (Россия) может быть изменен на белорусский (Беларусь), но не может быть изменен на украинский (Украина).
Если в качестве СУБД используется IBM DB2, то смена значения языка (страны) не поддерживается.
Региональные установки конкретного сеанса влияют на отображение дат, чисел, времени при работе с ИБ. Есть несколько способов установки настройки для конкретного сеанса.
Способ 1: Установка общих настроек для всех сеансов. Для вызова режима нужно выбрать пункт Администрирование – Региональные установки ИБ и указать региональные параметры.
Способ 2. Если общие значения по умолчанию не установлены, то используются настройки операционной системы. Поэтому можно установить нужные настройки, сменив язык операционной системы.
Способ 3. Если для разных баз нужно использовать разные региональные настройки, то нужный код языка можно указать в строке запуска 1C после ключа /VL.
Способ 4. Если при запуске информационной базы выполняется выбор базы через типовой стартер. То ключ запуска /VL можно указать в окне «Редактирование информационной базы» в поле «Дополнительные параметры запуска»
Способ 5. При запуске отладки из конфигуратора язык запуска можно указать в параметрах конфигуратора. «Сервис» — «Параметры» — «Запуск 1С:Предприятия» — «Дополнительные» — «Код локализации сеанса».
В процессе работы региональные настройки текущего сеанса можно определить с помощью функции ТекущийКодЛокализации()
Итоги.
Я попыталась собрать в одном месте разнородную информацию о настройке языка в 1С. Думаю, эта статья отлично показывает принцип использования языков и послужит хорошей шпаргалкой при необходимости настройки.
В целом все варианты работы с языками в 1С можно представить следующим образом:.
Язык |
Разработки |
Интерфейса платформы |
Интерфейса конфигурации |
Региональные настройки | |
ИБ | Сеанса | ||||
Назначение | Разработка кода конфигурации. При работе любых конструкторов латформы имена элементов формируются на этом языке. | Сообщения платформы, платформенные элементы интерфейса (рабочий стол, имена стандартных обработок) | Весь созданный разработчиком интерфейс (имена документов, справочников, реквизитов); сообщения, предусмотренной логикой работы программы, работа отчетов… | Формат хранения данных в базе данных | Отображение дат, чисел, времени, логических переменных в сообщениях, полях, календаре…. Преобразование других типов в строку и из строки |
Допустимые значения | Английский, Русский | Предопределенные в платформе (на текущий момент 17 языков) | Абсолютно любые языки, созданные разработчиком. В том числе несуществующие. | Любые языки, поддерживаемые операционной системой Полный список ПолучитьДопустимыеКодыЛокализации() (лично у меня в Windows возвращает 254 кода языка) |
|
Настройка выполняется | В метаданных конфигурации | 1. В строке запуска /L; 2. В файле настройки conf.cfg 3. В свойствах ОС |
1. В свойствах пользователя. 2. В метаданных конфигурации. |
В настройках ИБ | 1. В строке запуска /VL; 2. В настройках ИБ; 3. В настройках ОС |
Как определить используемый | Метаданные. Вариант Встроенного Языка | ТекущийЯзык Системы() | ТекущийЯзык() | КодЛокализации Информационной Базы() | Текущий Код Локализации() |
Несмотря на всё многообразие, исправить проблемы с отображением текстов на другом языке достаточно просто. Нужно лишь понимать, что именно мы меняем в данный момент.
Название проверки
Строка не локализована. Возможно, она видна пользователю.
Английское название проверки
??
Правило анализа кода/метаданных
Интерфейсные тексты в коде: требования по локализации
Область применения: управляемое приложение, мобильное приложение,
обычное приложение.
1. Если в модулях конфигурации встречаются строки, предназначенные для
пользовательского интерфейса (сообщения пользователю, надписи в формах,
названия и подсказки команд, выражения в настройках СКД и т.п.)
необходимо обеспечить возможность локализации таких строк.
Для этого необходимо применять функцию НСтр вместо прямого использования
строковых литералов. Иное использование строк, предназначенных для
пользовательского интерфейса, не допускается.
Например, неправильно:
Предупреждение("Для выполнения операции необходимо установить расширение работы с файлами.");
Правильно:
Предупреждение(НСтр("ru='Для выполнения операции необходимо установить расширение работы с файлами.'"));
Также следует обращать внимание на корректное использование функции
НСтр.
Например, неправильно:
ТекстСообщения = "ru='Для выполнения операции необходимо установить расширение работы с файлами.'";
Предупреждение(НСтр(ТекстСообщения));
правильно:
ТекстСообщения = НСтр("ru='Для выполнения операции необходимо установить расширение работы с файлами.'");
Предупреждение(ТекстСообщения);
2. В том случае если строка является составной и включает в себя части,
зависящие от тех или иных условий, тем не менее, настоятельно
рекомендуется использовать логически завершенные, целостные фразы. Для
формирования переменной составляющей строки при этом необходимо
применять функцию
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку для подстановки
параметров в строки сообщений пользователю.
Неправильно:
СообщениеОНехватке = "Не хватает товара " + НаименованиеТовара + " на складе " + НаименованиеСклада + ".";
Правильно:
СтрокаВопроса = НСтр("ru = 'Видите ли вы корректно это сообщение: ""%1""?'");
СтрокаВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СтрокаВопроса, ПолучитьТекстСообщения());
Это требование обусловлено, во-первых, разным расположением параметров в
тексте предложения на различных языках, что приводит к необходимости
изменения исходного кода для перестановки складываемых фрагментов строк,
а во-вторых, сложностью перевода отдельных несогласованных частей
предложения.
В связи со сложившейся практикой, допускается использовать именованные
параметры подстановки (параметры, включающие имя аналогично переменной,
а не номер) только в двух вариантах: [Параметр], %Параметр%. Здесь
Параметр должен удовлетворять требованиям стандарта Правила образования
имен переменных.
Правильно:
СообщениеОНехватке = НСтр("ru='Не хватает товара %Товар% на складе %Склад%.'")
СообщениеОНехватке = СтрЗаменить(СообщениеОНехватке, "%Товар%", НаименованиеТовара);
СообщениеОНехватке = СтрЗаменить(СообщениеОНехватке, "%Склад%", НаименованиеСклада);
При использовании в конфигурации Библиотеки стандартных подсистем, можно
использовать функцию
СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку. Это позволит
лучше автоматизировать определение, что в строке используется именно
подстановка параметров, а не другая синтаксическая конструкция языка.
Правильно:
Шаблон = НСтр("ru = '[Организация]-[Контрагент] Счет №[Номер] от [Дата]'");
ЗначенияРеквизитовДокументов = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(МассивОбъектов, "Организация,Контрагент,Номер,Дата,Ссылка");
Для Каждого Ссылка Из МассивОбъектов Цикл
ИмяФайла = СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку(Шаблон, ЗначенияРеквизитовДокументов[Ссылка]);
КонецЦикла;
3. В функции НСтр строка ограничивается символами одинарных кавычек.
Такое требование обусловлено частым использованием двойных кавычек в
строковых литералах, а также встроенным в платформу механизмом
редактирования строк на разных языках.
Неправильно:
Предупреждение(НСтр("ru=Переменная типа ""Строка"""));
Предупреждение(НСтр("ru=""Переменная типа ""Строка"""""));
Правильно:
Предупреждение(НСтр("ru='Переменная типа ""Строка""'"));
4. В редких случаях, например, когда нужно собрать длинное сообщение с
предоставлением лога действий пользователя, допускается применять не
замену строк в строке-шаблоне, а сложение строк. При этом неязыковые
символы (чаще перенос строки) в начале и конце строк необходимо выделять
в отдельные строковые литералы (которые пропускаются при переводе).
Неправильно:
ТекстСообщения = НСтр("ru = 'Не удалось сохранить файл документа по причине:
|'")
+ ИнформацияОбОшибке;
Правильно:
ТекстСообщения = НСтр("ru = 'Не удалось сохранить файл документа по причине:'")
+ Симв.ПС + ИнформацияОбОшибке;
В противном случае, при переводе строки на другой язык концевой пробел
легко может быть не замечен переводчиком, так как переводчик не видит
всего контекста, а только сводную таблицу строк, подлежащих переводу.
Кроме того, может быть искажена при переводе фраза, так как её
продолжение переводчику не видно и нет символа шаблона подстановки,
поясняющего, что дальше будет продолжение.
1. Если в модулях конфигурации встречаются строки, предназначенные для
пользовательского интерфейса (сообщения пользователю, надписи в формах,
названия и подсказки команд, выражения в настройках СКД и т.п.)
необходимо обеспечить возможность локализации таких строк.
Для этого необходимо применять функцию НСтр вместо прямого использования
строковых литералов. Иное использование строк, предназначенных для
пользовательского интерфейса, не допускается.
Мета-информация (пожалуйста, заполните если знаете):
- Номер стандарта:
761
- Код проверки:
??my-check-id
- Тип ошибки:
ERROR
SECURITY
PERFORMANCE
WARNING
PORTABILITY
LIBRARY_DEVELOPMENT_AND_USAGE
CODE_STYLE
UI_STYLE
SPELLING
- Критичность:
BLOCKER
CRITICAL
MAJOR
MINOR
TRIVIAL
- Код ошибки АПК:
1297
Параметры проверки
- NA
Текст ошибки
Строка не локализована. Возможно, она видна пользователю.
Пример некорректного решения
- NA
Описание, почему так делать нельзя
Пример корректного решения
- NA
Дополнительные материалы
- Интерфейсные тексты в коде: требования по локализации (Раздел обновлен!)
- Запросы, динамические списки и отчеты на СКД: требования по локализации