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