При создании поинта модуля Phone добавление в него абонплат
Материал из BiTel WiKi
Версия от 08:47, 25 июня 2010; Admin (Обсуждение | вклад)
Довольно часто в каждом из поинтов модуля Phone должны присутствовать постоянные абонплаты. Чтобы не добавлять их вручную можно реализовать добавление скриптом поведения по событию Изменён поинт/правило. Версия биллинга 5.1 Коды модулей и перечень абонплат прописаны в константах после импортов.
import bitel.billing.common.*; import bitel.billing.server.util.*; import bitel.billing.server.phone.bean.*; import bitel.billing.server.npay.bean.*; int PHONE_MID = 3; int NPAY_MID = 2; int[] ABON_CODES = { 24 }; public void onEvent( event, setup, con, conSlave ) { if( !event.isCreate() ) { print( "It's update" ); return; } ClientItem item = event.getItem(); if( item.getType() == ClientItem.TYPE_RULE ) { print( "It's rule" ); return; } print( "Created point item: " + item.getId() ); ServiceObjectManager abonManager = new ServiceObjectManager( con, NPAY_MID ); for( int abon : ABON_CODES ) { ServiceObject serviceObject = new ServiceObject(); serviceObject.setContractId( item.getContractId() ); serviceObject.setServiceId( abon ); serviceObject.setEntityMid( PHONE_MID ); serviceObject.setEntityId( item.getId() ); serviceObject.setComment( "Назначена при создании" ); serviceObject.setCol( 1 ); serviceObject.setDate1( TimeUtils.convertCalendarToDate( item.getDate1() ) ); serviceObject.setDate2( TimeUtils.convertCalendarToDate( item.getDate2() ) ); abonManager.updateServiceObject( serviceObject ); print( "Add abon: " + abon ); } }