eComm+

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

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

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


horoshop_designer_unf_multilanguage

Различия

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

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

Следующая версия
Предыдущая версия
horoshop_designer_unf_multilanguage [2022/03/27 10:24]
webmaster создано
horoshop_designer_unf_multilanguage [2023/04/01 08:39] (текущий)
webmaster
Строка 1: Строка 1:
-[[https://prnt.sc/10p7lsd|Внешняя ссылка]] +===== Общий модуль "МультиязычностьСервер" ===== 
-[[https://prnt.sc/10p7mtw|Внешняя ссылка]] + 
-[[https://prnt.sc/12n03n8|Внешняя ссылка]]+=== Приведем метод "ПередЗаписьюНаСервере" к виду=== 
 +{{ :designer_unf_multilanguage.png?direct&600 |}} 
 + 
 +<code> 
 + //++ eComm 
 + //Отбор.КодЯзыка =  Метаданные.ОсновнойЯзык.КодЯзыка; 
 + Отбор.КодЯзыка =  КодЯзыкаИнформационнойБазы(); 
 + //-- 
 + НайденныеСтроки = Представления.НайтиСтроки(Отбор); 
 + Если НайденныеСтроки.Количество() > 0 Тогда 
 + Для каждого ИмяРеквизита Из Реквизиты Цикл 
 + ТекущийОбъект[ИмяРеквизита] = НайденныеСтроки[0][ИмяРеквизита]; 
 + КонецЦикла; 
 + Представления.Удалить(НайденныеСтроки[0]); 
 + КонецЕсли; 
 +  
 + Представления.Свернуть("КодЯзыка", СтрСоединить(Реквизиты, ",")); 
 +  
 +КонецПроцедуры 
 + 
 +</code> 
 + 
 +=== Приведем метод "ПриЧтенииПредставленийНаСервере" к виду: === 
 + 
 +{{ :designer_unf_multilanguage1.png?direct&600 |}} 
 + 
 + 
 +<code> 
 + Для каждого Реквизит Из ОбъектМетаданных.ТабличныеЧасти.Представления.Реквизиты Цикл 
 +  
 + Если СтрСравнить(Реквизит.Имя, "КодЯзыка") = 0 Тогда 
 + Продолжить; 
 + КонецЕсли; 
 +  
 + ИмяРеквизита = Реквизит.Имя; 
 +  
 + Отбор = Новый Структура(); 
 + //++ eComm 
 + //Отбор.Вставить("КодЯзыка", Метаданные.ОсновнойЯзык.КодЯзыка); 
 + Отбор.Вставить("КодЯзыка", КодЯзыкаИнформационнойБазы()); 
 + //-- 
 + НайденныеСтроки = Объект.Представления.НайтиСтроки(Отбор); 
 +  
 + Если НайденныеСтроки.Количество() > 0 Тогда 
 +  
 + Представление = НайденныеСтроки[0]; 
 +  
 + Иначе 
 +  
 + Если ПустаяСтрока(Объект[ИмяРеквизита]) Тогда 
 + Продолжить; 
 + КонецЕсли; 
 +  
 + Представление = Объект.Представления.Добавить(); 
 + //++ eComm 
 + //Представление.КодЯзыка = Метаданные.ОсновнойЯзык.КодЯзыка; 
 + Представление.КодЯзыка = КодЯзыкаИнформационнойБазы(); 
 + //-- 
 +  
 + КонецЕсли; 
 + Представление[ИмяРеквизита] = Объект[ИмяРеквизита]
 + 
 +</code>
horoshop_designer_unf_multilanguage.1648365864.txt.gz · Последнее изменение: 2022/03/27 10:24 — webmaster