Hi @ppowell
Please use the grid view name of the graph. I’ve provided the sample code for your reference.
You are right, if you are using ARInvoiceEntry extension, the primary DAC is ARInvoice.
public PXAction<PrimaryDacName> viewDocument;
[PXButton]
public virtual void ViewDocument()
{
if (GridViewName.Current?.OrderNbr != null)
{
SOOrderEntry docgraph = CreateInstance<SOOrderEntry>();
docgraph.Document.Current = PXSelectReadonly<SOOrder, Where<SOOrder.orderNbr, Equal<Required<SOOrder.orderNbr>>, And<SOOrder.behavior, Equal<Required<SOOrder.behavior>>>>>.Select(this, GridViewName.Current.OrderNbr, SOOrderTypeConstants.SalesOrder);
if (docgraph.Document.Current != null)
PXRedirectHelper.TryRedirect(docgraph, PXRedirectHelper.WindowMode.NewWindow);
}
}
public PXAction<PrimaryDacName> viewShipment;
[PXButton]
public virtual void ViewShipment()
{
if (GridViewName.Current?.ShipmentNbr != null)
{
SOShipmentEntry docgraph = CreateInstance<SOShipmentEntry>();
docgraph.Document.Current = docgraph.Document.Search<SOShipment.shipmentNbr>(GridViewName.Current.ShipmentNbr);
if (docgraph.Document.Current != null)
PXRedirectHelper.TryRedirect(docgraph, PXRedirectHelper.WindowMode.NewWindow);
}
}