Режим дебетовых абонплат позволяет изменять статус дебетовых договоров в случае, если начисление им абонентской платы может привести к опусканию остатка меньше лимита. Режим применяется только к договорам с режимом Дебет. Режим включается в конфигурации экземпляра модуля следующим образом.
debet.npay.status.manage=1 #Коды активных статусов договоров через запятую debet.npay.active.status=0 #Коды заблокированных статусов договоров через запятую debet.npay.locked.status=3 #Правила перехода статусов, если не указана, от переводит на первый статус активного или заблокированного статуса соответственно. #debet.npay.status.rule=0:3,3:0,4:1,1:4 #Коды групп, для которых применяется режим; через запятую #debet.npay.status.manage.groups= #Коды меток, для которых применяется режим; через запятую #debet.npay.status.manage.label.ids= #Коды тарифных планов; через запятую. #При указании параметра блокировка осуществляется только, если на дату блокировки в договоре стоит один из указанных тарифов #debet.npay.status.manage.tariff.ids= #Учитываемый в дебетовых абонплатах набор услуг (если не указан, считается, что после разблокировки будут начислены все услуги из полного набора) #debet.npay.service.set= #сумма на балансе, для которой возможна разблокировка #debet.npay.unlock.balance.limit=0 #при открытии статуса супердоговора открывать статусы зависимых договоров(1-открывать, 0 - не открывать). debet.npay.processDependentSub=0 #Проверять увеличение наработки, при закрытии договоров (0 - позволяет отключать договора с отрицательным балансом независимо от увеличения наработки по абонплате) check.account.changed=1
Закрытие статусов договоров производится задачей планировщика Закрытие статуса NPay договоров по балансу, запуск которой должен осуществляться в начале суток до переобсчёта абонентских плат.
Для каждого активного договора оценивается сумма начислений абонентских плат при тарификации до текущих суток. Оценивается уже начисленная договору наработка за абонентские платы. В случае, если уже начисленная наработка более или равна планируемой к начислению, не выполняется никаких действий. В случае, если планируемая к начислению наработка больше уже начисленной и её начисление приведёт к понижению баланса договора ниже лимита, то статус договора меняется на определённый в переменной конфигурации debet.npay.locked.status.
При подневном начислении абонентских плат до текущего дня блокировка будет производится с начала любых суток. При подневном начислении до конца месяца, либо помесячном режиме начисления блокировка возможна только в начале месяца перед первым начислением. Для супердоговоров оценивается их совместная наработка со всеми зависимыми субдоговорами.
Перевод договора в активный статус, указанный в переменной debet.npay.active.status, происходит при обновлении баланса(платеж, расход, наработка) или изменении лимита, когда остаток баланса позволяет открыть договор от текущей даты, начислить ему абонентскую плату и баланс при этом не должен опуститься ниже лимита. Минимально необходимая для открытия сумма платежа должна отображаться в дереве карточки договора напротив экземпляра модуля NPay.
При приходе платежа и открытии договора производится переначисление абонентских плат до текущей даты с учётом нового статуса.