eComm+

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

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

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


horoshop_designer_unf_multilanguage

Общий модуль "МультиязычностьСервер"

Приведем метод "ПередЗаписьюНаСервере" к виду:

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

Приведем метод "ПриЧтенииПредставленийНаСервере" к виду:

	Для каждого Реквизит Из ОбъектМетаданных.ТабличныеЧасти.Представления.Реквизиты Цикл
		
		Если СтрСравнить(Реквизит.Имя, "КодЯзыка") = 0 Тогда
			Продолжить;
		КонецЕсли;
		
		ИмяРеквизита = Реквизит.Имя;
		
		Отбор = Новый Структура();
		//++ eComm
		//Отбор.Вставить("КодЯзыка", Метаданные.ОсновнойЯзык.КодЯзыка);
		Отбор.Вставить("КодЯзыка", КодЯзыкаИнформационнойБазы());
		//--
		НайденныеСтроки = Объект.Представления.НайтиСтроки(Отбор);
	
		Если НайденныеСтроки.Количество() > 0 Тогда
			
			Представление = НайденныеСтроки[0];
			
		Иначе
			
			Если ПустаяСтрока(Объект[ИмяРеквизита]) Тогда
				Продолжить;
			КонецЕсли;
			
			Представление = Объект.Представления.Добавить();
			//++ eComm
			//Представление.КодЯзыка = Метаданные.ОсновнойЯзык.КодЯзыка;
			Представление.КодЯзыка = КодЯзыкаИнформационнойБазы();
			//--
			
		КонецЕсли;
		Представление[ИмяРеквизита] = Объект[ИмяРеквизита];
horoshop_designer_unf_multilanguage.txt · Последнее изменение: 2023/04/01 08:39 — webmaster