Перерасчет ФСС НС за предыдущий период в ЗиК 315

Если изменить базу вида расчета «ФСС НС», то в релизе 1С:Зарплата и Кадры 7.70.315, в текущем расчетном периоде не происходит перерасчет за предыдущие периоды.

Как выяснилось, проблема в алгоритме вида расчета «ФСС_НС». В реализации фирмы 1С расчет происходит следующим образом. Рассчитывается база (нарастающим итогом с начала года) на текущий период, затем из нее вычитается база на предыдущий перод. Полученная сумма умножается на ставку налога. Проблема в том, что разница этих двух сумм всегда будет равна базе текущего расчетного периода, не смотря на изменения налогооблажения некоторых видов расчета.

Решается проблема следующим образом. При расчете необходимо учесть суммы, исчисленные в предыдущих периодах, начиная с начала года. Для этого необходимо изменить часть программного кода в модуле вида расчета «ФСС_НС»:

//Nicholas [<>] ОАО «Рога и Копыта» 02.11.2011 17:34:09
//Comments: Перерасчет ФСС НС за предыдущий период в ЗиК 315
//Been:
//БазаТекущийМесяц = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,»БазаФСС_НС»);
//Если Месяц>1 Тогда
//БазаТекущийМесяц = БазаТекущийМесяц — ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,»БазаФСС_НС»);
//КонецЕсли;
//// получим облагаемую базу инвалида
//БазаТекущийМесяцИнвалид = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,»БазаФСС_НСИнвалид»);
//Если Месяц>1 Тогда
//БазаТекущийМесяцИнвалид = БазаТекущийМесяцИнвалид — ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,»БазаФСС_НСИнвалид»);
//КонецЕсли;
//
//ИсчисленоВзносов = Окр(БазаТекущийМесяц * ТарифФСС_НС / 100,2) + Окр(БазаТекущийМесяцИнвалид * ПонижающийКоэффициент * ТарифФСС_НС / 100,2);
//Turn:

БазаТекущийМесяц = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы, «БазаФСС_НС»);
глСообщениеТрассировки(глСообщенияТрассировки, «База для расчета взносов по текущий месяц:_П01», 0,0, БазаТекущийМесяц, «Ч15.2»);

БазаТекущийМесяцИнвалид = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы, «БазаФСС_НСИнвалид»);
Если
Месяц > 1 Тогда
БазаТекущийМесяцИнвалид = БазаТекущийМесяцИнвалид ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы 1, «БазаФСС_НСИнвалид»);
КонецЕсли;

ИсчисленоПоТекущийМесяц = (БазаТекущийМесяц * ТарифФСС_НС / 100);
глСообщениеТрассировки(глСообщенияТрассировки, «Исчислено взносов по текущий месяц:_П01», 0,0, ИсчисленоПоТекущийМесяц, «Ч15.2»);

ИсчисленоПоПредыдущийМесяц = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,«ИсчисленоФСС_НС»);
глСообщениеТрассировки(глСообщенияТрассировки, «Исчислено взносов по предыдущий месяц:_П01», 0,0, ИсчисленоПоПредыдущийМесяц, «Ч15.2»);

ИсчисленоВзносов = Окр(ИсчисленоПоТекущийМесяц ИсчисленоПоПредыдущийМесяц, 2)
+
Окр(БазаТекущийМесяцИнвалид * 0.6 * ТарифФСС_НС / 100, 2);
//EndNicholas [<>]

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *