Проверка правки параметра процесса
Материал из 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( "Можно править, но приходит сообщение!" ); } } } }