Начисление наработки за максимальные трафики осуществляется дополнительно к основной тарификации модуля периодически в ручном режиме, либо, используя планировщик. В конфигурации модуля должны быть определены зависимости услуг, представляющих собой максимальные трафики, например:
max.traffic.74=39,40
В данном случае услуга с кодом 74 представляет собой максимум между услугами с кодами 39 и 40.
Начисление осуществляется по следующему алгоритму:
выбираются все договоры с разрешённой услугой типа "Максимальный трафик" за обсчитываемый месяц;
выбираются действующие у клиента тарифные планы в период действия услуги, получая наборы: договор - услуга - тариф - период;
для каждого пункта набора осуществляется тарификация, причём дата в тарифном запросе передаётся равной последнему дню набора.
Пример 14.11. Пример логики работы
Предположим что у нас есть договор Х, у которого с 3 сентября по 20 сентября разрешена услуга
. Предположим также, что в течении сентября у договора был с 1 по 10 сентября и с 11 по 30 сентября.В данном случае будут обсчитаны две позиции:
услуга
вычисленная на период с 1 по 10 по тарифууслуга
вычисленная на период с 11 по 30 по тарифуДля начисления максимальных трафиков можно использовать ручной режим, используя вкладку
модуля.Для автоматического начисления необходимо настроить задачу
в планировщике задач. В конфигурации задачи должно быть установлено:mid=<код модуля>
Как и обсчёт логов IPN, задача берет месяц, отнимая час от текущего времени. Это позволит вам обсчитать все трафики по окончанию месяца, если запуск задачи будет установлен на 0 часов 55 минут последующего месяца. При этом необходимо настроить сброс сессий пользователей на границе месяца.