Reverse customer Posted Invoice
Using below code you can reverse the posted invoice of the customer.class DemoTransationReversal extends TransactionReversal_Cust
{
public static DemoTransationReversal construct()
{
return new DemoTransationReversal();
}
public boolean showDialog()
{
return false;
}
public static void main(Args _args)
{
CustTrans custTrans;
DemoTransationReversal demoTransationReversal;
ReasonTable reasonTable;
ReasonCode reasonCode;
ReasonRefRecID reasonRefRecID;
InvoiceId invoiceId;
Args args;
;
invoiceId = "0099";
reasonCode = "DEMO Purpose";
reasonTable = ReasonTable::find(reasonCode);
reasonRefRecID = ReasonTableRef::createReasonTableRef(
reasonTable.Reason, reasonTable.Description);
custTrans = CustTrans::findFromInvoice(invoiceId);
if (custTrans.RecId && !custTrans.LastSettleVoucher)
{
args = new Args();
args.record(custTrans);
demoTransationReversal = DemoTransationReversal::construct();
demoTransationReversal.parmReversalDate(systemDateGet());
demoTransationReversal.parmReasonRefRecId(reasonRefRecID);
demoTransationReversal.reversal(args);
info(strFmt("%1 %2 %3 %4 reversed.",
custTrans.Voucher,
custTrans.TransDate,
custTrans.Invoice,
custTrans.Txt));
}
}
}