Skip to main content
Answer

Not able to override the ConfirmShipmentAction

  • October 16, 2023
  • 2 replies
  • 147 views

param2022
Jr Varsity II
Forum|alt.badge.img

[PXOverride]
        protected virtual IEnumerable ConfirmShipmentAction(PXAdapter adapter)
        {
            this.Base.confirmShipmentAction.Press(adapter);
            return adapter.Get();
        }

 

I have written this code in my Graph extension to override the Base action but I get this error as soon as i click action button on the screen. And after that the shipment is confirmed. 

 

Attempt by method 'Wrapper.PX.Objects.SO.Cst_SOShipmentEntry.ConfirmShipmentActionGeneratedWrapper(PX.Objects.SO.SOShipmentEntry, PX.Data.PXAdapter)' to access method 'MyCust.Acumatica.SOShipmentEntryExt.ConfirmShipmentAction(PX.Data.PXAdapter)' failed.

Best answer by jinin

Hi @param2022 .

Can you try like below?
 

 public delegate void ConfirmShipmentDelegate(SOOrderEntry docgraph, SOShipment shiporder);
        [PXOverride]
        public virtual void ConfirmShipment(SOOrderEntry docgraph, SOShipment shiporder, ConfirmShipmentDelegate baseMethod)
        {

            //Write the logic
        }

2 replies

jinin
Pro I
Forum|alt.badge.img+11
  • Pro I
  • Answer
  • October 16, 2023

Hi @param2022 .

Can you try like below?
 

 public delegate void ConfirmShipmentDelegate(SOOrderEntry docgraph, SOShipment shiporder);
        [PXOverride]
        public virtual void ConfirmShipment(SOOrderEntry docgraph, SOShipment shiporder, ConfirmShipmentDelegate baseMethod)
        {

            //Write the logic
        }


Forum|alt.badge.img+4

Hi @param2022 .

Can you try like below?
 

 public delegate void ConfirmShipmentDelegate(SOOrderEntry docgraph, SOShipment shiporder);
        [PXOverride]
        public virtual void ConfirmShipment(SOOrderEntry docgraph, SOShipment shiporder, ConfirmShipmentDelegate baseMethod)
        {

            //Write the logic
        }

I would add one thing to this.  Remember to call the base method.

#region ConfirmShipment Override
public delegate void confirmShipmentDelegate(SOOrderEntry docgraph, SOShipment shiporder);
[PXOverride]
public virtual void ConfirmShipment(SOOrderEntry docgraph, SOShipment shiporder, confirmShipmentDelegate baseMethod)
{
baseMethod(docgraph, shiporder);
}
#endregion