Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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

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

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

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

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

Конфигурация
# Статусы договора, в которых не начисляется абонентская плата
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
# Подмена абонплаты другой услугой на период определённого статуса
#wrap.service=
#
#----------------------------------------
# Выборочное отключение проверки закрытого периода
# перенести абонплату на другой договор
#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>

где:

  • <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

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

C помощью опции wrap.service возможно указание абонплат, замещающих другие абонплаты на период определённого статуса.

wrap.service.<status_list>=<service_codes>

где:

  • <status_list> - код статусов договора через запятую;
  • <service_codes> - пары кодов услуг договора через запятую.

Услуги указываются парами. В каждой паре первой указывается закрываемая услуга, далее двоеточие и услуга, её заменяющая. Замещающая услуга должна быть указанна как не останавливаемая с помощью опций, перечисленных в предыдущем абзаце. Ниже приведён пример замены в статусе 3 79 услуги на 120 а 81 на 123.

wrap.service.3=79:120;81:123
service.no.suspend.3=120,123

Стоимость услуги-заместителя в тарифном плане должна располагаться ниже стоимости замещаемой услуги. Функционал имеет смысл только для месячного пропорционального и подневного режимов снятия замещаемой услуги и необходим для разделения наработки, начисляемой клиентам с активным статусом и закрытым статусом по различным услугам.

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

  • No labels