Интересный пример: Расчет от чистого

Автор Сообщение
REBUS
Заслуженный форумщик

Зарегистрирован: 07.12.2005
Сообщения: 87
Откуда: Астана

Добавлено: 11.04.2006 11:27 Заголовок сообщения: Интересный пример: Расчет от чистого
Привет всем!

Есть такая задача: правильно рассчитать расчет «от чистого» в Scala 5.1 модуль Зарплата:

Пример по зарплате (условно:ТЗ и цифры),
т.е. Сначала считается зарплата до выплат «чистыми»
Схема A:
ТЗ Наименование Сумма
010001 Оклад 100,000
Итого начислено 100,000
600001 Пенсионный -10,000
600002 Подоходный -5,000
Итого удержано -15,000
Итого к выплате 85,000
Теперь этому работнику отразить сумму 20,000 (подарки),
Которую он должен получить «чистыми» — без налога и пенсионного.

Которую нужно отразить примерно так

Схема B:
ТЗ Наименование Сумма
010001 Оклад 100,000
020001 Подарки 20,000
030001 Расчет от чистого 3,000
Итого начислено 123,000
600001 Пенсионный -12,300
600002 Подоходный -5,700
Итого удержано -18,000
Итого к выплате 105,000

Задача такая: расчитать сумму ТЗ 030001 (3,000)
— как можно большой точностью.

Константы:
1) все что начислено(оклад, премия, районныый коээфт и др.)
В примере схемы A — 010001 Оклад 100,000;
2) Итого к выплате должно быть: 85,000+20,000 = 105,000
3) АЛГОРИТМ расчета пенсионных и налога

Менятся может подоходный налог и пенсионный,
т.к. они накручиваются на все, что начислено (оклад,подарки,расчет от чистого)

А также необходимая сумма 030001 «Расчет от чистого».

Как это можно реализовать в Scala?
_________________
Rebus

Игорь Голиков
Главный форумщик

Зарегистрирован: 21.09.2004
Сообщения: 284
Откуда: Свято-Петроград

Добавлено: 14.04.2006 13:40 Заголовок сообщения:
Если я правильно понял Ваш пример, то отчисления в ПФ и ПН производятся по плоской шкале 10% и 5% соответственно. Тогда:

1. У Вас в схеме В ошибка: ПН 5% от 123000 будет 6150, а не 5700

2. Сумма от чистого должна быть Д=А*П/(100-П), где Д — доплата до «чистого», А — чистая сумма, П — процент отчислений. Если, как в Вашем примере П=15, А=20000, то Д=3529.4117647058823529411764705882 (вы просили с «как можно большой точностью»), округленно до копеек это будет 3529.41

Схема B1:
ТЗ Наименование Сумма
010001 Оклад 100,000
020001 Подарки 20,000
030001 Расчет от чистого 3,529.41
Итого начислено 123,529.41
600001 Пенсионный — 12,352.94
600002 Подоходный — 6,176.47
Итого удержано -18,529.41
Итого к выплате 105,000