... h1. Настройки Биллинг позволяет начислять штрафы при просрочке сроков погашения задолженности. h6. Задача 1. В случае, если абонент ушел в минус начислять дополнительные списания по услуге, у которой отключена опция "Не списывать, если недостаточно средств, и деактивировать услугу", т.е. списания будут идти итак в минус, но плюс к этим списаниям будут добавляться штрафы за просроченное погашения долга. Пени должны начисляться ежедневно. h6. Алгоритм: 1) Необходимо в услуге, на которую должны распространяться пени, на вкладке *"Дополнительно"* отключить опцию *"Не списывать, если недостаточно средств, и деактивировать услугу"*, !Peni2.png|border=1! 2) На вкладке *Пени*: \-Включаем галочку "Использовать систему пени" \-В поле "Начислять пени с n дня просрочки" ставим 1 \-В поле "Обьем пени (%)" ставим 1 \-Услуга дожна быть с ежедневным списанием !Peni.png|border=1! 3) Добавить услугу в необходимый тариф {info} Система пени работает только на те списания, которые идут в минус, поэтому у услуги обязательно должна быть выключенной опция *"Не списывать, если недостаточно средств, и деактивировать услугу"*.{info} {warning}*Внимание!* Сумма начисленных пени никогда не превысит задолженность!{warning} h1. Алгоритм работы. Предположим, услуга имеет тип списания "Ежемесячно, равными долями в день" и стоимость 150 рублей. В услуги выбрана сумма пени 2 процента и начисления идут с первого дня блокировки. В текущем месяце 30 дней и абонент был заблокирован 1 числа. Каждый день по услуге будет начисляться абонентская плата, равная 5 рублям и дополнительно к этой плате будет начисляться сумма пени, которая равна *Сумме всех списаний по услуге, с момента блокировки*, умноженная на количество процентов. Таким образом сумма пени на 1 день блокировки = 0.15(5*0.03), на 2 день блокировки = 0.3(10*.0.3), на 3 день блокировки=0.45(15*0.03), т.е. в числителе сумма только по списаниям самой услуги(без учета списаний по услуге пени). h6. Скрипт для рассчета суммы пени. Вы можете рассчитать необходимый процент пени с помощью скрипта, приведенного ниже. Для этого необходимо: 1) Зайти в {code}chroot /app/asr_billing/{code} 2) Создать файл любым удобным текстовым редактором. В пример используется vim: {code} vim /root/peni.py {code} 3) Добавить в файл следующие строки и сохранить: {Warning} *Примечание:* Отступы в файле имеют ключевое значение. Если отступов не будет - программа не запустится {Warning} {code} #! /usr/bin/env python # -*- coding: utf-8 -*- usluga=long(input('Введите сумму услуги ')) days=long(input('Введите количество дней блокировки ')) peni_proc=long(input('Введите процент пени ')) days_in_month=long(input('Введите количество дней в месяце ')) usluga_per_day=usluga/days_in_month peni_sum=0 usluga_sum=0 for i in range(days): usluga_sum+=usluga_per_day peni_sum+=(usluga_sum*peni_proc/100) all_summ=usluga_sum+peni_sum print'Сумма списания по услуге равна', usluga_sum print'Сумма всех пени равна', peni_sum
|