Камин 1.2.200 Неверно рассчитывает НДФЛ по ставкам 13 и 15 при превышении 5000 т - Каминсофт

Камин 1.2.200 Неверно рассчитывает НДФЛ по ставкам 13 и 15 при превышении 5000 т

13 окт 2023 11:10 #1
от ООО "Орион"
Добрый день. камин 1.2.200.  Столкнулся с тем, что по сотруднику, чей доход превысил предел 5000, неверно рассчитывается НДФЛ 15.
в файле расчета NDFL16.ERT в процедуре РассчитатьПНс2021(п_Сотрудник, п_Сумма, Скидка)

        Если ДатаГод(л_ДатаДок)> 2020 Тогда
            л_Предел = СоздатьОбъект("Справочник.ПределыПН");
            п_ОблагаемыйОстаток = л_ОблагаемыйДоход;
            п_ОблагаемыйОстаток15 = 0;
            л_Предел.ПорядокРеквизита("ВерхнийПредел");
            л_Предел.ИспользоватьВладельца(ШкалаПН);
            л_Предел.ВыбратьЭлементы();
            ПНРег15 = 0;
            Пока л_Предел.ПолучитьЭлемент() <> 0 Цикл
                Если п_ОблагаемыйОстаток <= 0 Тогда
                    Прервать;
                Конецесли;
                Если  л_Предел.Процент = 15 Тогда
                    ПНРег15= п_ОблагаемыйОстаток * л_Предел.Процент / 100; 
                    СуммаДохода15 = ?(п_ОблагаемыйОстаток<л_ОблагаемыйДоход-л_ИтДоход,п_ОблагаемыйОстаток,л_ОблагаемыйДоход-л_ИтДоход);
                    п_ОблагаемыйОстаток15 = п_ОблагаемыйОстаток;
                КонецЕсли;
                п_ОблагаемыйОстаток = п_ОблагаемыйОстаток - л_Предел.ВерхнийПредел;
                ПНРег15 = Окр(ПНРег15,ШкалаПН.ОкруглениеПН,1);
            Конеццикла;
            //ПНРег15 = ПНРег15 - ПНУдержан15 - ПНРегМес15;  было в релизе
            ПНРег15 = ПНРег15 - ПНУдержан15;  // исправил 
            л_Доход15 = п_ОблагаемыйОстаток15 - ВаловыйДоход15;
            //СуммаДохода15 = ПНРег15*100/15.                         
     //м_ТаблицаРасчета.Доход15 = ПНРег15*100/15;   // было в релизе,  но некорректно, в справку 2 НДФЛ выходили копейки (частный случай у меня вместо 5000000,00 вышло 5000002,25
    м_ТаблицаРасчета.Доход15 = л_Доход15;

я могу быть неправ, но считало неправильно, после исправления вроде как стало нормально.
и в модуле документа ВыплатаМР модуль формы процедура РассчитатьНДФЛ()
внес исправления для корректного переноса расчета, а именно Доход15, т.к.
Доход15 = (л_ОбщНДФЛ15*(СуммаНачислено)/(л_ОбщДоход))*100/15;   выдаст некорректную сумму, из за округления ндфл15 до рублей, и обратный пересчет, как уже писал выше, выдаст сумму базыНДФЛ15 в разнице до 0,5 /0,13 = 4 рублей

    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл  
        л_Стр = 0;
        Если л_ТаблицаРасчетов.НайтиЗначение(Сотрудник,л_Стр,"Сотрудник")=0 Тогда
            Продолжить;
        КонецЕсли;
        л_ОбщДоход = л_ТаблицаРасчетов.ПолучитьЗначение(л_Стр,"Доход");
        л_ОбщНДФЛ = л_ТаблицаРасчетов.ПолучитьЗначение(л_Стр,"НДФЛ"); 
        л_ОбщНДФЛ15 = л_ТаблицаРасчетов.ПолучитьЗначение(л_Стр,"НДФЛ15");
        л_Скидка = л_ТаблицаРасчетов.ПолучитьЗначение(л_Стр,"Скидки");
        // добавлено
        л_ОбщДоход15 = л_ТаблицаРасчетов.ПолучитьЗначение(л_Стр,"Доход15");
        //
        //НДФЛ = Окр(л_ОбщНДФЛ*(СуммаНачислено - л_Скидка)/(л_ОбщДоход - л_Скидка),ШкалаПН.ОкруглениеПН,1);
        //НДФЛ15 = Окр(л_ОбщНДФЛ15*(СуммаНачислено - л_Скидка)/(л_ОбщДоход - л_Скидка),ШкалаПН.ОкруглениеПН,1);
        //Доход15 = (л_ОбщНДФЛ15*(СуммаНачислено - л_Скидка)/(л_ОбщДоход - л_Скидка))*100/15;
        Если л_ОбщДоход<>0 Тогда
            НДФЛ = Окр(л_ОбщНДФЛ*(СуммаНачислено)/(л_ОбщДоход),ШкалаПН.ОкруглениеПН,1);
            НДФЛ15 = Окр(л_ОбщНДФЛ15*(СуммаНачислено)/(л_ОбщДоход),ШкалаПН.ОкруглениеПН,1);
            //Доход15 = (л_ОбщНДФЛ15*(СуммаНачислено)/(л_ОбщДоход))*100/15;
            // добавлено
            Доход15 = (л_ОбщДоход15*(СуммаНачислено)/(л_ОбщДоход));
            // добавлено
        КонецЕсли;
        
        //НДФЛ = Окр(л_ОбщНДФЛ,ШкалаПН.ОкруглениеПН,1);
        //НДФЛ15 = Окр(л_ОбщНДФЛ15,ШкалаПН.ОкруглениеПН,1);
        //Доход15 = л_ОбщНДФЛ15*100/15;
    КонецЦикла;
могу ошибаться, прошу проверить и поправить в следующем релизе.
Тема закрыта.
Спасибо сказали: Андрей Ланьшин
13 окт 2023 12:07 #2
от Екатерина
Добрый день.
Спасибо за предоставленную информацию. По вашему вопросу зафиксировано Несоответствие № 4571  и передано в отдел разработки. Статус Несоответствия и резолюцию по нему вы можете отслеживать по ссылке   www.kaminsoft.ru/products/tasks.html
 

Екатерина Бархатова, Группа компаний КАМИН
Тема закрыта.
Спасибо сказали: Андрей Ланьшин

Опрос
Всего 3 простых вопроса

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie и пользовательских данных в целях функционирования сайта, проведения ретаргетинга и статистических исследований, обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.

Принять