Номера ГТД / Форма списка / Модуль формы

файл

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

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

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

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

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

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

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

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

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

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

#Область ОбработчикиКомандФормы

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

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтотОбъект, Команда);
	
КонецПроцедуры

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

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

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

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

&НаКлиентеНаСервереБезКонтекста
Функция ЗаголовокСпискаКомплектующие(КоличествоКомплектующих)
	
	ЗаголовокСписка = НСтр("ru = 'Комплектующие'");
	
	Если КоличествоКомплектующих > 0 Тогда
		ЗаголовокСписка = НСтр("ru = 'В состав комплекта входит %1 РНПТ'");
		ЗаголовокСписка = СтрШаблон(ЗаголовокСписка, КоличествоКомплектующих);
	КонецЕсли;
	
	Возврат ЗаголовокСписка;
	
КонецФункции

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

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