---
title: Подключение к подсистеме МультиязычностьБазовая
slug: общие-бсп-стандартные-подсистемы-3-1-10-мультиязычность-базовая-функциональность/подключение-к-подсистеме-мультиязычностьбазовая
---

Подсистема позволяет хранить значения строковых реквизитов произвольных объектов метаданных **ссылочного типа** на разных языках:
![Изображение](/bsp-multiyaz/1.png)

Для подключения необходимо:

## Настройка реквизитов

Для целевого строкового реквизита необходимо добавить дополнительные реквизиты, имена которых необходимо формировать по шаблону **<ИмяРеквизита>Язык1** и **<ИмяРеквизита>Язык2**. Например, для строкового реквизита `СодержаниеЗаказа` следует создать строковые реквизиты `СодержаниеЗаказаЯзык1` и `СодержаниеЗаказаЯзык2`.

Реквизиты допускается создавать как непосредственно **на уровне объекта**, так и применять **общие реквизиты**.

## Настройка функциональных опций

Включить добавленные реквизиты в состав функциональных опций `ИспользоватьДополнительныйЯзык1` и `ИспользоватьДополнительныйЯзык2`

## Настройка формы списка

Затем для каждого объекта, допускающего ввод мультиязычных данных, в форме списка в обработчике события `ПриСозданииНаСервере` вставить вызов процедуры

```bsl
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // СтандартныеПодсистемы.Мультиязычность
    МультиязычностьСервер.ПриСозданииНаСервере(ЭтотОбъект);
    // Конец СтандартныеПодсистемы.Мультиязычность
КонецПроцедуры
```

## Настройка формы элемента

В обработчики событий формы элемента (документа, записи) `ПриСозданииНаСервере`, `ПриЧтенииНаСервере`, `ПередЗаписьюНаСервере` и `ПослеЗаписиНаСервере` вставить вызовы одноименных процедур их общего модуля `МультиязычностьСервер`:

```bsl

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
    // СтандартныеПодсистемы.Мультиязычность
    МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
    // Конец СтандартныеПодсистемы.Мультиязычность
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // СтандартныеПодсистемы.Мультиязычность
    МультиязычностьСервер.ПриСозданииНаСервере(ЭтотОбъект, Объект);
    // Конец СтандартныеПодсистемы.Мультиязычность
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    // СтандартныеПодсистемы.Мультиязычность
    МультиязычностьСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
    // Конец СтандартныеПодсистемы.Мультиязычность
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    // СтандартныеПодсистемы.Мультиязычность
    МультиязычностьСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
    // Конец СтандартныеПодсистемы.Мультиязычность
КонецПроцедуры

#КонецОбласти

```
> Для регистра сведений здесь и далее переменную `Объект` следует заменить на `Запись`.

В область `ОбработчикиСобытийЭлементовШапкиФормы` модуля формы элемента (документа) поместить следующий код:

```bsl
#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура Подключаемый_Открытие(Элемент, СтандартнаяОбработка)
    // СтандартныеПодсистемы.Мультиязычность
    МультиязычностьКлиент.ПриОткрытии(ЭтотОбъект, Объект, Элемент, СтандартнаяОбработка);
    // Конец СтандартныеПодсистемы.Мультиязычность
КонецПроцедуры

#КонецОбласти
```

## Настройка модуля объекта

```bsl

#Область ОбработчикиСобытий

Процедура ПриЧтенииПредставленийНаСервере() Экспорт
    // СтандартныеПодсистемы.Мультиязычность
    МультиязычностьСервер.ПриЧтенииПредставленийНаСервере(ЭтотОбъект);
    // Конец СтандартныеПодсистемы.Мультиязычность
КонецПроцедуры

#КонецОбласти

```

## Настройка модуля менеджера

Для объекта ссылочного типа (справочники, документы и т.п.) в модуль менеджера объекта добавить обработчики `ОбработкаПолученияПолейПредставления`, `ОбработкаПолученияПредставления` и `ОбработкаПолученияДанныхВыбора`:

```bsl
#Область ОбработчикиСобытий

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
    // СтандартныеПодсистемы.Мультиязычность
    МультиязычностьКлиентСервер.ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка);
    // Конец СтандартныеПодсистемы.Мультиязычность
КонецПроцедуры

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
    // СтандартныеПодсистемы.Мультиязычность
    МультиязычностьКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
    // Конец СтандартныеПодсистемы.Мультиязычность
КонецПроцедуры

Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
    // СтандартныеПодсистемы.Мультиязычность
    МультиязычностьСервер.ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка, <Метаданные.ПланыВидовХарактеристик.ОбъектыАдресацииЗадач>);
    // Конец СтандартныеПодсистемы.Мультиязычность
КонецПроцедуры

#КонецОбласти
```

Четвертым параметром в вызове процедуры `МультиязычностьСервер.ОбработкаПолученияДанныхВыбора` следует передавать объект метаданных.