Назначение модуля

Модуль предназначен для начисления наработки за периодические услуги (абонплаты).

Настройка модуля

Установите модуль на сервер. Затем создайте экземпляр модуля, назвав его произвольным образом (например, Мои абонплаты).

Определите в редакторе модулей и услуг услуги, связанные с этим модулем. Каждая абонентская плата - отдельная услуга. Для начала можете определить несколько тестовых услуг, скорректировав список впоследствии.

с версии 8.2101 вместо настройки режимов начисления абонплат в разных статусах с помощью параметров contract.status.suspend.codes= и service.no.suspend.<status_list>=<service_codes> рекомендуется использовать матрицу статусов (см. скриншот ниже). По умолчанию используется матрица, если хотите использовать параметры вместо матрицы, укажите параметр npay.service.status.mode=param

Создайте конфигурацию модуля:

# Статусы договора, в которых не начисляется абонентская плата
contract.status.suspend.codes=3,4
#
# Автоматическое переначисление абонентских плат договора при изменении их периода, количества, закрытие договора и т.п.
# 0 - выключить переначисление, 1 - включить переначисление, 2 - включить переначисление, но выполнять только для текущего месяца
recalculate.on.service.change=1
# E-Mail для отправки уведомлений об автоматическом переначислении при изменении абонплаты, если не указан - уведомление не высылается
#auto.recalculate.email=
# Набор услуг для переобсчета при автоматическом переначислении при изменении абонплаты, если не указан - все услуги
#auto.recalculate.email.service.set=
# Количество выводимых ошибок в периодических процессах
max.periodic.errors=30
#
#----------------------------------------
# Выборочное отключение проверки закрытого периода
# перенести абонплату на другой договор
#closed.date.disabled.ActionMovePay=1
# Начисление абонплат
#closed.date.disabled.ActionRecalculatePay=1
# Удаление абонплаты
#closed.date.disabled.ActionServiceObjectDelete=1
# Изменение абонплаты
#closed.date.disabled.ActionServiceObjectUpdate=1
# Перенести абонплату на другой договор с даты
#closed.date.disabled.ActionWrapPay=1
#----------------------------------------


Для исключения приостановки некоторых абонентских плат по статусу договора укажите в конфигурации:

# Абонплаты, на которые не влияет приостановка договора
service.no.suspend.<status_list>=<service_codes>

где:

Например, не приостанавливать в статусе 3 абонпалаты 9 и 36, по всем другим начисления не будет. В статусе 4 не приостанавливать только абонплату 9.

# абонплаты, на которые не влияет приостановка договора
service.no.suspend.3=9,39
service.no.suspend.4=9

Если в статусе 3 и 4 не нужно приостанавливать только абонплату 9, можно было бы записать так:


#абонплаты, на которые не влияет приостановка договора
service.no.suspend.3,4=9

На один статус договора не должно быть несколько записей.


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