eComm+

Модулі для BAS / 1С* - розроблено в Україні!

Инструменты пользователя

Инструменты сайта


designer_unf_multilanguage_patch

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
designer_unf_multilanguage_patch [2021/03/04 20:52]
webmaster
designer_unf_multilanguage_patch [2021/03/29 16:59] (текущий)
webmaster
Строка 5: Строка 5:
   * Установить основной язык конфигурации "ru"   * Установить основной язык конфигурации "ru"
   * Для контент-менеджера, работающего с мультиязычными реквизитами установить язык интерфейса "русский"   * Для контент-менеджера, работающего с мультиязычными реквизитами установить язык интерфейса "русский"
-  * Метод "ПриСозданииНаСервере" общей формы "ВводНаРазныхЯзыках" привести к виду: 
-<code> 
- Иначе 
-  
- //++ eComm+ 
- //ОсновнойЯзык = Метаданные.ОсновнойЯзык.КодЯзыка; 
- ОсновнойЯзык = eCommСервер.ВернутьОсновнойЯзык(); 
- //-- 
-  
- Для каждого Представление Из Параметры.Представления Цикл 
-  
- ОписаниеЯзыка = ОписаниеЯзыка(Представление.КодЯзыка); 
-</code> 
- 
   * Метод "ПередЗаписьюНаСервере" общего модуля "МультиязычностьСервер" привести к виду:   * Метод "ПередЗаписьюНаСервере" общего модуля "МультиязычностьСервер" привести к виду:
 +
 +ПередЗаписьюНаСервере
 <code> <code>
- Для каждого ИмяРеквизита Из Реквизиты Цикл +//++ eComm+ 
- Представление[ИмяРеквизита] = ТекущийОбъект[ИмяРеквизита]; + //Отбор.КодЯзыка =  Метаданные.ОсновнойЯзык.КодЯзыка; 
- КонецЦикла; + Отбор.КодЯзыка =  КодЯзыкаИнформационнойБазы();
-  +
- //++ eComm+ +
- //Отбор.КодЯзыка =  Метаданные.ОсновнойЯзык.КодЯзыка;+
- Отбор.КодЯзыка = eCommСервер.ВернутьОсновнойЯзык();+
  //--  //--
   
Строка 37: Строка 21:
  ТекущийОбъект.Представления.Удалить(НайденныеСтроки[0]);  ТекущийОбъект.Представления.Удалить(НайденныеСтроки[0]);
  КонецЕсли;  КонецЕсли;
 +
 + ТекущийОбъект.Представления.Свернуть("КодЯзыка", СтрСоединить(Реквизиты, ","));
 +
 +КонецПроцедуры
 </code> </code>
 +
 +ПриЧтенииПредставленийНаСервере
 +<code>
 +Для каждого Реквизит Из ОбъектМетаданных.ТабличныеЧасти.Представления.Реквизиты Цикл
 +
 + Если СтрСравнить(Реквизит.Имя, "КодЯзыка") = 0 Тогда
 + Продолжить;
 + КонецЕсли;
 +
 + ИмяРеквизита = Реквизит.Имя;
 +
 + Отбор = Новый Структура();
 + //++ eComm+
 + //Отбор.Вставить("КодЯзыка", Метаданные.ОсновнойЯзык.КодЯзыка);
 + Отбор.Вставить("КодЯзыка", КодЯзыкаИнформационнойБазы());
 + //--
 + НайденныеСтроки = Объект.Представления.НайтиСтроки(Отбор);
 +
 + Если НайденныеСтроки.Количество() > 0 Тогда
 + Представление = НайденныеСтроки[0];
 + Иначе
 + Представление = Объект.Представления.Добавить();
 + //++ eComm+
 + //Представление.КодЯзыка = Метаданные.ОсновнойЯзык.КодЯзыка;
 + Представление.КодЯзыка = КодЯзыкаИнформационнойБазы();
 + //--
 + КонецЕсли;
 + Представление[ИмяРеквизита] = Объект[ИмяРеквизита];
 +
 + Отбор = Новый Структура();
 + Отбор.Вставить("КодЯзыка", ТекущийЯзык().КодЯзыка);
 + НайденныеСтроки = Объект.Представления.НайтиСтроки(Отбор);
 +
 + Если НайденныеСтроки.Количество() > 0 И ЗначениеЗаполнено(НайденныеСтроки[0][ИмяРеквизита]) Тогда
 + Объект[ИмяРеквизита] = НайденныеСтроки[0][ИмяРеквизита];
 + КонецЕсли;
 +
 + КонецЦикла;
 +
 +КонецПроцедуры
 +</code>
 +
 +https://prnt.sc/10p7mtw
 +https://prnt.sc/10p7lsd
designer_unf_multilanguage_patch.1614883948.txt.gz · Последнее изменение: 2022/02/24 03:40 (внешнее изменение)