Общий модуль "МультиязычностьСервер"
Приведем метод "ПередЗаписьюНаСервере" к виду:
//++ eComm
//Отбор.КодЯзыка = Метаданные.ОсновнойЯзык.КодЯзыка;
Отбор.КодЯзыка = КодЯзыкаИнформационнойБазы();
//--
НайденныеСтроки = Представления.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда
Для каждого ИмяРеквизита Из Реквизиты Цикл
ТекущийОбъект[ИмяРеквизита] = НайденныеСтроки[0][ИмяРеквизита];
КонецЦикла;
Представления.Удалить(НайденныеСтроки[0]);
КонецЕсли;
Представления.Свернуть("КодЯзыка", СтрСоединить(Реквизиты, ","));
КонецПроцедуры
Приведем метод "ПриЧтенииПредставленийНаСервере" к виду:
Для каждого Реквизит Из ОбъектМетаданных.ТабличныеЧасти.Представления.Реквизиты Цикл
Если СтрСравнить(Реквизит.Имя, "КодЯзыка") = 0 Тогда
Продолжить;
КонецЕсли;
ИмяРеквизита = Реквизит.Имя;
Отбор = Новый Структура();
//++ eComm
//Отбор.Вставить("КодЯзыка", Метаданные.ОсновнойЯзык.КодЯзыка);
Отбор.Вставить("КодЯзыка", КодЯзыкаИнформационнойБазы());
//--
НайденныеСтроки = Объект.Представления.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда
Представление = НайденныеСтроки[0];
Иначе
Если ПустаяСтрока(Объект[ИмяРеквизита]) Тогда
Продолжить;
КонецЕсли;
Представление = Объект.Представления.Добавить();
//++ eComm
//Представление.КодЯзыка = Метаданные.ОсновнойЯзык.КодЯзыка;
Представление.КодЯзыка = КодЯзыкаИнформационнойБазы();
//--
КонецЕсли;
Представление[ИмяРеквизита] = Объект[ИмяРеквизита];