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 );
   }
}

Автор:  falkao [ 30 апр 2013, 13:54 ]
Заголовок сообщения:  Re: Помогите разобраться.

По хорошему, если комп принят на обслуживание в середине месяца, надо произвести списание со счета 250 рублей, либо сразу, либо в начале следующего месяца..

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

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

Вложения:
Комментарий к файлу: при следующем запуске опять пустое
ab2.png
ab2.png [ 54.59 КБ | Просмотров: 6660 ]
Комментарий к файлу: добавил услугу
ab.png
ab.png [ 63.65 КБ | Просмотров: 6660 ]

Автор:  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/