Объекты эксплуатации / Транспорт / Модуль формы

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

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

	РежимСверки = Ложь;
	Если Параметры.Свойство("РежимСверки") Тогда
		РежимСверки = Параметры.РежимСверки;
	КонецЕсли;
	
	Элементы.Выбрать.Видимость = РежимВыбора;
	Элементы.ОбъектаНетВСписке.Видимость = РежимВыбора И РежимСверки;
	
	УстановитьТекстЗапроса();
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
КонецПроцедуры

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

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	Если ИмяСобытия = "ИзмененаИнформацияОС" Тогда
		Элементы.Список.Обновить();
	КонецЕсли;
	
КонецПроцедуры

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

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

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

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

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

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

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

КонецПроцедуры

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

#Область СтандартныеПодсистемы

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

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

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

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

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

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

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

&НаСервере
Процедура УстановитьТекстЗапроса()

	//++ Локализация
	Запросы = Новый Массив;

	ТекстЗапроса = ВнеоборотныеАктивы.ТекстЗапросаЗаписиРегистраСУчетомИсправлений(
					"ПараметрыНачисленияТранспортногоНалога", "РегистрацияТранспортныхСредств_Записи");

	Запросы.Добавить(ТекстЗапроса);
	
	// Основные средства - Транспорт.
	ТекстЗапроса =
	"
	| ВЫБРАТЬ
	| 	РегистрацияТранспортныхСредств.ОсновноеСредство КАК ОсновноеСредство,
	| 	МАКСИМУМ(РегистрацияТранспортныхСредств.Период) КАК Период
	|
	| ПОМЕСТИТЬ ВТ_ПоследняяРегистрация
	|
	| ИЗ
	| 	РегистрацияТранспортныхСредств_Записи КАК РегистрацияТранспортныхСредств
	| ГДЕ
	| 	РегистрацияТранспортныхСредств.ВидЗаписи = ЗНАЧЕНИЕ(Перечисление.ВидЗаписиОРегистрации.Регистрация)
	| {ГДЕ
	| 	РегистрацияТранспортныхСредств.Организация КАК Организация}
	| СГРУППИРОВАТЬ ПО
	| 	РегистрацияТранспортныхСредств.ОсновноеСредство
	| ;
	| 
	| ////////////////////////////////////////////////////////////////////////////////
	| ВЫБРАТЬ
	| 	РегистрацияТранспортныхСредств.ОсновноеСредство             КАК ОсновноеСредство,
	| 	РегистрацияТранспортныхСредств.Период                       КАК Период,	
	| 	РегистрацияТранспортныхСредств.РегистрационныйЗнак          КАК РегистрационныйЗнак,
	| 	РегистрацияТранспортныхСредств.КодВидаТранспортногоСредства КАК КодВидаТранспортногоСредства
	|
	| ПОМЕСТИТЬ ВТ_ДанныеПоследнейРегистрации
	|
	| ИЗ
	| 	РегистрацияТранспортныхСредств_Записи КАК РегистрацияТранспортныхСредств
	| 		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ПоследняяРегистрация
	| 		ПО РегистрацияТранспортныхСредств.ОсновноеСредство = ВТ_ПоследняяРегистрация.ОсновноеСредство
	| 		И РегистрацияТранспортныхСредств.Период = ВТ_ПоследняяРегистрация.Период
	| ГДЕ
	| 	РегистрацияТранспортныхСредств.ВидЗаписи = ЗНАЧЕНИЕ(Перечисление.ВидЗаписиОРегистрации.Регистрация)
	| {ГДЕ
	| 	РегистрацияТранспортныхСредств.Организация КАК Организация}
	| ;
	| 
	| ////////////////////////////////////////////////////////////////////////////////
	|  ВЫБРАТЬ
	| 	РегистрацияТранспортныхСредств.ОсновноеСредство КАК ОсновноеСредство,
	| 	МАКСИМУМ(РегистрацияТранспортныхСредств.Период) КАК Период
	|
	| ПОМЕСТИТЬ ВТ_Снятия
	|
	| ИЗ
	| 	РегистрацияТранспортныхСредств_Записи КАК РегистрацияТранспортныхСредств
	| ГДЕ
	| 	РегистрацияТранспортныхСредств.ВидЗаписи = ЗНАЧЕНИЕ(Перечисление.ВидЗаписиОРегистрации.СнятиеСРегистрационногоУчета)
	| {ГДЕ
	| 	РегистрацияТранспортныхСредств.Организация КАК Организация}
	| СГРУППИРОВАТЬ ПО
	| 	РегистрацияТранспортныхСредств.ОсновноеСредство
	| ;
	| 
	| ////////////////////////////////////////////////////////////////////////////////
	|  ВЫБРАТЬ
	| 	СправочникОсновныеСредства.Ссылка             КАК Ссылка,
	| 	СправочникОсновныеСредства.ПометкаУдаления    КАК ПометкаУдаления,
	| 	СправочникОсновныеСредства.Родитель           КАК Родитель,
	| 	СправочникОсновныеСредства.ЭтоГруппа          КАК ЭтоГруппа,
	| 	СправочникОсновныеСредства.Код                КАК Код,
	| 	СправочникОсновныеСредства.Наименование       КАК Наименование,
	| 	СправочникОсновныеСредства.НаименованиеПолное КАК НаименованиеПолное,
	| 	СправочникОсновныеСредства.Изготовитель       КАК Изготовитель,
	| 	СправочникОсновныеСредства.ЗаводскойНомер     КАК ЗаводскойНомер,
	| 	СправочникОсновныеСредства.НомерПаспорта      КАК НомерПаспорта,
	| 	СправочникОсновныеСредства.ДатаВыпуска        КАК ДатаВыпуска,
	| 	СправочникОсновныеСредства.КодПоОКОФ          КАК КодПоОКОФ,
	| 	СправочникОсновныеСредства.ГруппаОС           КАК ГруппаОС,
	| 	ПорядокУчетаОСБУ.АмортизационнаяГруппа        КАК АмортизационнаяГруппа,
	| 	СправочникОсновныеСредства.ШифрПоЕНАОФ        КАК ШифрПоЕНАОФ,
	| 	СправочникОсновныеСредства.Комментарий        КАК Комментарий,
	| 	СправочникОсновныеСредства.Предопределенный   КАК Предопределенный,
	|
	| 	СправочникОсновныеСредства.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
	|
	| 	ЕСТЬNULL(ВТ_ДанныеПоследнейРегистрации.Период, ДАТАВРЕМЯ(1, 1, 1)) КАК Поставлено,
	| 	ЕСТЬNULL(ВТ_Снятия.Период, ДАТАВРЕМЯ(1, 1, 1))                     КАК Снято,
	| 	ЕСТЬNULL(ВТ_ДанныеПоследнейРегистрации.РегистрационныйЗнак, """")  КАК РегистрационныйЗнак,
	|
	| 	ЕСТЬNULL(ВТ_ДанныеПоследнейРегистрации.КодВидаТранспортногоСредства, """") КАК КодВидаТС
	| ИЗ
	| 	Справочник.ОбъектыЭксплуатации КАК СправочникОсновныеСредства
	| 		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДанныеПоследнейРегистрации КАК ВТ_ДанныеПоследнейРегистрации
	| 		ПО СправочникОсновныеСредства.Ссылка = ВТ_ДанныеПоследнейРегистрации.ОсновноеСредство
	| 		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Снятия КАК ВТ_Снятия
	| 		ПО СправочникОсновныеСредства.Ссылка = ВТ_Снятия.ОсновноеСредство
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПорядокУчетаОСБУ.СрезПоследних КАК ПорядокУчетаОСБУ
	|		ПО СправочникОсновныеСредства.Ссылка = ПорядокУчетаОСБУ.ОсновноеСредство
	| ГДЕ
	| 	СправочникОсновныеСредства.ГруппаОС = ЗНАЧЕНИЕ(Перечисление.ГруппыОС.ТранспортныеСредства)
	|";

	Запросы.Добавить(ТекстЗапроса);

	ТекстЗапроса = СтрСоединить(Запросы, ОбщегоНазначения.РазделительПакетаЗапросов());

	СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
	ЗаполнитьЗначенияСвойств(СвойстваСписка, Список, "ОсновнаяТаблица, ДинамическоеСчитываниеДанных");
	СвойстваСписка.ТекстЗапроса = ТекстЗапроса;
	ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.Список, СвойстваСписка);
	//-- Локализация
	
	
	Список.Параметры.УстановитьЗначениеПараметра("НачалоПериода", Дата(1, 1, 1));
	Список.Параметры.УстановитьЗначениеПараметра("КонецПериода", Дата(1, 1, 1));
	Если Параметры.Свойство("Период") Тогда
		Список.Параметры.УстановитьЗначениеПараметра("ДатаДокумента", КонецГода(Параметры.Период));
		Список.Параметры.УстановитьЗначениеПараметра("Дата", КонецГода(Параметры.Период));
	Иначе
		Список.Параметры.УстановитьЗначениеПараметра("ДатаДокумента", ОбщегоНазначения.ТекущаяДатаПользователя());
		Список.Параметры.УстановитьЗначениеПараметра("Дата", ОбщегоНазначения.ТекущаяДатаПользователя());
	КонецЕсли;

	Список.Параметры.УстановитьЗначениеПараметра("СписокОС", Неопределено);
	Список.Параметры.УстановитьЗначениеПараметра("БезОтбораОС", Истина);
	Если Параметры.Отбор.Свойство("Организация") Тогда
		Список.Параметры.УстановитьЗначениеПараметра("Организация", Параметры.Отбор.Организация);
	Иначе
		Список.Параметры.УстановитьЗначениеПараметра("Организация", Справочники.Организации.ПустаяСсылка());
	КонецЕсли;

КонецПроцедуры

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

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