Skip to main content
Solved

26R1 CorrectShipment() method now throwing exception

  • July 30, 2026
  • 1 reply
  • 27 views

Forum|alt.badge.img+2

When I try to open my page in 26R1, I now get the following new error in the screen:

An Error Occurred While Processing Your Request

The Void CorrectShipment(PX.Objects.SO.SOOrderEntry, PX.Objects.SO.SOShipment, CorrectShipmentDelegate) method in the DeliveryTracking.SOShipmentEntryDeliveryTrackingExt graph extension is marked as [PXOverride], but its signature is not compatible with the original method.

 

What changed between 24R2 and 26R1?  I looked in the Developer Release Notes but nothing was mention for CorrectShipment or SOShipmentEntry.

Here’s my code:

        [PXOverride]
        public void CorrectShipment(SOOrderEntry docgraph, SOShipment shiporder, CorrectShipmentDelegate baseMethod)
        {
            DeliveryTrackingSOOrder ext = docgraph.GetExtension<DeliveryTrackingSOOrder>();
            try
            {
                ext.skipDeliveryTrackingSubmitOnSave = true;
                baseMethod(docgraph, shiporder);
            }
            finally
            {
                ext.skipDeliveryTrackingSubmitOnSave = false;
            }
        }
        public delegate void CorrectShipmentDelegate(SOOrderEntry docgraph, SOShipment shiporder);

 

Best answer by darylbowman

In 25 R1 and prior, the signature was 

public virtual void CorrectShipment(SOOrderEntry docgraph, SOShipment shiporder)

In 25 R2 and above, it’s

public virtual void CorrectShipment(CorrectShipmentArgs args)

CorrectShipmentArgs looks like this:

public class CorrectShipmentArgs
{
//
// Summary:
// Gets graph object that should be used to process shipment original document.
public PXGraph OrigDocumentGraph { get; }

public SOShipment Shipment { get; }

public HashSet<int?> ShipLinesClearedSOAllocation { get; }

public CorrectShipmentArgs(SOShipment shipment, PXGraph origDocumentGraph)
{
Shipment = shipment;
OrigDocumentGraph = origDocumentGraph;
ShipLinesClearedSOAllocation = new HashSet<int?>();
}
}

 

You could find this yourself on SOShipmentEntry.cs

1 reply

darylbowman
Captain II
Forum|alt.badge.img+17

In 25 R1 and prior, the signature was 

public virtual void CorrectShipment(SOOrderEntry docgraph, SOShipment shiporder)

In 25 R2 and above, it’s

public virtual void CorrectShipment(CorrectShipmentArgs args)

CorrectShipmentArgs looks like this:

public class CorrectShipmentArgs
{
//
// Summary:
// Gets graph object that should be used to process shipment original document.
public PXGraph OrigDocumentGraph { get; }

public SOShipment Shipment { get; }

public HashSet<int?> ShipLinesClearedSOAllocation { get; }

public CorrectShipmentArgs(SOShipment shipment, PXGraph origDocumentGraph)
{
Shipment = shipment;
OrigDocumentGraph = origDocumentGraph;
ShipLinesClearedSOAllocation = new HashSet<int?>();
}
}

 

You could find this yourself on SOShipmentEntry.cs