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