При создании поинта модуля Phone добавление в него абонплат

Материал из BiTel WiKi

Перейти к: навигация, поиск

Довольно часто в каждом из поинтов модуля 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 );
	}
}
Личные инструменты