today I want to write a few words on how to add links to some entites in Acumatica.
So, recently I've had an assignment to add redirect into existing grid, so intead of showing some text show nice link which will lead to Purchase order.
Here is what I've done in order to achieve it.
First of all I've noticed, what is primary DAC class in graph. It was VendFilt.
Then following steps were needed:
- create code for button:
public PXAction<VendFilt> gotoPOOrder;
[PXButton(Tooltip = "Open Purchase order")]
[PXUIField(DisplayName = "Open PO")]
public virtual void GotoPOOrder()
var poOrdEntryGraph = PXGraph.CreateInstance<POOrderEntry>();
var currentPoPorder = VendorOrders.Current;
poOrdEntryGraph.Document.Current = poOrdEntryGraph.Document.Search<POOrder.orderNbr>(currentPoPorder.OrderNbr);
if (poOrdEntryGraph.Document.Current != null)
throw new PXRedirectRequiredException(poOrdEntryGraph, true, "Purchase order Details");
2. Modify PXDataSource:
<px:PXDataSource ID="ds" runat="server" Visible="True" TypeName="Acumatica.PaymentsAllocation"
<px:PXDSCallbackCommand Name="GotoPOOrder" Visible="False" DependOnGrid="grdAllocation">
3. Modify grid column like this:
<px:PXGridColumn DataField="OrderNbr" LinkCommand="GotoPOOrder"></px:PXGridColumn>
And as result I've got nice link which lead to needed po order