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