Hi Acumatica Community,
I’m working on a customization for the Shipments screen (SO302000) and could use some help or insights.
I’ve added a custom field under the Shipping tab that stores special notes (UsrNotes). The goal is:
If this field contains a value, I want a popup message to appear when the shipment record is accessed.
I’m using PopupNoteManager.Message inside the RowSelected event. It works mostly as expected. However, I noticed that when I navigate to a new blank record (e.g., using the navigation arrows or Add New), the popup still appears—even though it shouldn’t.
Here’s a simplified version of my code:
private bool _prompted = false;
protected void SOShipment_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler)
{
if (InvokeBaseHandler != null)
InvokeBaseHandler(cache, e);
var row = (SOShipment)e.Row;
if (row == null || _prompted || Base.IsContractBasedAPI || Base.IsImport) return;
var ext = PXCache<SOShipment>.GetExtension<SOShipmentExt>(row);
PopupNoteManager.Message = null;
if (row.ShipmentNbr != null && !_prompted && !string.IsNullOrWhiteSpace(ext?.UsrNotes))
{
_prompted = true; // ensure it runs only once per view
PopupNoteManager.Message = "Check Notes.";
}
}Has anyone done something similar or encountered this behavior?

Is there a better way to suppress the popup for newly inserted records or improve how this is triggered?
Any advice or best practices would be greatly appreciated!
Thanks in advance!