📄 generalledgerreport.pas
字号:
unit GeneralLedgerReport;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, DBTables, DB, quickrpt, Qrctrls, qrprntr;
type
TrptGeneralLedger = class(TForm)
QuickReport: TQuickRep;
Title: TQRBand;
PageHeader: TQRBand;
Master: TQRBand;
PageFooter: TQRBand;
QRSysData1: TQRSysData;
QRLabel1: TQRLabel;
PageNumber: TQRSysData;
QRShape1: TQRShape;
QRShape2: TQRShape;
QRShape3: TQRShape;
qryGLAccnt: TQuery;
qryGLAccntGLAccount: TStringField;
qryGLAccntAccountName: TStringField;
qryGLAccntAccountTypeName: TStringField;
QRDateTime: TQRSysData;
QRLabel5: TQRLabel;
lblPeriod: TQRLabel;
QRLabel6: TQRLabel;
QRLabel7: TQRLabel;
qryGLAccntGLYear: TSmallintField;
qryGLAccntOpeningBal: TCurrencyField;
qryGLAccntAmount1: TCurrencyField;
qryGLAccntAmount2: TCurrencyField;
qryGLAccntAmount3: TCurrencyField;
qryGLAccntAmount4: TCurrencyField;
qryGLAccntAmount5: TCurrencyField;
qryGLAccntAmount6: TCurrencyField;
qryGLAccntAmount7: TCurrencyField;
qryGLAccntAmount8: TCurrencyField;
qryGLAccntAmount9: TCurrencyField;
qryGLAccntAmount10: TCurrencyField;
qryGLAccntAmount11: TCurrencyField;
qryGLAccntAmount12: TCurrencyField;
qryGLAccntPeriodClosingBal: TCurrencyField;
qryGLAccntPeriodOpeningBal: TCurrencyField;
txtPeriodOpeningBal: TQRDBText;
txtGLAccount: TQRDBText;
txtAccountName: TQRDBText;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QRSubDetail1: TQRSubDetail;
tblGLHist: TTable;
tblGLHistGLAccount: TStringField;
tblGLHistGLYear: TSmallintField;
tblGLHistGLPeriod: TSmallintField;
tblGLHistSource: TStringField;
tblGLHistTransType: TStringField;
tblGLHistJVNumber: TIntegerField;
tblGLHistTransDate: TDateField;
tblGLHistAmount: TCurrencyField;
tblGLHistTransDescription: TStringField;
tblGLHistVendorID: TIntegerField;
tblGLHistAPInvoiceID: TIntegerField;
tblGLHistChequeID: TIntegerField;
tblGLHistCustomerID: TIntegerField;
tblGLHistARInvoiceID: TIntegerField;
tblGLHistPaymentID: TIntegerField;
tblGLHistSourceType: TStringField;
tblGLHistDebit: TCurrencyField;
tblGLHistCredit: TCurrencyField;
HistoryFooter: TQRBand;
QRShape4: TQRShape;
lblTotGCredit: TQRLabel;
lblTotGDebit: TQRLabel;
lblTotGAmount: TQRLabel;
QRShape5: TQRShape;
QRShape6: TQRShape;
txtPeriodClosingBal: TQRDBText;
QRLabel10: TQRLabel;
lblPeriodTotals: TQRLabel;
tblGLHistTransDescriptionPlus: TStringField;
txtSourceType: TQRDBText;
txtJVNumber: TQRDBText;
txtTransDate: TQRDBText;
txtTransDescriptionPlus: TQRDBText;
txtDebit: TQRDBText;
txtCredit: TQRDBText;
dsGLAccnt: TDataSource;
totGAmount: TQRExpr;
totGCredit: TQRExpr;
totGDebit: TQRExpr;
procedure qryGLAccntCalcFields(DataSet: TDataSet);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure tblGLHistCalcFields(DataSet: TDataSet);
procedure tblGLHistFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
procedure HistoryFooterBeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
procedure QuickReportPreview(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
rptGeneralLedger: TrptGeneralLedger;
implementation
uses BS1Form, GLReportsForm, LookUpsData, PreviewForm;
{$R *.DFM}
procedure TrptGeneralLedger.qryGLAccntCalcFields(DataSet: TDataSet);
begin
case frmGLReports.GLPeriod of
1: begin
qryGLAccntPeriodOpeningBal.AsCurrency := qryGLAccntOpeningBal.AsCurrency;
qryGLAccntPeriodClosingBal.AsCurrency := qryGLAccntPeriodOpeningBal.AsCurrency + qryGLAccntAmount1.AsCurrency;
end;
2: begin
qryGLAccntPeriodOpeningBal.AsCurrency := qryGLAccntOpeningBal.AsCurrency + qryGLAccntAmount1.AsCurrency;
qryGLAccntPeriodClosingBal.AsCurrency := qryGLAccntPeriodOpeningBal.AsCurrency + qryGLAccntAmount2.AsCurrency;
end;
3: begin
qryGLAccntPeriodOpeningBal.AsCurrency := qryGLAccntOpeningBal.AsCurrency + qryGLAccntAmount1.AsCurrency
+ qryGLAccntAmount2.AsCurrency;
qryGLAccntPeriodClosingBal.AsCurrency := qryGLAccntPeriodOpeningBal.AsCurrency + qryGLAccntAmount3.AsCurrency;
end;
4: begin
qryGLAccntPeriodOpeningBal.AsCurrency := qryGLAccntOpeningBal.AsCurrency + qryGLAccntAmount1.AsCurrency
+ qryGLAccntAmount2.AsCurrency
+ qryGLAccntAmount3.AsCurrency;
qryGLAccntPeriodClosingBal.AsCurrency := qryGLAccntPeriodOpeningBal.AsCurrency + qryGLAccntAmount4.AsCurrency;
end;
5: begin
qryGLAccntPeriodOpeningBal.AsCurrency := qryGLAccntOpeningBal.AsCurrency + qryGLAccntAmount1.AsCurrency
+ qryGLAccntAmount2.AsCurrency
+ qryGLAccntAmount3.AsCurrency
+ qryGLAccntAmount4.AsCurrency;
qryGLAccntPeriodClosingBal.AsCurrency := qryGLAccntPeriodOpeningBal.AsCurrency + qryGLAccntAmount5.AsCurrency;
end;
6: begin
qryGLAccntPeriodOpeningBal.AsCurrency := qryGLAccntOpeningBal.AsCurrency + qryGLAccntAmount1.AsCurrency
+ qryGLAccntAmount2.AsCurrency
+ qryGLAccntAmount3.AsCurrency
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -