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