Расчет неустойки за просроченные ОД и %%

Больше
03 июнь 2014 16:21 #1 от shumamura
COM_KUNENA_MESSAGE_CREATED_NEW
Приветствую. У кого Бисквит и не реализован расчет пеней и штрафов за ОД и %% по параметров договоров, просьба поделиться, как вы делаете расчет задолженности по КД для подачи иска в суд? что-то никак не получается с алгоритмом расчета... создал тему тут - www.cyberforum.ru/algorithms/thread1186994.html но все глухо. может у кого-то есть свои наработки?
Почему не далаем - у нас 70-80%% операции списания и начисления пеней не привязаны к КД. в принципе я пытался заводить в условия ставки для расчета пеней, и он что-то рассчитывает, но чтобы это привести в порядок потребуется не 1 или 2 месяца... На новых договорах мы это используем.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
04 июнь 2014 09:48 - 04 июнь 2014 10:06 #2 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
Штрафы обычно рассчитывают по примерно следующему алгоритму:
1. формируются периоды примерно так: Допустим клиент вышел на просрочку и задолжал 10 000 10.01.2014, а 15.01.2014 он погасил просрочку частично 4 тыс, а 10.02.2014 ему еще вынесли на просрочку 10 000 (плановый платеж) и допустим что сегодня у нас 20.02.2014.
Периодкол-во днейШтр %Задолженность
10.01.2014 - 15.01.201441210 000
15.01.2014 - 10.02.201425126 000
10.02.2014 -20.02.201491216 000

Далее каждый период рассчитывается по формуле: ШТРАФ = <долг> * % * <кол-во дней> / <дней в году>

По процентом та же схема.

Что касается алгоритма, то примерно так:

DEF TEMP-TABLE tt-date NO-UNDO
  FIELD mdate AS DATE 
  INDEX mdate IS PRIMARY mdate

DEF BUFFER xtt-date FOR tt-date.

FOR EACH loan-int WHERE loan-int.cont-code EQ loan.cont-code
                    AND loan-int.contract  EQ loan.contract
                    AND loan-int.mdate     < iDate
                    AND ((loan-int.id-d    EQ 7)
                     OR (loan-int.id-k     EQ 7))
                    AND loan-int.avt       EQ NO                
                  NO-LOCK:

   FIND FIRST tt-date WHERE tt-date.mdate EQ loan-int.mdate
                      NO-LOCK NO-ERROR.

   IF NOT AVAIL tt-date THEN 
   DO:
      CREATE tt-date.
         tt-date.mdate = loan-int.mdate. 
   END.

END.

FOR EACH tt-date:

    mbegDate = tt-date.mdate. 

    FIND FIRST xtt-date WHERE xtt-date.mdate > mbegDate NO-LOCK NO-ERROR.    
    IF AVAIL xtt-date THEN mendDate = xtt-date.mdate.

     .......

END.
Last edit: 04 июнь 2014 10:06 by alex_sar.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
04 июнь 2014 10:59 - 04 июнь 2014 11:03 #3 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW
этот алгоритм подходит для физлиц, где долги суммируются(т.е. 20.02.2014 берется общий долг) на отдельно. наши экономисты по юрлицам расчитывают так, что каждый выход на просрочку считается отдельно дло момента его полного погашения... и значение Штр% берут с момента выхода на просрочку и до погашения не меняется...
15.01.2014 - 20.02.2014 35 12 6 000
10.02.2014 -20.02.2014 9 12 10 000
Last edit: 04 июнь 2014 11:03 by shumamura. Причина: дополнение информации
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.210 секунд
Вы здесь: Главная Форум Программирование Программирование - ИБС "Бисквит" Расчет неустойки за просроченные ОД и %%