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