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