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