diff --git a/org.adempiere.base/src/org/adempiere/base/event/EventManager.java b/org.adempiere.base/src/org/adempiere/base/event/EventManager.java index e6d9838162..61a6a28a59 100644 --- a/org.adempiere.base/src/org/adempiere/base/event/EventManager.java +++ b/org.adempiere.base/src/org/adempiere/base/event/EventManager.java @@ -31,6 +31,7 @@ import java.util.stream.Collectors; import org.adempiere.base.BaseActivator; import org.adempiere.base.event.annotations.BaseEventHandler; +import org.compiere.model.PO; import org.compiere.util.CLogger; import org.compiere.util.Env; import org.compiere.util.Ini; @@ -332,8 +333,11 @@ public class EventManager implements IEventManager { } else { Map map = new HashMap(3); map.put(EventConstants.EVENT_TOPIC, topic); - if (data != null) + if (data != null) { map.put(EVENT_DATA, data); + if (data instanceof PO po) + map.put(TABLE_NAME_PROPERTY, po.get_TableName()); + } map.put(EVENT_ERROR_MESSAGES, new ArrayList()); if (copySessionContext) map.put(EVENT_CONTEXT, getCurrentSessionContext()); diff --git a/org.adempiere.base/src/org/compiere/process/DocActionEventData.java b/org.adempiere.base/src/org/compiere/process/DocActionEventData.java index 04ec90d2a1..4724a1531b 100644 --- a/org.adempiere.base/src/org/compiere/process/DocActionEventData.java +++ b/org.adempiere.base/src/org/compiere/process/DocActionEventData.java @@ -28,12 +28,13 @@ import java.util.ArrayList; import java.util.concurrent.atomic.AtomicInteger; import org.adempiere.base.event.IEventTopics; +import org.adempiere.base.event.POEventData; import org.compiere.model.PO; /** * Event data for {@link IEventTopics#DOCACTION}. */ -public class DocActionEventData { +public class DocActionEventData implements POEventData { public String docStatus; public Object processing; @@ -70,4 +71,9 @@ public class DocActionEventData { this.po = po; } + @Override + public PO getPo() { + return po; + } + }