gifts2017

ЗУП 2.5.22.3. Исправление ошибки в формировании проводок по страховым взносам

Опубликовал Inner Gear (Inner Gear) в раздел Программирование - Практика программирования

Если у сотрудника есть частично облагаемое страховыми взносами начисление (мат.помощь), то в документе "Отражение зарплаты в регл.учете" проводки по страховым взносам формируются  неверно.

При распределении сумм страховых взносов по счетам "родных" начислений сумма мат.помощи учитывается в полном объеме, а должны учитываться за вычетом скидки в 4000 руб.

 

Ошибка возникает из-за того, что при проведении документа "Начисление страховых взносов" в регистре расчетов ЕСНДополнительныеНачисления не заполняется ресурс Скидка. Похоже что 1С-ники просто забыли о нем Smile

 

Исправлял так:

1. В модуле объекта документа РасчетСтраховыхВзносов, в процедуре СформироватьДвиженияПоСкидкам(...) в самый конец вставил кусок:

    //НАЧАЛО 11.03.2010 регламентированный учет частично облагаемых начислений (материальной помощи)
    //
    // Скидки для записей регистра ЕСНДополнительныеНачисления тоже надо проставить, иначе проводки по страховым взносам
    // сформируются неверно, без учета скидки.
    //
   
МодифицируемаяТаблица = Движения.ЕСНДополнительныеНачисления.Выгрузить();

   
СтруктураПоиска = Новый Структура("ФизЛицо,КодДоходаЕСН");

   
Запрос.Текст =
   
"ВЫБРАТЬ
    |    РасчетИсчисленный.ФизЛицо КАК ФизЛицо,
    |    РасчетИсчисленный.Скидка,
    |    РасчетИсчисленный.ВидДохода КАК ВидДохода
    |ПОМЕСТИТЬ ВТДанныеДокумента
    |ИЗ
    |    &НеоблагаемыеСуммы КАК РасчетИсчисленный
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    ФизЛицо,
    |    ВидДохода
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВТДанныеДокумента.ФизЛицо,
    |    ВТДанныеДокумента.ВидДохода КАК КодДоходаЕСН,
    |    СУММА(ВТДанныеДокумента.Скидка) КАК Скидка
    |ИЗ
    |    ВТДанныеДокумента КАК ВТДанныеДокумента
    |
    |СГРУППИРОВАТЬ ПО
    |    ВТДанныеДокумента.ФизЛицо,
    |    ВТДанныеДокумента.ВидДохода"
;

   
Выборка = Запрос.Выполнить().Выбрать();

   
МассивКоэффициентов = Новый Массив;

    Пока
Выборка.Следующий() Цикл

       
ЗаполнитьЗначенияСвойств(СтруктураПоиска, Выборка); // Физлицо, КодДоходаЕСН

       
НайденныеСтроки = МодифицируемаяТаблица.НайтиСтроки(СтруктураПоиска);
        Если
НайденныеСтроки.Количество() = 0 Тогда
            Продолжить;
        КонецЕсли;

       
МассивКоэффициентов.Очистить();
        Для Каждого
НайденнаяСтрока Из НайденныеСтроки Цикл
           
МассивКоэффициентов.Добавить(НайденнаяСтрока.Результат);
        КонецЦикла;

       
МассивРазмеровСкидок = ОбщегоНазначения.РаспределитьПропорционально(Выборка.Скидка, МассивКоэффициентов);

        Для
Сч = 0 По МассивРазмеровСкидок.Количество() - 1 Цикл
           
НайденныеСтроки[Сч].Скидка МассивРазмеровСкидок[Сч];
        КонецЦикла;

    КонецЦикла;

   
Движения.ЕСНДополнительныеНачисления.Загрузить(МодифицируемаяТаблица);
   
//КОНЕЦ

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Эстер Коган (e.kogan) 20.05.10 12:27
Спасибо автору, полезная и нужная штука. Вот ещё б придумать, как её загнать в сугубо внешнюю - поскольку ЗУП у нас нетронутая и такой и должна оставаться...
2. Алексей Константинов (alexk-is) 20.05.10 12:38
Текст модуля в тексте публикации можно было бы раскрасить и получше.
Inner Gear; +1 Ответить 1
3. Vladimir (Boroda) 20.05.10 16:29
А что, это актуально и для 2.5.24.2 (последний релиз)?
4. Inner Gear (Inner Gear) 22.05.10 08:05
(2) Спасибо, я как раз искал способ раскраски
5. Inner Gear (Inner Gear) 22.05.10 08:14
6. Inner Gear (Inner Gear) 22.05.10 08:44
(3) Исправили, но по-другому.

Вместо заполнения Скидки в регистре ЕСНДополнительныеНачисления они, при формировании проводок, берут скидки напрямую из регистра СтраховыеВзносыСведенияОДоходах

см. начало функции ПолучитьДанныеУчетаСтраховыхВзносов(...) в документе ОтражениеЗарплатыВРеглУчете.
7. Андрей Беляев (bals) 26.05.10 11:35
Спасибо! Как раз искал способ исправления!