---
title: Мультиязычность сервер
slug: bsp/мультиязычность-сервер
---


## ЗаполнитьМультиязычныйРеквизит
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Для вызова из обработчика ПриНачальномЗаполненииЭлементов.
// Заполняет колонки с именами ИмяРеквизита_<КодЯзыка> текстовыми значениями для указанных кодов языков.
//
// Параметры:
//  Элемент        - СтрокаТаблицыЗначений - заполняемая строка таблицы с колонками ИмяРеквизита_КодЯзыка.
//  ИмяРеквизита   - Строка - имя реквизита. Например, "Наименование"
//  ИсходнаяСтрока - Строка - строка в формате НСтр. Например, "ru = 'Сообщение на русском'; en = 'English message'".
//  КодыЯзыков     - Массив - коды языков, на которых нужно заполнить строки.
//
// Пример:
//
//  МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, "Наименование", "ru = 'Сообщение на русском'; en =
//  'English message'", КодыЯзыков);
//
Процедура ЗаполнитьМультиязычныйРеквизит(Элемент, ИмяРеквизита, ИсходнаяСтрока, КодыЯзыков = Неопределено) Экспорт
```

Пример вызова
```bsl
МультиязычностьСервер.ЗаполнитьМультиязычныйРеквизит(Элемент, ИмяРеквизита, ИсходнаяСтрока, КодыЯзыков);
```
</details>

## ПриСозданииНаСервере
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Вызывается из обработчика ПриСозданииНаСервере формы объекта. Добавляет кнопку открытия в поля ввода
// мультиязычных реквизитов на этой форме. Нажатие кнопки открывает окно ввода значения реквизита на всех
// имеющихся в конфигурации языках.
//
// Параметры:
//   Форма  - ФормаКлиентскогоПриложения - форма объекта.
//   Объект - ДанныеФормыСтруктура:
//     * Ссылка - ЛюбаяСсылка
//  ИмяОбъекта - Строка - для форм списка имя динамического списка на форме. По умолчанию, "Список".
//                        Для других форм имя основного реквизита на форме. Следует использовать,
//                        если имя отличается от стандартных: "Объект", "Запись", "Список".
//
Процедура ПриСозданииНаСервере(Форма, Объект = Неопределено, ИмяОбъекта = Неопределено) Экспорт
```

Пример вызова
```bsl
МультиязычностьСервер.ПриСозданииНаСервере(Форма, Объект, ИмяОбъекта);
```
</details>

## ПриЧтенииНаСервере
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Вызывается из обработчика ПриЧтениеНаСервере формы объекта для заполнения значений мультиязычных
// реквизитов формы на текущем языке пользователя.
//
// Параметры:
//  Форма         - ФормаКлиентскогоПриложения - форма объекта.
//  ТекущийОбъект - Произвольный - объект, который был получен в обработчике формы ПриЧтенииНаСервере.
//  ИмяОбъекта - Строка - имя основного реквизита на форме. Следует использовать,
//                        если имя отличается от стандартных: "Объект", "Запись", "Список".
//
Процедура ПриЧтенииНаСервере(Форма, ТекущийОбъект, ИмяОбъекта = Неопределено) Экспорт
```

Пример вызова
```bsl
МультиязычностьСервер.ПриЧтенииНаСервере(Форма, ТекущийОбъект, ИмяОбъекта);
```
</details>

## ПередЗаписьюНаСервере
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Вызывается из обработчика ПередЗаписьюНаСервере формы объекта или при программной записи объекта
// для записи значений мультиязычных реквизитов в соответствии с текущим языком пользователя.
//
// Параметры:
//  ТекущийОбъект - БизнесПроцессОбъект
//                - ДокументОбъект
//                - ЗадачаОбъект
//                - ПланВидовРасчетаОбъект
//                - ПланВидовХарактеристикОбъект
//                - ПланОбменаОбъект
//                - ПланСчетовОбъект
//                - СправочникОбъект - записываемый объект.
//
Процедура ПередЗаписьюНаСервере(ТекущийОбъект) Экспорт
```

Пример вызова
```bsl
МультиязычностьСервер.ПередЗаписьюНаСервере(ТекущийОбъект) 
```
</details>

## ПриЧтенииПредставленийНаСервере
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Вызывается из модуля объекта для заполнения значений мультиязычных
// реквизитов объекта на текущем языке пользователя.
//
// Параметры:
//  Объект - БизнесПроцессОбъект
//         - ДокументОбъект
//         - ЗадачаОбъект
//         - ПланВидовРасчетаОбъект
//         - ПланВидовХарактеристикОбъект
//         - ПланОбменаОбъект
//         - ПланСчетовОбъект
//         - СправочникОбъект - объект данных.
//
Процедура ПриЧтенииПредставленийНаСервере(Объект) Экспорт
```

Пример вызова
```bsl
МультиязычностьСервер.ПриЧтенииПредставленийНаСервере(Объект) 
```
</details>

## ОбработкаПолученияДанныхВыбора
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Вызывается из обработчика ОбработкаПолученияДанныхВыбора для формирования списка при вводе по строке,
// автоподборе текста и быстром выбора, а также при выполнении метода ПолучитьДанныеВыбора.
// Список содержит варианты на всех языках с учетом реквизитов определенных в свойстве ВводПоСтроке.
//
// Параметры:
//  ДанныеВыбора         - СписокЗначений - данные для выбора.
//  Параметры            - Структура - содержит параметры выбора.
//  СтандартнаяОбработка - Булево  - данный параметр передается признак выполнения стандартной (системной) обработки события.
//  ОбъектМетаданных     - ОбъектМетаданныхБизнесПроцесс
//                       - ОбъектМетаданныхДокумент
//                       - ОбъектМетаданныхЗадача
//                       - ОбъектМетаданныхПланВидовРасчета
//                       - ОбъектМетаданныхПланВидовХарактеристик
//                       - ОбъектМетаданныхПланОбмена
//                       - ОбъектМетаданныхПланСчетов
//                       - ОбъектМетаданныхСправочник
//                       - ОбъектМетаданныхТаблица - объект метаданных, для которого формируется список выбора.
//
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Знач Параметры, СтандартнаяОбработка, ОбъектМетаданных) Экспорт
```

