BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 апр 2024, 03:08

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 11:36 
Не в сети

Зарегистрирован: 29 апр 2013, 13:31
Сообщения: 13
Карма: 0
Добрый день. Установил тестовую версию. Пытаюсь разобраться.
Задача следующая: Компания обслуживает 100 клиентов, у каждого клиента разное количество, например, компьютеров.
Из месяца в месяц количество обслуживаемых компьютеров у клиента может уменьшаться или увеличиваться.
С клиента взымается абонплата, по 500 рублей в месяц за каждый компьютер. Ситуация как видим простая.

Как сделать чтобы 1-го числа каждого месяца со счета клиента снималась абонплата равная количеству компов на начало месяца * 500 ?

1. Создал пару тестовых договоров
2. Установил модуль Npay, создал на его основе свой модуль "Абонплата", прописал в нем услугу "Обслуживание компьютеров", ед. измерения - штука
3. В справочниках создал тарифный план - "500 рублей в месяц", в управлении поддеревом создал новое поддерево для модуля "Абонплата", далее в нем создал услугу "Обслуживание компьютеров" с помесячным режимом снятия и стоимостью 500 рублей.
4. В договоре в список модулей добавил модуль "Абонплата", далее добавил тарифный план с тарифом "500 рублей в месяц", и модулем "Абонплата".

Как проверить, что абонентская плата списывается не знаю..
Хочу привязать количество компьютеров к Объектам договора, но не знаю как правильно сделать.

Надеюсь на помощь!

Server 5.2: CentOS
Client 5.2: Windows Vista
Npay: 5.2
JDK: 1.7


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 11:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Шедулер стоит и включен?
Если да - запустите через модуль NPAY начисление.
В договоре в модуле Абонплат добавили услугу идентичную той что прописана в тарифном плане?

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 12:54 
Не в сети

Зарегистрирован: 29 апр 2013, 13:31
Сообщения: 13
Карма: 0
шедулер включен, вбил е-маил и запустил начисление, пообещали прислать на е-маил.
да, в договоре в модуле Абонплата проставлена услуга, количество - 1;

То есть при подключении или отключении нового компьютера на обслуживание, надо менять количество в услуге ?

похоже ошибка при отправке письма:
04-30/13:47:47 INFO [pool-1-thread-2] Calculator - Setting balances for independ and subs..
04-30/13:47:47 INFO [pool-1-thread-2] Calculator - Selected.
04-30/13:47:47 INFO [pool-1-thread-2] Calculator - Selecting sub account
04-30/13:47:47 INFO [pool-1-thread-2] Calculator - Selected.
04-30/13:47:47 INFO [pool-1-thread-2] Calculator - Setting balance for super..
04-30/13:47:47 INFO [pool-1-thread-2] Calculator - Selected.
04-30/13:47:47 INFO [pool-1-thread-2] Calculator - Task finished time=840 ms.
04-30/13:47:47 ERROR [pool-1-thread-2] LoggingPrintStream - java.lang.NullPointerException
04-30/13:47:47 ERROR [pool-1-thread-2] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:151)
04-30/13:47:47 ERROR [pool-1-thread-2] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:113)
04-30/13:47:47 ERROR [pool-1-thread-2] LoggingPrintStream - at bitel.billing.server.npay.Recalculator.executeTask(Recalculator.java:69)
04-30/13:47:47 ERROR [pool-1-thread-2] LoggingPrintStream - at bitel.billing.server.task.bean.RunTask.run(RunTask.java:41)
04-30/13:47:47 ERROR [pool-1-thread-2] LoggingPrintStream - at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
04-30/13:47:47 ERROR [pool-1-thread-2] LoggingPrintStream - at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
04-30/13:47:47 ERROR [pool-1-thread-2] LoggingPrintStream - at java.lang.Thread.run(Unknown Source)
04-30/13:47:47 INFO [pool-1-thread-2] Recalculator - RunTask finished time=843 ms


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 13:08 
Не в сети

Зарегистрирован: 29 апр 2013, 13:31
Сообщения: 13
Карма: 0
хотим интегрировать биллинг с уже существующим кабинетом клиента, посредством api..
подключение новых компов или отключение существующих происходит в личном кабинете...

мне бы по хорошему сделать "Абонплаты, пропорциональные количеству телефонов и логинов" - только вместо телефонов и логинов, количество компов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 13:16 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
http://bgbilling.ru/v5.2/doc/ch22s04s04.html

