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