Пример вызова
```bsl
МультиязычностьСервер.ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка, ОбъектМетаданных) 
```
</details>

## ИзменитьПолеЗапросаПодТекущийЯзык
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Добавляет к имени поля в тексте запроса языковой суффикс текущего языка.
// Примеры конвертации полей:
//   - если параметр ИмяПоля равно "Свойства.Заголовок", то поле преобразует в "Свойства.ЗаголовокЯзык1";
//   - если параметр ИмяПоля равно "Свойства.Заголовок КАК Заголовок",
//   то поле преобразует в "Свойства.ЗаголовокЯзык1 КАК Заголовок".
//
// Параметры:
//  ТекстЗапроса - Строка - текст запроса в котором изменяется имя поля
//  ИмяПоля - Строка - имя заменяемого поля
//
Процедура ИзменитьПолеЗапросаПодТекущийЯзык(ТекстЗапроса, ИмяПоля) Экспорт
```

Пример вызова
```bsl
МультиязычностьСервер.ИзменитьПолеЗапросаПодТекущийЯзык(ТекстЗапроса, ИмяПоля) 
```
</details>

## СуффиксТекущегоЯзыка
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает суффикс дополнительного языка для текущего языка интерфейса пользователя.
//
// Возвращаемое значение:
//  Строка - суффикс языка, который добавляются к имени реквизита в котором хранится значение на указанном языке.
//           Например, суффикс "Язык1", для реквизита "НаименованиеЯзык1"
//
Функция СуффиксТекущегоЯзыка() Экспорт
```

Пример вызова
```bsl
Результат = МультиязычностьСервер.СуффиксТекущегоЯзыка() 
```
</details>

## СуффиксЯзыка
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// По коду языка возвращает суффикс дополнительного языка.
//
// Параметры:
//  КодЯзыка - Строка - короткие буквенные представления языков. Например, "en".
//
// Возвращаемое значение:
//  Строка - суффикс языка, который добавляются к имени реквизита в котором хранится значение на указанном языке.
//           Например, суффикс "Язык1", для реквизита "НаименованиеЯзык1"
//
Функция СуффиксЯзыка(КодЯзыка) Экспорт
```

Пример вызова
```bsl
Результат = МультиязычностьСервер.СуффиксЯзыка(КодЯзыка) 
```
</details>

## ИспользуетсяДополнительныйЯзык
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Определяет используется ли в приложении переданный дополнительный язык.
//
// Параметры:
//  ПорядковыйНомерЯзыка - Число - номер языка в суффиксе дополнительного языка. Например, 1 для "Язык1".
//
// Возвращаемое значение:
//  Булево - если, Истина, то дополнительный язык включен в приложении и используется.
//
Функция ИспользуетсяДополнительныйЯзык(ПорядковыйНомерЯзыка) Экспорт
```

Пример вызова
```bsl
Результат = МультиязычностьСервер.ИспользуетсяДополнительныйЯзык(ПорядковыйНомерЯзыка) 
```
</details>

## ИменаРеквизитовСУчетомКодаЯзыка
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает имена реквизитов с учетом переданного кода языка.
//
// Параметры:
//  ИменаРеквизитов - Строка - список имена реквизитов через запятую. Например, "Наименование,Комментарий"
//  КодЯзыка - Строка - код языка, если не указан, то список будет сформирования для текущего языка пользователя.
//
// Возвращаемое значение:
//  Соответствие из КлючИЗначение:
//   * Ключ - Строка - имя реквизита, Например, "Наименование"
//   * Значение - Строка - имя реквизита с суффиксом языка. Например, "НаименованияЯзык2"
//
Функция ИменаРеквизитовСУчетомКодаЯзыка(ИменаРеквизитов, КодЯзыка = "") Экспорт
```

Пример вызова
```bsl
Результат = МультиязычностьСервер.ИменаРеквизитовСУчетомКодаЯзыка(ИменаРеквизитов, КодЯзыка);
```
</details>

## КоличествоДополнительныхЯзыков
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает количество дополнительных языков.
//
// Возвращаемое значение:
//  Число - количество дополнительных языков в конфигурации
//
Функция КоличествоДополнительныхЯзыков() Экспорт
```

Пример вызова
```bsl
Результат = МультиязычностьСервер.КоличествоДополнительныхЯзыков() 
```
</details>

## СведенияОЯзыках
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает обобщенные сведения о языках.
// Структура содержит свойства вида "Язык + номер языка" (например, Язык1) с кодами языков.
// Количество таких свойств соответствует числу дополнительных языков.
//
// Возвращаемое значение:
//  ФиксированнаяСтруктура:
//    * Язык0 - Строка - код основного языка.
//    * КоличествоДополнительныхЯзыков - Число - количество дополнительных языков в конфигурации
//    * ОсновнойЯзык - Строка - код основного языка.
//    * Используется - ФиксированнаяСтруктура:
//      ** Ключ - Строка - суффикса языка
//      ** Значение - Булево - Истина, если язык включен в приложении.
//
Функция СведенияОЯзыках() Экспорт
```

Пример вызова
```bsl
Результат = МультиязычностьСервер.СведенияОЯзыках() 
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
