public static void Process(List <POReceipt> list, bool isMassProcess) { POReceiptEntry rg = PXGraph.CreateInstance <POReceiptEntry>(); for (int i = 0; i < list.Count; i++) { try { rg.Clear(); rg.Document.Current = PXSelect <POReceipt, Where <POReceipt.receiptType, Equal <Required <POReceipt.receiptType> >, And <POReceipt.receiptNbr, Equal <Required <POReceipt.receiptNbr> > > > > .Select(rg, list[i].ReceiptType, list[i].ReceiptNbr); rg.CalculateAvalaraTax(rg.Document.Current); PXProcessing <POOrder> .SetInfo(i, ActionsMessages.RecordProcessed); } catch (Exception e) { if (isMassProcess) { PXProcessing <POOrder> .SetError(i, e is PXOuterException?e.Message + "\r\n" + String.Join("\r\n", ((PXOuterException)e).InnerMessages) : e.Message); } else { throw new PXMassProcessException(i, e); } } } }
public static void ReleaseDoc(List <POReceipt> list, bool aIsMassProcess) { POReceiptEntry docgraph = PXGraph.CreateInstance <POReceiptEntry>(); DocumentList <INRegister> created = new DocumentList <INRegister>(docgraph); DocumentList <APInvoice> invoicesCreated = new DocumentList <APInvoice>(docgraph); INReceiptEntry iRe = null; INIssueEntry iIe = null; AP.APInvoiceEntry apInvoiceGraph = PXGraph.CreateInstance <APInvoiceEntry>(); int iRow = 0; bool failed = false; foreach (POReceipt order in list) { try { switch (order.ReceiptType) { case POReceiptType.POReceipt: case POReceiptType.TransferReceipt: if (iRe == null) { iRe = docgraph.CreateReceiptEntry(); } docgraph.ReleaseReceipt(iRe, apInvoiceGraph, order, created, invoicesCreated, aIsMassProcess); break; case POReceiptType.POReturn: if (iIe == null) { iIe = docgraph.CreateIssueEntry(); } docgraph.ReleaseReturn(iIe, apInvoiceGraph, order, created, invoicesCreated, aIsMassProcess); break; } PXProcessing <POReceipt> .SetInfo(iRow, ActionsMessages.RecordProcessed); } catch (Exception e) { if (aIsMassProcess) { PXProcessing <POReceipt> .SetError(iRow, e); failed = true; } else { throw; } } iRow++; } if (failed) { throw new PXException(Messages.ReleaseOfOneOrMoreReceiptsHasFailed); } }
public virtual IEnumerable viewDocument(PXAdapter adapter) { if (this.receiptsList.Current != null) { POReceiptEntry graph = PXGraph.CreateInstance <POReceiptEntry>(); POReceipt poDoc = graph.Document.Search <POReceipt.receiptNbr>(this.receiptsList.Current.ReceiptNbr, this.receiptsList.Current.ReceiptType); if (poDoc != null) { graph.Document.Current = poDoc; throw new PXRedirectRequiredException(graph, true, "Document") { Mode = PXBaseRedirectException.WindowMode.NewWindow }; } } return(adapter.Get()); }