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

файл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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