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