{*******************************************************} { } { Responsive Software http://www.responsive.co.nz } { } { Copyright (c) 2003-2006 Responsive Software Limited } { } {*******************************************************} unit ReceiptReportFormat; interface uses DatabaseObjects, GeneralUtilities; procedure FormatReceiptReportDetails (Sale : TSale; ReportData : TReportData); implementation uses SysUtils, DatabaseManager, Globals, Progress, BusinessObjects, CashbooksCacheUnit; type TLineType = (ltHeading,ltDetail,ltOpeningBalance,ltClosingBalance); procedure FormatReceiptReportDetails (Sale : TSale; ReportData : TReportData); var i : integer; begin ReportData.WriteLine(''); ReportData.WriteBoldLine(TSaleItem.ColumnHeadingsString); ReportData.WriteLine(''); for i := 0 to Sale.SaleItems.Count - 1 do ReportData.WriteLine(TSaleItem(Sale.SaleItems[i]).DetailsString); ReportData.WriteLine(Format('%-5s %-30s %15s %15s %15s', ['', '', '', '', '----------'])); ReportData.WriteLine(Format('%-5s %-30s %15s %15s %15s', ['', 'Total Price', '', '', FormatCurrencyForDisplay(Sale.TotalPrice)])); ReportData.WriteLine(Format('%-5s %-30s %15s %15s %15s', ['', '', '', '', '=========='])); ReportData.WriteLine(''); ReportData.WriteBoldLine(TPaymentItem.ColumnHeadingsString); ReportData.WriteLine(''); for i := 0 to Sale.PaymentItems.Count - 1 do ReportData.WriteLine(TPaymentItem(Sale.PaymentItems[i]).DetailsString); ReportData.WriteLine(Format('%-5s %-30s %15s %15s %15s', ['', '', '', '', '----------'])); ReportData.WriteLine(Format('%-5s %-30s %15s %15s %15s', ['', 'Total Payment', '', '', FormatCurrencyForDisplay(Sale.TotalPayment)])); ReportData.WriteLine(Format('%-5s %-30s %15s %15s %15s', ['', '', '', '', '=========='])); if Sale.Change <> 0 then begin ReportData.WriteLine(Format('%-5s %-30s %15s %15s %15s', ['', 'Change', '', '', FormatCurrencyForDisplay(Sale.Change)])); end; end; end.