Skip to main content

Does anyone know how to print SOs with the status of shipping or backordered? ACU seems to lock it down when the SO is in these two statuses. 

@asmith50  As per the standard Acumatica, Print Sales Order action will NOT be enable in Shipping and Back Order status.

As @markusray17  said, we can print the SO report from Sales Orders → Printed Forms → Sales Order Report.

Still, if you want to enable the “Print Sales Order” action in Sales Order screen, it requires a small piece of customization. Please find the code below for your reference

public class SOOrderEntry_Extension : PXGraphExtension<SOOrderEntry>
{
#region Event Handlers

protected virtual void SOOrder_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler)
{
InvokeBaseHandler?.Invoke(cache, e);
SOOrder row = e.Row as SOOrder;
if (row == null) return;
if(row.Status == SOOrderStatus.Shipping)
Base.printSalesOrder.SetEnabled(true);
}
#endregion
}

 

 


@Naveen B ,  if we need to customize availablility of actions based on sales order status, it should better (and much easier) be done through the workflows menu of  the customization project editor

You simply need to add the PrintOrderAction to the action tab of the correspodnding states as shown in the attachment


You should still be able to go directly to the form under Sales Orders → Printed Forms → Sales Order and put in the order type and order number then click on Run Report. 


@mvolshteyn Yes, we can get this done in just few clicks in Acumatica - Workflows. This is really one of my favorite feature in Acumatica. 

 

Happy coding!


Hi @mvolshteyn  Yes, I even tried this and very simple.

Thanks a lot for sharing it here. 


Had a client run into this situation. Thanks for the explanation/work around. Just curious, anyone know WHY Acumatica doesn’t think people should be able to print a Sales Order in those statuses?


Reply