1С официально прекратила поддержку ЗиК 7.7. Это печально :-(
Цель публикации помочь тем кто "героически" продолжает вести учет в ЗиК 7.7 :-)
Изменение ставок на сайте налоговой https://www.nalog.ru/rn22/news/activities_fts/9720686/
Доработка изменяет ТОЛЬКО сумму расчета взносов, но НЕ изменяет выгрузку данных для сдачи отчетности.
В комментариях есть ссылка на проект "продолжения поддержки ЗиК 7.7", можно смотреть там что есть полезного
Чтобы ЗиК 7.7 начала рассчитывать взносы по пониженным ставкам нужно доработать модули расчета, у нас их три.
Во всех местах будем вставлять код после стандартного расчета переменной Результат
ВидРасчета.ПФРПоСуммарномуТарифу.МодульРасчета
Результат = ИсчисленоВТекущемМесяце + ИсчисленоВТекущемМесяцеИнвалид + ИсчисленоВТекущемМесяцеЛТ;
// %изм% Mx Начало ПФР2020
Если ДатаОкончания>='01.04.2020' Тогда
_БазаПоТекущийМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаПФР");
_БазаПоПрошлыйМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаПФР");
// База текущего месяца рассчитывается как разница между базой По_Текущий_Месяц и базой По_Прошлый_Месяц
_БазаТекущийМесяц=_БазаПоТекущийМесяц-_БазаПоПрошлыйМесяц;
// МРОТ берём из константы
_МРОТ=Константа.ММОТ.Получить(ДатаОкончания);
_Предел=Константа.ПредельнаяВеличинаБазыСтраховыхВзносов.Получить(ДатаОкончания);
// Если предел был пройден в прошлых месяцах то применяем ставку 10%
Если _БазаПоПрошлыйМесяц>_Предел Тогда
Результат=_БазаТекущийМесяц*10/100;
Иначе
Если _БазаТекущийМесяц<_МРОТ Тогда
Результат=_БазаТекущийМесяц*СтавкаТарифа;
Иначе
Если _БазаПоПрошлыйМесяц+_МРОТ>_Предел Тогда // Если граница превышения попадает на МРОТ
_МРОТ=_Предел-_БазаПоПрошлыйМесяц; // Уменьшим облагаемую базу по "основной" ставке тарифа
КонецЕсли;
Результат=_МРОТ*СтавкаТарифа+(_БазаТекущийМесяц-_МРОТ)*10/100;
КонецЕсли;
КонецЕсли;
КонецЕсли;
// %изм% Mx Конец ПФР2020
ВидРасчета.ФФОМСс2010.МодульРасчета
Результат = ИсчисленоВТекущемМесяце + ИсчисленоВТекущемМесяцеИнвалид + ИсчисленоВТекущемМесяцеЛТ;
// %изм% Mx Начало ПФР2020
Если ДатаОкончания>='01.04.2020' Тогда
_БазаПоТекущийМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаФОМС");
_БазаПоПрошлыйМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаФОМС");
// База текущего месяца рассчитывается как разница между базой По_Текущий_Месяц и базой По_Прошлый_Месяц
_БазаТекущийМесяц=_БазаПоТекущийМесяц-_БазаПоПрошлыйМесяц;
// МРОТ берём из константы
_МРОТ=Константа.ММОТ.Получить(ДатаОкончания);
_Предел=Константа.ПредельнаяВеличинаБазыСтраховыхВзносов.Получить(ДатаОкончания);
// Для ФФОМС НЕТ ПРЕДЕЛА !!! всегда расчет происходит до и после МРОТ
Если _БазаТекущийМесяц<_МРОТ Тогда
Результат=_БазаТекущийМесяц*СтавкаТарифа;
Иначе
Результат=_МРОТ*СтавкаТарифа+(_БазаТекущийМесяц-_МРОТ)*5/100;
КонецЕсли;
КонецЕсли;
// %изм% Mx Конец ПФР2020
ВидРасчета.ФССс2010.МодульРасчета
Результат = ИсчисленоВТекущемМесяце + ИсчисленоВТекущемМесяцеИнвалид + ИсчисленоВТекущемМесяцеЛТ;
// %изм% Mx Начало ПФР2020
Если ДатаОкончания>='01.04.2020' Тогда
_БазаПоТекущийМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаФСС");
_БазаПоПрошлыйМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаФСС");
// База текущего месяца рассчитывается как разница между базой По_Текущий_Месяц и базой По_Прошлый_Месяц
_БазаТекущийМесяц=_БазаПоТекущийМесяц-_БазаПоПрошлыйМесяц;
// МРОТ берём из константы
_МРОТ=Константа.ММОТ.Получить(ДатаОкончания);
_Предел=Константа.ПредельнаяВеличинаБазыФСС.Получить(ДатаОкончания);
// Если предел был пройден в прошлых месяцах то применяем ставку 0%
Если _БазаПоПрошлыйМесяц>_Предел Тогда
Результат=_БазаТекущийМесяц*0;
Иначе
Если _БазаТекущийМесяц<_МРОТ Тогда
Результат=_БазаТекущийМесяц*СтавкаТарифа;
Иначе
Если _БазаПоПрошлыйМесяц+_МРОТ>_Предел Тогда // Если граница превышения попадает на МРОТ
_МРОТ=_Предел-_БазаПоПрошлыйМесяц; // Уменьшим облагаемую базу по "основной" ставке тарифа
КонецЕсли;
Результат=_МРОТ*СтавкаТарифа+(_БазаТекущийМесяц-_МРОТ)*0;
КонецЕсли;
КонецЕсли;
КонецЕсли;
// %изм% Mx Конец ПФР2020
Релиз конфигурации 1С ЗиК 2.3 (7.70.371), релиз платформы 1С 7.70.027
Если кому удобно посмотреть готовые модули, то можно скачать файл 1cv7.md вкотором всё описанное уже присутствует.
Если конфигурация не измененная, то можно в конфигураторе провести процесс "Объединение конфигураций..." и получить готовый результат.
Дополнение: попытался проверить расчет с превышением предела в 1С ЗУП 3.1 (3.1.13.151) и что-то там специфическая логика - в месяце превышения сумма МРОТ (пропорционально) делится на части и одна относится к 22%, а другая к 10%... в общем, я ничего не понял :-)
прошло два месяца и в 1С наконец-то сделали правильный расчет взносов в месяце превышения предела в ЗУП 3.1.14.97
Обновление 06.07.2020 - поправил модули для случая когда граница превышения попадет на МРОТ (обсуждалось в комментариях)