Правила размещения товаров / Форма списка / Модуль формы

файл

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

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

&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
	
	Если Не ЗавершениеРаботы Тогда
		СохранитьНастройки();
	КонецЕсли;
	
КонецПроцедуры

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

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

&НаКлиенте
Процедура ОтборСкладПриИзменении(Элемент)
	ОтборСкладПриИзмененииСервер();
КонецПроцедуры

&НаКлиенте
Процедура ОтборПомещениеПриИзменении(Элемент)
	УстановитьОтборыВСписке();
КонецПроцедуры

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

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

#Область Прочее

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

&НаСервере
Процедура ОтборСкладПриИзмененииСервер()
	
	УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("Склад", ОтборСклад));
	УстановитьОтборыВСписке();
	
КонецПроцедуры

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

&НаСервере
Процедура СохранитьНастройки()
	
	КлючНастроек = "ОтборыФормы";
	КлючОбъекта  = "РегистрСведений.ПравилаРазмещенияТоваровВЯчейке.Форма.ФормаСписка";
	
	Настройки = Новый Структура("ОтборСклад, ОтборПомещение, ОтборОбластьХранения");
	ЗаполнитьЗначенияСвойств(Настройки, ЭтаФорма);
	
	ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек, Настройки);
	
КонецПроцедуры

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

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

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