forum.bitel.ru
http://forum.bitel.ru/

Режим активации учетного периода
http://forum.bitel.ru/viewtopic.php?f=19&t=13182
Страница 1 из 1

Автор:  shestakow1993 [ 12 янв 2019, 16:52 ]
Заголовок сообщения:  Режим активации учетного периода

Доброго времени суток.
В документации модуля inet 7.1 имеется такой момент.

Код:
# Режим активации учетного периода, если не используется скрипт на событие активации,
# 0 (по умолчанию) - активация со дня подключения (старта сессии), 1 - активация с начала месяца.
# Следует учитывать, что учетный период является второй величиной при вычислении пропорциональности
# в тарифной ветке "Диапазон трафика"
#accounting.period.activation.mode=0


Ранее использовался модуль DialUp учетные периоды выставлялись самописным скриптом активации, имеется ли возможность вообще отключить автоматическое выставление учетного периода? Или переписать логику выставления учетного периода?

Автор:  zavndw [ 12 янв 2019, 17:13 ]
Заголовок сообщения:  Re: Режим активации учетного периода

у вас же по тексту из документации и есть ответ
Цитата:
если не используется скрипт на событие активации

Вам вообще прописывать accounting.period.activation.mode не нужно. Сделайте скрипт и выставляйте период как требуется.

Автор:  shestakow1993 [ 18 мар 2019, 21:48 ]
Заголовок сообщения:  Re: Режим активации учетного периода

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

Автор:  shestakow1993 [ 18 мар 2019, 23:18 ]
Заголовок сообщения:  Re: Режим активации учетного периода

На просторах форума нашел пример скрипта на событие InetAccountingPeriodActivateEvent

Но что то не работает, как выставлялся период по умолчанию с момента активации , так и выставляется.

Код:
public class addCalculatePeriodCustom
        extends EventScriptBase<InetAccountingPeriodActivateEvent>
{

    @Override
    public void onEvent (InetAccountingPeriodActivateEvent event, Setup setup, ConnectionSet connectionSet )
            throws Exception
    {
        int cid = event.getContractId();       

        InetAccountingPeriod inetAccountingPeriod = new InetAccountingPeriod();
        inetAccountingPeriod.setContractId(cid);

        inetAccountingPeriod.setDateFrom(new Date());

        Calendar calendar = (Calendar)event.getTime().clone();
        calendar.add( Calendar.DATE, 30 );
        inetAccountingPeriod.setDateTo( calendar.getTime() );

        inetAccountingPeriod.setDateTo(TimeUtils.getNextDay( calendar.getTime() ));
        inetAccountingPeriod.setUserId(event.getUserId());

        event.setAccountingPeriod(inetAccountingPeriod);
    }

}


На договоре соответственно выставил скрипт поведения . в скриптах поведения привязал на событие МодульInet- запрос учетного периода.

Автор:  Amir [ 18 мар 2019, 23:25 ]
Заголовок сообщения:  Re: Режим активации учетного периода

Если скрипт берет активацию на себя, то должен быть вызов
event.setProcessed(true);

https://forum.bitel.ru/viewtopic.php?f= ... iod#p55425

Если период не с точностью до дней, а с точностью до секунд (т.е. период будет заканчиваться не в 23:59:59, а в любое указанное скриптом время), то также нужно вызвать
event.setUseSeconds(true);

Автор:  shestakow1993 [ 18 мар 2019, 23:26 ]
Заголовок сообщения:  Re: Режим активации учетного периода

О, как оперативно!!! Благодарю, сейчас попробую!!

Автор:  shestakow1993 [ 26 мар 2019, 07:45 ]
Заголовок сообщения:  Re: Режим активации учетного периода

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

Автор:  Amir [ 26 мар 2019, 16:34 ]
Заголовок сообщения:  Re: Режим активации учетного периода

Повесить обработку в скрипте "По умолчанию (применяется ко всем договорам)" и в обработке делать только event.setProcessed(true).
В планировщике использовать AccountingPeriodService (он бросает события об изменении учетного периода, которые слушают InetAccess/Accounting).

Автор:  shestakow1993 [ 31 мар 2019, 19:25 ]
Заголовок сообщения:  Re: Режим активации учетного периода

Спасибо!

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/