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