Но помоему будет лучше через объекты договора. И к каждому объекту привязывать абонплату.
Т.е. если у вас добавляется объект - сразу добавляется еще одна услуга абонплаты.

А в наработке что нибудь появилось?

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 13:23 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Если менять количество, то не будут периоды учитываться.
Если учитывать периоды, то для 100 компов нужно делать 100 абонплат с количеством 1.
Либо писать скрипты и делать через RSCM.
Либо, если количество компов меняется раз в месяц, закрывать концом предыдущего абопнлату с количеством 100 и открывать с 1 числа текущего абонплату с количеством 101.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 13:25 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
У нас для доменов делается на каждый домен по абонплате, в комментарии пишется доменное имя.
Но там годовые абонплаты, не помесячные, и они нечасто меняются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 13:35 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Cromeshnic писал(а):
Либо писать скрипты и делать через RSCM.

А зачем RSCM? Не проще через объекты разве?
например добавление абонплаты при добавлении объекта (на событие добавление объекта).
Код:
import bitel.billing.server.util.*;
import bitel.billing.server.contract.object.bean.*;
import bitel.billing.server.npay.bean.*;
import bitel.billing.common.*;
import java.util.*;

public void onEvent( event, setup, con, conSlave )
{
   int phObjTypeId = 3; //ID объекта
   int abonPlata = 114; //ID услуги абонплаты
   int NPAY_MID = 3; //ID модуля абонплат
   
   object = event.getContractObject();
   cid = event.getContractId();
   ObjectManager om = new ObjectManager( con );
   ServiceObjectManager som = new ServiceObjectManager( con, NPAY_MID );
   
   if(object.getTypeId() == phObjTypeId)
   {
      ServiceObject srv = new ServiceObject();
         srv.setContractId( cid );
         srv.setServiceId( abonPlata );
         srv.setDate1( TimeUtils.convertCalendarToDate(object.getDate1() ));
         srv.setObjectId( object.getId() );
      som.updateServiceObject( srv );
   }
}

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 13:54 
Не в сети

Зарегистрирован: 29 апр 2013, 13:31
Сообщения: 13
Карма: 0
По хорошему, если комп принят на обслуживание в середине месяца, надо произвести списание со счета 250 рублей, либо сразу, либо в начале следующего месяца..

То есть, я так понял, через объекты это можно сделать, просто при добавлении объекта, автоматом через скрипт будет привязываться абонплата ?

Не могу сохранить услугу в Объекте в модуле Абонплата.. нету кнопки применить и т.д., при следующем входе окошко опять пустое..


Вложения:
Комментарий к файлу: при следующем запуске опять пустое
ab2.png
ab2.png [ 54.59 КБ | Просмотров: 5485 ]
Комментарий к файлу: добавил услугу
ab.png
ab.png [ 63.65 КБ | Просмотров: 5485 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 13:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Не привязывайте через сам объект. Это абсолютно неинформативно. Пока внутрь объекта не зайдешь - абонплату не увидишь.
Привязывайте через модуль абонплат внизу есть выбор объекта.
Скрипт выше - автоматом при добавлении объекта добавляет абонплату и привязывает к объекту.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 15:10 
Не в сети

Зарегистрирован: 29 апр 2013, 13:31
Сообщения: 13
Карма: 0
да, спасибо, удалось создать парочку объектов и привязать абонентскую плату.

А когда клиент захочет отключить обслуживание одного компа на пару месяцев, нужно удалить услугу по этому объекту в модуле Абонентской платы или же как-то можно завязаться на состояние объекта ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 16:58 
Не в сети

Зарегистрирован: 29 апр 2013, 13:31
Сообщения: 13
Карма: 0
Phricker, подскажите, как запустить ваш скрипт, и привязать к событию ? Почитал документацию, ничего не понял..
Это будет динамический код ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться.
СообщениеДобавлено: 30 апр 2013, 17:11 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Это не динкод. Скрипт на BGBS. Но переписать его на динкод при желании не возникнет особых проблем :)
http://bgbilling.ru/v5.2/doc/ch02s03s04.html

Добавляется к договору вот так
http://bgbilling.ru/v5.2/doc/ch02s03s05.html

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.078s | 46 Queries | GZIP : On ]