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