Упаковки и единицы измерения / Форма выбора единицы измерения / Модуль формы

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Возврат при получении формы для анализа.
	Если Параметры.Свойство("АвтоТест") Тогда
		Возврат;
	КонецЕсли;
	
	Элементы.ФормаПодобратьИзКлассификатора.Видимость = ПравоДоступа("Добавление",
																	Метаданные.Справочники.УпаковкиЕдиницыИзмерения);
	
	// СтандартныеПодсистемы.БазоваяФункциональность
	МультиязычностьСервер.ИзменениеТекстаЗапросаСпискаДляТекущегоЯзыка(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.БазоваяФункциональность
	
	СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
	
КонецПроцедуры

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

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура ПодобратьИзКлассификатора(Команда)
	
	ПараметрыОтбора = Новый Массив;
	
	Для Каждого ЭлементОтбора Из Список.Отбор.Элементы Цикл
		Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТипИзмеряемойВеличины")
			И ЭлементОтбора.Использование Тогда
			
			Если ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно Тогда
				ПараметрыОтбора.Добавить(ЭлементОтбора.ПравоеЗначение);
			ИначеЕсли ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке Тогда 
				ПараметрыОтбора = ЭлементОтбора.ПравоеЗначение.ВыгрузитьЗначения();
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
	
	//++ Локализация
	ЛокализацияРФ = ОбщегоНазначенияУТВызовСервера.ЗначениеФункциональнойОпции("ЛокализацияРФ");
	Если ЛокализацияРФ Тогда
		ПараметрыПодбора = ОблачныеКлассификаторыКлиент.ПараметрыПодбораЭлементовОКЕИ();
		ПараметрыПодбора.Владелец              = ЭтотОбъект;
		ПараметрыПодбора.ОповещениеОЗавершении = Новый ОписаниеОповещения("ПодобратьИзКлассификатораЗавершение", ЭтотОбъект);
		
		Если ЗначениеЗаполнено(ПараметрыОтбора) Тогда
			ПараметрыПодбора.ДополнительныеПараметры = Новый Структура;
			ПараметрыПодбора.ДополнительныеПараметры.Вставить("Отбор", ПараметрыОтбора);
		КонецЕсли;
		
		ОблачныеКлассификаторыКлиент.ПодобратьИзСервисаЭлементыОКЕИ(ПараметрыПодбора);
		Возврат;
	КонецЕсли;
	//-- Локализация
	
	ОткрытьВстроенныйПодбор(Неопределено, ПараметрыОтбора);
	
КонецПроцедуры

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

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

#Область СлужебныеПроцедурыИФункции

&НаКлиенте
Процедура ОткрытьВстроенныйПодбор(Результат, ДополнительныеПараметры) Экспорт
	
	ПараметрыОткрытия = Новый Структура;
	ПараметрыОткрытия.Вставить("Отбор", ДополнительныеПараметры);
	
	ОткрытьФорму("Справочник.УпаковкиЕдиницыИзмерения.Форма.КлассификаторЕдиницИзмерения",
		ПараметрыОткрытия,
		ЭтотОбъект,
		,
		,
		,
		Новый ОписаниеОповещения("ПодобратьИзКлассификатораЗавершение", ЭтотОбъект));
	
КонецПроцедуры

&НаКлиенте
Процедура ПодобратьИзКлассификатораЗавершение(Результат, ДополнительныеПараметры) Экспорт
	
	Если ТипЗнч(Результат) = Тип("Структура")
		И Результат.Свойство("КоличествоНовыхЭлементов") Тогда
		
		НоменклатураКлиент.ОповеститьОбИзмененииСпискаВыбораЕдиницИзмерения(
			Результат.КоличествоНовыхЭлементов,
			Результат.НовыеЭлементы);
		
	КонецЕсли;
	
	Элементы.Список.Обновить();
	
КонецПроцедуры

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

Связанные материалы