Contents tagged with PXAction

  • How to avoid navigation away from created item after calling PressSave or Persist action

    Hello everybody,

    today I want to tell you a story, that swallowed quite big amount of time of whole team.

    Recently we've got seemingly easy to fulfil requirement: 

    Add button to the grid

    Inside of the button fullfil 

    Persist

    Call to db with modifications

    Persist one more time

    Leave the page opened on created item in UI

    Initially our code looked like this:

    public PXAction<SOOrder> SomeAction;

    [PXButton(CommitChanges = true)]

    [PXUIField(DisplayName = "Some Action", Visible = true)]

    protected virtual IEnumerable someAction(PXAdapter adapter)

    {

        Base.Actions.PressSave();

        //API call

        Base.Actions.PressSave();

        return adapter.Get();

    }

    I could say that … more

  • Two kinds of buttons in Acumatica

    Hello everybody,

    today I want to write a few words about two types of buttons in Acumatica.

    usual form of declaration

    unusual form of declaration

    What is difference from code prospecitve?

    In the begining they are equal:

    public PXAction<Shipment> CancelShipment; 

    Even very similar with attributes:

    1. 

             [PXButton(CommitChanges = true)]

             [PXUIField(DisplayName = "Cancel Shipment")] 

    2. 

            [PXButton]

            [PXUIField(DisplayName = "Release")] 

    But different with declaration:

    protected virtual void cancelShipment() 

    protected virtual IEnumerable release(PXAdapter adapter) 

    and different with last statement. Those with PXAdaapter should return … more