Проверка правки параметра процесса

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

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

Класс скрипта указывается в типе процесса. Скрипт можно дополнить обработкой других событий процесса.

package ru.bgcrm.dyn.test;
 
import ru.bgcrm.event.Event;
import ru.bgcrm.event.ParamChangingEvent;
import ru.bgcrm.event.listener.DynamicEventListener;
import ru.bgcrm.model.BGException;
import ru.bgcrm.model.BGMessageException;
import ru.bgcrm.util.sql.ConnectionSet;
 
public class TestProcessor
	extends DynamicEventListener
{
	@Override
	public void notify( Event e, ConnectionSet connectionSet )
		throws BGException
	{
		//Connection con = connectionSet.getConnection();
 
		if( e instanceof ParamChangingEvent )
		{
			ParamChangingEvent changingEvent = (ParamChangingEvent)e;
 
			int paramId = changingEvent.getParameter().getId();
			if( paramId == 1 )
			{
				// событие, чтобы перечиталась карточка процесса
				changingEvent.getForm().getResponse().addEvent( new ru.bgcrm.event.client.ProcessChangedEvent( changingEvent.getObjectId() ) );
				throw new BGMessageException( "Этот параметр править нельзя!" );
			}
			else if( paramId == 2 )
			{
				changingEvent.getForm().getResponse().setMessage( "Можно править, но приходит сообщение!" );
			}
		}		
	}
}
Личные инструменты