6. Начисление

Использование наборов услуг позволяет группировать абонплаты по времени снятия. Например, если необходимо чтобы фиксированные абонплаты с кодами 3,4 и 5 снимались в начале месяца, а Доводящая абонплата с кодом 18 снималась в конце месяца, то создаются 2 набора услуг в конфигурации модуля.

service.set.1.title=Абонплаты конца месяца
service.set.1.sids=18
service.set.2.title=Абонплаты начала месяца
service.set.2.sids=3,4,5

Набор услуг может быть также задан как полный перечень услуг модуля за исключением некоторых наборов услуг. Например:

service.set.3.title=Абонплаты, за исключением абонплат начала и конца месяца.
service.set.3.sids=-{2,3}

В модуле всегда определён набор услуг Полный набор услуг, содержащий в себе все услуги модуля. Он используется, если все абонплаты снимаются единовременно.

Начисление может быть произведено в автоматическом и ручном режиме. В ручном режиме необходимо на вкладке Начисление модуля выбрать обсчитываемый месяц и запустить обсчёт. При этом возможно выбрать набор услуг модуля, на которые производятся начисления. В случае, если начисление было произведено ошибочно, возможно очистить наработку, при этом также используется набор услуг.

Задачу начисления выполняет процесс планировщика, он должен быть запущен.

В автоматическом - в планировщике заданий необходимо добавить задачу Начисление Npay абонплат.

Периодичность запуска задачи определяется требуемой частотой обновления объёма абонплаты. В конфигурации задачи должно быть указано:

mid=<код модуля npay>

При необходимости в конфигурации может быть явно указан набор услуг:

service.set=<код набора услуг>

Если он не указан, используется Полный набор услуг. С использованием наборов услуг возможна настройка снятия различных абонплат в разное время. Необходимо учитывать, что при отработке задачи начисления берётся час, предшествующий текущему. Это даёт возможность снимать абонплату в конце месяца, установив запуск задачи на 0 часов последующего месяца. Данная особенность может мешать произвести съём абонплат при подневном режиме снятия ранее, чем первый час новых суток. При запуске задачи в 0 часов абонплаты будут начислены лишь по предыдущие сутки. Для отключения перевода часа назад добавьте в конфигурации задачи опцию:

hour.minus=0