forum.bitel.ru http://forum.bitel.ru/ |
|
Помогите разобраться. http://forum.bitel.ru/viewtopic.php?f=16&t=8002 |
Страница 1 из 1 |
Автор: | falkao [ 30 апр 2013, 11:36 ] |
Заголовок сообщения: | Помогите разобраться. |
Добрый день. Установил тестовую версию. Пытаюсь разобраться. Задача следующая: Компания обслуживает 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 |
Автор: | Phricker [ 30 апр 2013, 11:38 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
Шедулер стоит и включен? Если да - запустите через модуль NPAY начисление. В договоре в модуле Абонплат добавили услугу идентичную той что прописана в тарифном плане? |
Автор: | falkao [ 30 апр 2013, 12:54 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
шедулер включен, вбил е-маил и запустил начисление, пообещали прислать на е-маил. да, в договоре в модуле Абонплата проставлена услуга, количество - 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 |
Автор: | falkao [ 30 апр 2013, 13:08 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
хотим интегрировать биллинг с уже существующим кабинетом клиента, посредством api.. подключение новых компов или отключение существующих происходит в личном кабинете... мне бы по хорошему сделать "Абонплаты, пропорциональные количеству телефонов и логинов" - только вместо телефонов и логинов, количество компов. |
Автор: | Phricker [ 30 апр 2013, 13:16 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
http://bgbilling.ru/v5.2/doc/ch22s04s04.html Но помоему будет лучше через объекты договора. И к каждому объекту привязывать абонплату. Т.е. если у вас добавляется объект - сразу добавляется еще одна услуга абонплаты. А в наработке что нибудь появилось? |
Автор: | Cromeshnic [ 30 апр 2013, 13:23 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
Если менять количество, то не будут периоды учитываться. Если учитывать периоды, то для 100 компов нужно делать 100 абонплат с количеством 1. Либо писать скрипты и делать через RSCM. Либо, если количество компов меняется раз в месяц, закрывать концом предыдущего абопнлату с количеством 100 и открывать с 1 числа текущего абонплату с количеством 101. |
Автор: | Cromeshnic [ 30 апр 2013, 13:25 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
У нас для доменов делается на каждый домен по абонплате, в комментарии пишется доменное имя. Но там годовые абонплаты, не помесячные, и они нечасто меняются. |
Автор: | Phricker [ 30 апр 2013, 13:35 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
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 ); } } |
Автор: | Phricker [ 30 апр 2013, 13:57 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
Не привязывайте через сам объект. Это абсолютно неинформативно. Пока внутрь объекта не зайдешь - абонплату не увидишь. Привязывайте через модуль абонплат внизу есть выбор объекта. Скрипт выше - автоматом при добавлении объекта добавляет абонплату и привязывает к объекту. |
Автор: | falkao [ 30 апр 2013, 15:10 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
да, спасибо, удалось создать парочку объектов и привязать абонентскую плату. А когда клиент захочет отключить обслуживание одного компа на пару месяцев, нужно удалить услугу по этому объекту в модуле Абонентской платы или же как-то можно завязаться на состояние объекта ? |
Автор: | falkao [ 30 апр 2013, 16:58 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
Phricker, подскажите, как запустить ваш скрипт, и привязать к событию ? Почитал документацию, ничего не понял.. Это будет динамический код ? |
Автор: | Phricker [ 30 апр 2013, 17:11 ] |
Заголовок сообщения: | Re: Помогите разобраться. |
Это не динкод. Скрипт на BGBS. Но переписать его на динкод при желании не возникнет особых проблем ![]() http://bgbilling.ru/v5.2/doc/ch02s03s04.html Добавляется к договору вот так http://bgbilling.ru/v5.2/doc/ch02s03s05.html |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |