7. Дебетовые абонплаты

Режим дебетовых абонплат позволяет изменять статус дебетовых договоров в случае, если начисление им абонентской платы может привести к опусканию остатка меньше лимита. Режим применяется только к договорам с режимом Дебет. Режим включается в конфигурации экземпляра модуля следующим образом.

debet.npay.status.manage=1
#Код активного статуса договора
debet.npay.active.status=0
#Код заблокированного статуса договора
debet.npay.locked.status=3
#Коды групп, для которых применяется режим; через запятую
#debet.npay.status.manage.groups=
#Коды тарифных планов; через запятую.
#При указании параметра блокировка осуществляется только, если на дату блокировки в договоре стоит один из указанных тарифов
#debet.npay.status.manage.tariff.ids=
#Учитываемый в дебетовых абонплатах набор услуг (если не указан, считается, что после разблокировки будут начислены все услуги из полного набора)
#debet.npay.service.set=
#сумма на балансе, для которой возможна разблокировка
#debet.npay.unlock.balance.limit=0

Закрытие статусов договоров производится задачей планировщика Закрытие статуса NPay договоров по балансу, запуск которой должен осуществляться в начале суток до переобсчёта абонентских плат. В конфигурации задачи указывается:

mid=<mid>

Где <mid> - код экземпляра модуля NPay.

Для каждого активного договора оценивается сумма начислений абонентских плат при тарификации до текущих суток. Оценивается уже начисленная договору наработка за абонентские платы. В случае, если уже начисленная наработка более или равна планируемой к начислению, не выполняется никаких действий. В случае, если планируемая к начислению наработка больше уже начисленной и её начисление приведёт к понижению баланса договора ниже лимита, то статус договора меняется на определённый в переменной конфигурации debet.npay.locked.status.

При подневном начислении абонентских плат до текущего дня блокировка будет производится с начала любых суток. При подневном начислении до конца месяца, либо помесячном режиме начисления блокировка возможна только в начале месяца перед первым начислением. Для супердоговоров оценивается их совместная наработка со всеми зависимыми субдоговорами.

Перевод договора в активный статус, указанный в переменной debet.npay.active.status, происходит по платежу тогда, когда остаток баланса позволяет открыть договор от текущей даты, начислить ему абонентскую плату и баланс при этом не должен опуститься ниже лимита. Минимально необходимая для открытия сумма платежа должна отображаться в дереве карточки договора напротив экземпляра модуля NPay.

При приходе платежа и открытии договора производится переначисление абонентских плат до текущей даты с учётом нового статуса.