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