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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;

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

КонецПроцедуры

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

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

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

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

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

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

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