class Invoice_Events { [PostHandlerFor(classStr(NW_InvoiceDP), methodStr(NW_InvoiceDP, processReport))] public static void NW_InvoiceDP_Post_processReport(XppPrePostArgs args) { SalesTable SalesTable; SalesLine SalesLine; DirPartyPostalAddressView dirPartyPostalAddrlocal; DirPartyLocationRolesView dirPartyLocationRoleslocal; LogisticsLocationRole logisticsLocRole; NW_InvoiceType InvoiceType; CustInvoiceJour InvoiceJour; DimensionAttributeValueSetStorage dimStorage; NW_InvoiceDP dpInstance = args.getThis() as NW_InvoiceDP; NW_InvoiceTmp InvoiceTmp = dpInstance.getASASSalesInvoiceTmp(); SalesTable = SalesTable::find(InvoiceTmp.SalesId); select InvoiceType where InvoiceType.CodeType == SalesTable.InvoiceType; select InvoiceJour where InvoiceJour.InvoiceId == InvoiceTmp.InvoiceId; select firstOnly * from dirPartyPostalAddrlocal order by RecId desc exists join dirPartyLocationRoleslocal where dirPartyLocationRoleslocal.Location == dirPartyPostalAddrlocal.Location && dirPartyLocationRoleslocal.Party == CustTable::find(SalesTable.CustAccount).Party && dirPartyPostalAddrlocal.IsPrimary == NoYes::No exists join logisticsLocRole where logisticsLocRole.Name == 'Arabic Add' //like Delivery,Invoice,Business && logisticsLocRole.RecId == dirPartyLocationRoleslocal.LocationRole && logisticsLocRole.IsPostalAddress; ttsbegin; InvoiceTmp.ArAddress = dirPartyPostalAddrlocal.address; InvoiceTmp.InvoiceTypeAr = InvoiceType.Arabic; InvoiceTmp.InvoiceTypeEn = InvoiceType.English; InvoiceTmp.ServiceMonth = strFmt("%1/%2",InvoiceJour.Month,InvoiceJour.Year); select firstonly SalesLine where SalesLine.SalesId == SalesTable.SalesId; dimStorage = DimensionAttributeValueSetStorage::find(SalesLine.DefaultDimension); InvoiceTmp.Project = ProjTable::find(dimStorage.getDisplayValueByDimensionAttribute(DimensionAttribute::findByName('FD04_Profit_Center').RecId)).Name; // CustTable.VATNum InvoiceTmp.update(); ttscommit; NW_InvoiceLineTmp InvoiceLineTmp = dpInstance.getASASSalesInvoiceLineTmp(); ttsbegin; while select forUpdate InvoiceLineTmp { select SalesLine where SalesLine.SalesId == SalesTable.SalesId && SalesLine.LineAmount == InvoiceLineTmp.LineAmountMST && SalesLine.SalesQty == InvoiceLineTmp.qty; InvoiceLineTmp.SalesUnit = SalesLine.SalesUnit; InvoiceLineTmp.update(); } ttscommit; } }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter