Склады / Форма выбора МРМ / Модуль формы

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

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

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

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

		Элементы.Список.Отображение = ОтображениеТаблицы.Список;
	КонецЕсли;

	ВыборГруппыСкладов = Неопределено;
	Параметры.Свойство("ВыборГруппыСкладов", ВыборГруппыСкладов);	
	Список.Параметры.УстановитьЗначениеПараметра("ВыборГруппыСкладов", ВыборГруппыСкладов);
	
КонецПроцедуры

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

#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок

&НаКлиенте
Процедура СписокВыборЗначения(Элемент, Значение, СтандартнаяОбработка)
	
	Если ЗначениеЗаполнено(ВыборГруппыСкладов) И ЗначениеЗаполнено(Значение) 
		И Элементы.Список.ТекущиеДанные <> Неопределено Тогда
		
		ТекущиеДанные = Элементы.Список.ТекущиеДанные;
		ВыборЗапрещен = ТекущиеДанные.ЭтоГруппа;
		
		Если ВыборЗапрещен Тогда
			Если ТипЗнч(ВыборГруппыСкладов) = Тип("ФиксированныйМассив") Тогда
				ВыборЗапрещен = Не (ВыборГруппыСкладов.Найти(ТекущиеДанные.ВыборГруппы) <> Неопределено);
			Иначе
				ВыборЗапрещен = ВыборГруппыСкладов <> ТекущиеДанные.ВыборГруппы;
			КонецЕсли;
		КонецЕсли;
		
		Если ВыборЗапрещен Тогда
			
			СтандартнаяОбработка = Ложь;
			Отказ = Истина;
			ТекстПредупреждения = НСтр("ru = 'Группу ""%ГруппаСкладов%"" нельзя выбирать в документ.'");
			ТекстПредупреждения = СтрЗаменить(ТекстПредупреждения, "%ГруппаСкладов%", ТекущиеДанные.Наименование);
			ПоказатьПредупреждение(Неопределено, ТекстПредупреждения);
			
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры
#КонецОбласти

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