today I want to write few words about buttons usage in Acumatica.
So, first of all, if you just need to add button at your form, you can use following syntax:
public PXAction<PrimaryDACClass> SomeAction;
[PXButton(CommitChanges = true)]
[PXUIField(DisplayName = "Some Action")]
protected virtual void someAction()
Following syntax will create a button for you in the top buttons panel of Acumatica.
Take note of CommitChanges=true attribute. In case if you need just some activity without persistance to database, then you can set it to false. But if you want button to save some changes to database then set it always to true.
There is one more way of declaring buttons:
[PXUIField(DisplayName = "Some action")]
protected virtual IEnumerable someAction(PXAdapter adapter)
take note that in comparison with previous time method of button returns ienumerable, and also in the end has return adapter.Get();
This type of calling should be used if button is called from processing page or if button initializes background operation.