Hello everyone,
We have a customized process to automate credit note for Sales Order using OOTB Microsoft code. The issue that arises is when we create invoice for the credit note, the total markuptrans values appear as positive rather than negative which in turn causes financial instability of the invoices. Any help would be greatly appreciated. Code is given below:
public static container createCreditNote(SalesLineRefRecId _salesLineRecId, SalesQty _returnQty)
{
SalesTable salesTable;
SalesLine salesLineCN, salesLine;
SalesCopying salesCopying;
TmpFrmVirtual tmpFrmVirtualLines, tmpFrmVirtualHeader;
CustInvoiceTrans custInvoiceTrans;
CustInvoiceJour custInvoiceJour;
container conReturn;
salesLine = SalesLine::findRecId(_salesLineRecId);
salesTable = SalesTable::find(salesLine.SalesId, true);
void loadTmpFrmVirtualAndCreateCN(CustInvoiceTrans _custInvoiceTrans)
{
delete_from tmpFrmVirtualLines;
tmpFrmVirtualLines.TableNum = _custInvoiceTrans.TableId;
tmpFrmVirtualLines.RecordNo = _custInvoiceTrans.RecId;
tmpFrmVirtualLines.Id = _custInvoiceTrans.SalesId;
tmpFrmVirtualLines.LineNum = _custInvoiceTrans.LineNum;
tmpFrmVirtualLines.TransDate = _custInvoiceTrans.InvoiceDate;
tmpFrmVirtualLines.Qty = _returnQty;
tmpFrmVirtualLines.write();
salesCopying = SalesCopying::construct(SalesPurchCopy::CreditNoteLines);
salesCopying.initParameters(salesTable, tmpFrmVirtualLines, tmpFrmVirtualHeader, 1, true,false, true, true, false);
salesCopying.copy();
}
select firstonly RecId, TableId, SalesId, LineNum, InvoiceDate, Qty, LineDisc, SalesPrice, LineAmount, TaxGroup from custInvoiceTrans
order by custInvoiceTrans.InvoiceDate desc
where custInvoiceTrans.InventTransId == salesLine.InventTransId;
if (custInvoiceTrans)
{
try
{
// Create credit note
loadTmpFrmVirtualAndCreateCN(custInvoiceTrans);
// Populate container
conReturn = SLD_PostReturnOrderHelper::fillContainer(true, 'Credit note processed successfuly!');
}
catch
{
// Populate container
conReturn = SLD_PostReturnOrderHelper::fillContainer(false, strFmt('Exception occurred while creating credit note of item %1 of %2 sales order', salesLine.ItemId, salesLine.SalesId));
}
}
return conReturn;
}