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