Почтовый сбор при пересылке алиментов
- Описание
- Подробнее
Описание
В стандартной конфигурации ЗиК неправильно рассчитывается «Почтовый сбор при пересылке алиментов». Правильный модуль вида расчета ПочтовыйСбор :
Процедура ПровестиРасчет()
// если запись исправлена или фиксирована, то ее не рассчитываем
Если (Исправлена=1) или (Фиксирована=1) Тогда
глСообщениеТрассировки(глСообщенияТрассировки, «» + ?(Исправлена=1,«Результат записи исправлен вручную»,«Запись фиксирована») + «. Расчет не проводился.», , 1);
Возврат
КонецЕсли;
ЖурналРасчетовЗарплата = СоздатьОбъект(«ЖурналРасчетов.Зарплата»);
ЖурналРасчетовЗарплата.ВыбратьЗаписиПоОбъекту(Объект,ДатаНачала,ДатаОкончания);
Пока ЖурналРасчетовЗарплата.ПолучитьЗапись()=1 Цикл
Если (ЖурналРасчетовЗарплата.ВидРасч=ВидРасчета.УдержаниеПоИсполнительномуЛисту)
и (ЖурналРасчетовЗарплата.Документ=Документ) Тогда
// Почтовый сбор при пересылке алиментов исчисляется за каждый
// полный или не полный рубль по исполнительному листу
СуммаПоИспЛисту = ЖурналРасчетовЗарплата.Результат;
Если (СуммаПоИспЛисту <= 1000) и (СуммаПоИспЛисту > 0) тогда
Результат = 25 + СуммаПоИспЛисту*0.05;
ИначеЕсли (СуммаПоИспЛисту > 1000) и (СуммаПоИспЛисту <= 5000) тогда
Результат = 75 + (СуммаПоИспЛисту — 1000)*0.04;
ИначеЕсли (СуммаПоИспЛисту > 5000) и (СуммаПоИспЛисту <= 20000) тогда
Результат = 235 + (СуммаПоИспЛисту — 5000)*0.02;
ИначеЕсли (СуммаПоИспЛисту > 20000) и (СуммаПоИспЛисту <= 500000) тогда
Результат = 535 + (СуммаПоИспЛисту — 20000)*0.01;
КонецЕсли;
Прервать;
КонецЕсли;
КонецЦикла;
РасшифСуммаПоИспЛисту = Окр(СуммаПоИспЛисту);
глСообщениеТрассировки(глСообщенияТрассировки, «Почтовый сбор при пересылке алиментов исчисляется от суммы удержания: _П01», 0, 1, РасшифСуммаПоИспЛисту, «Ч15»);
глСообщениеТрассировки(глСообщенияТрассировки, «Процент исчисления почтового сбора для перечисления алиментов: _П01», 0, 0, Документ.ПроцентПочтовогоСбора, «Ч5.2»);
глСообщениеТрассировки(глСообщенияТрассировки, «Сумма почтового сбора по исполнительному документу составила: _П01», 0, 0, Результат, «Ч15.2»);
КонецПроцедуры // ПровестиРасчет

