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