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

"Хитрая"? абонплата
http://forum.bitel.ru/viewtopic.php?f=16&t=8062
Страница 1 из 1

Автор:  borisk [ 21 май 2013, 22:49 ]
Заголовок сообщения:  "Хитрая"? абонплата

Добрый день!

Возникла надобность в следующем режиме абонплаты. Абонплата за первый месяц создания договора должна сниматься пропорционально периода, в последующие месяцы - безусловно. Можно такое реализовать не прибегая к скриптам?

Автор:  Ildar [ 22 май 2013, 18:46 ]
Заголовок сообщения:  Re: "Хитрая"? абонплата

Вообщем, да.
Создайте тарифную опцию с режимом активации до конца месяца.
Вешайте ее при создании договора.
В тарифе проверяйте на опцию.

Автор:  borisk [ 22 май 2013, 20:47 ]
Заголовок сообщения:  Re: "Хитрая"? абонплата

В шаблоне, я смотрю, опцию повешать нельзя? То есть либо возложить эту работу на оператора, либо все же скрипт. Если скрипт - не подскажете какой event лучше обработать и чем воспользоваться для назначения опции на договор?

Автор:  Ildar [ 22 май 2013, 21:13 ]
Заголовок сообщения:  Re: "Хитрая"? абонплата

В "Функции скриптов поведения" добавьте ваш скрипт на событие "Договор создан".
В скрипте активируйте через ContractTariffOptionActivateManager.
Всего наилучшего.

Автор:  borisk [ 23 май 2013, 15:51 ]
Заголовок сообщения:  Re: "Хитрая"? абонплата

А вот тут загвоздка. В тарифной опции ведь нет "до конца месяца", там есть только на какой-то период начиная с....
И более того, activateOption требует ru.bitel.bgbilling.kernel.tariff.option.common.service.TariffOptionService, описания которого нет.
Есть примеры?

Автор:  Ildar [ 23 май 2013, 16:53 ]
Заголовок сообщения:  Re: "Хитрая"? абонплата

Да лучше сразу использовать TariffOptionService( метод contractTariffOptionActivate ).
В режиме активации выберите на 1 месяц округленно.

Вложения:
Снимок экрана 2013-05-22 в 18.42.58.png
Снимок экрана 2013-05-22 в 18.42.58.png [ 14.35 КБ | Просмотров: 5717 ]

Автор:  borisk [ 23 май 2013, 17:09 ]
Заголовок сообщения:  Re: "Хитрая"? абонплата

Так а где описание то? :) В той документации что на сайте я не нашел. Не дадите ссылку, может не туда смотрю?

Автор:  Ildar [ 23 май 2013, 18:49 ]
Заголовок сообщения:  Re: "Хитрая"? абонплата

Этот класс не попал до этого в доку :)
http://bgbilling.ru/v5.2/javadoc/ru/bit ... rvice.html

Автор:  borisk [ 23 май 2013, 21:23 ]
Заголовок сообщения:  Re: "Хитрая"? абонплата

Так это же интерфейс, а не класс? Его же нельзя напрямую использовать, да и:
onStatusChange.java:10: package ru.bitel.bgbilling.kernel.tariff.option.common does not exist onStatusChange.java 10 54

Автор:  Ildar [ 24 май 2013, 14:58 ]
Заголовок сообщения:  Re: "Хитрая"? абонплата

Технически, да. Но вы будете именно его использовать.
Вот так вот:
Код:
ServerContext.get(ServerContext.class).getService( TariffOptionService.class, 0 ).contractTariffOptionActivate( 23, 1, 1, false );

Автор:  borisk [ 24 май 2013, 16:02 ]
Заголовок сообщения:  Re: "Хитрая"? абонплата

А теперь еще небольшая загвоздка. Повесил активацию опции на bitel.billing.server.script.bean.event.ContractStatusChangingEvent.
Вот мой код обработчика события:
Код:
      ContractStatusChangingEvent   evt = (ContractStatusChangingEvent)event;

      ContractStatus   oldStatus = evt.getOriginalStatus();
      ContractStatus   newStatus = evt.getStatus();

      print("We are onStatusChange");
      print("Old Status: " + oldStatus.getStatus());
      print("New Status: " + newStatus.getStatus());


Выдает 0 и 0, хотя статус договора 5 меняется на 0. Где я еще напортачил?

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