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