📄 glhistoryform.pas
字号:
Close;
end;
procedure TfrmGLHistory.mnuSortAccountnoClick(Sender: TObject);
begin
screen.cursor := crHourglass;
mnuSortAccountno.checked := true;
mnuSortDateAscending.checked := false;
mnuSortDateDescending.checked := false;
qryGLHist.close;
qryGLHist.sql.clear;
qryGLHist.sql.add('SELECT H.*, G.AccountName, G.AccountType FROM GLHist H INNER JOIN GLAccnt G ON H.GLAccount = G.GLAccount');
qryGLHist.sql.add('ORDER BY H.GLAccount, H.GLYear, H.GLPeriod, H.Source, H.TransType, H.JVNumber, H.TransDate');
qryGLHist.open;
screen.cursor := crDefault;
end;
procedure TfrmGLHistory.mnuSortNameClick(Sender: TObject);
begin
screen.cursor := crHourglass;
mnuSortName.checked := true;
mnuSortDateAscending.checked := false;
mnuSortDateDescending.checked := false;
qryGLHist.close;
qryGLHist.sql.clear;
qryGLHist.sql.add('SELECT H.*, G.AccountName, G.AccountType FROM GLHist H INNER JOIN GLAccnt G ON H.GLAccount = G.GLAccount');
qryGLHist.sql.add('ORDER BY G.AccountName, H.GLAccount, H.GLYear, H.GLPeriod, H.Source, H.TransType, H.JVNumber, H.TransDate');
qryGLHist.open;
screen.cursor := crDefault;
end;
procedure TfrmGLHistory.FormResize(Sender: TObject);
begin
if (WindowState <> OldWindowState) //Prevent grid resize bugs.
and (WindowState <> wsMinimized)
and (OldWindowState <> wsMinimized)
then mnuRefreshClick(sender);
OldWindowState := WindowState;
end;
procedure TfrmGLHistory.mnuPrintClick(Sender: TObject);
var
strWHERE: string;
begin
//if license = '' then begin frmBS1.FreewareMessage; exit; end;
screen.cursor := crHourglass;
application.createform (TrptGLHistory,rptGLHistory);
rptGLHistory.qryGLHist.SQL := frmGLHistory.qryGLHist.SQL;
if mnuFilter.checked = true then begin
strWHERE := ' WHERE (1 = 1)';
try //Try in case filter form not loaded.
if (frmGLHistoryFilter.chkYearAll.checked <> true) then strWHERE := strWHERE + ' AND (GLYear = ' + frmGLHistoryFilter.editYear.text + ')';
if (frmGLHistoryFilter.chkPeriodAll.checked <> true) then strWHERE := strWHERE + ' AND (GLPeriod = ' + frmGLHistoryFilter.editPeriod.text + ')';
if (frmGLHistoryFilter.cboAccountType.text <> '<All>') then strWHERE := strWHERE + ' AND (AccountType = ' + IntToStr(frmGLHistoryFilter.cboAccountType.ItemIndex) + ')';
if (frmGLHistoryFilter.GLAccount <> '') then strWHERE := strWHERE + ' AND (GLAccount = ' + '''' + frmGLHistoryFilter.GLAccount + '''' + ')';
except; end;
rptGLHistory.qryGLHist.SQL[0] := rptGLHistory.qryGLHist.SQL[0] + strWHERE;
end;
rptGLHistory.qryGLHist.Active := true;
screen.cursor := crDefault;
rptGLHistory.QuickReport.Preview;
end;
procedure TfrmGLHistory.mnuFilterClick(Sender: TObject);
var
aComponent: TComponent;
begin
aComponent := Application.FindComponent('frmGLHistoryFilter');
if not Assigned (aComponent) then frmGLHistoryFilter := TfrmGLHistoryFilter.Create(Application);
frmGLHistoryFilter.ShowModal;
end;
procedure TfrmGLHistory.qryGLHistFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept := true; //Default.
try //Try in case filter form not loaded.
if (frmGLHistoryFilter.chkYearAll.checked <> true) and (qryGLHistGLYear.AsString <> frmGLHistoryFilter.editYear.text) then Accept := false;
if (frmGLHistoryFilter.chkPeriodAll.checked <> true) and (qryGLHistGLPeriod.AsString <> frmGLHistoryFilter.editPeriod.text) then Accept := false;
if (frmGLHistoryFilter.cboAccountType.text <> '<All>') and (qryGLHistAccountType.value <> frmGLHistoryFilter.cboAccountType.ItemIndex) then Accept := false;
if (frmGLHistoryFilter.GLAccount <> '') and (qryGLHistGLAccount.value <> frmGLHistoryFilter.GLAccount) then Accept := false;
except; end;
end;
procedure TfrmGLHistory.tblGLAccntFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept := true; //Default.
try //Try in case filter form not loaded.
if (frmGLHistoryFilter.cboAccountType.text <> '<All>') and (tblGLAccntAccountType.value <> frmGLHistoryFilter.cboAccountType.ItemIndex) then Accept := false;
if (frmGLHistoryFilter.GLAccount <> '') and (tblGLAccntGLAccount.value <> frmGLHistoryFilter.GLAccount) then Accept := false;
except; end;
end;
procedure TfrmGLHistory.qryGLHistCalcFields(DataSet: TDataSet);
begin
qryGLHistPeriodppyyyy.value := qryGLHistGLPeriod.AsString + '/' + qryGLHistGLYear.AsString;
qryGLHistSourceType.value := qryGLHistSource.value + ' ' + qryGLHistTransType.value;
end;
procedure TfrmGLHistory.mnuSortJVnoClick(Sender: TObject);
begin
screen.cursor := crHourglass;
mnuSortJVno.checked := true;
mnuSortDateAscending.checked := false;
mnuSortDateDescending.checked := false;
qryGLHist.close;
qryGLHist.sql.clear;
qryGLHist.sql.add('SELECT H.*, G.AccountName, G.AccountType FROM GLHist H INNER JOIN GLAccnt G ON H.GLAccount = G.GLAccount');
qryGLHist.sql.add('ORDER BY H.JVNumber, H.GLYear, H.GLPeriod, H.GLAccount');
qryGLHist.open;
screen.cursor := crDefault;
end;
procedure TfrmGLHistory.mnuSortAmountClick(Sender: TObject);
begin
screen.cursor := crHourglass;
mnuSortAmount.checked := true;
mnuSortDateAscending.checked := false;
mnuSortDateDescending.checked := false;
qryGLHist.close;
qryGLHist.sql.clear;
qryGLHist.sql.add('SELECT H.*, G.AccountName, G.AccountType FROM GLHist H INNER JOIN GLAccnt G ON H.GLAccount = G.GLAccount');
qryGLHist.sql.add('ORDER BY H.Amount DESC, H.GLYear, H.GLPeriod, H.JVNumber, H.GLAccount');
qryGLHist.open;
screen.cursor := crDefault;
end;
procedure TfrmGLHistory.mnuSortDateAscendingClick(Sender: TObject);
begin
screen.cursor := crHourglass;
mnuSortDate.checked := true;
mnuSortDateAscending.checked := true;
qryGLHist.close;
qryGLHist.sql.clear;
qryGLHist.sql.add('SELECT H.*, G.AccountName, G.AccountType FROM GLHist H INNER JOIN GLAccnt G ON H.GLAccount = G.GLAccount');
qryGLHist.sql.add('ORDER BY H.TransDate, H.GLYear, H.GLPeriod, H.JVNumber, H.GLAccount');
qryGLHist.open;
screen.cursor := crDefault;
end;
procedure TfrmGLHistory.mnuSortDateDescendingClick(Sender: TObject);
begin
screen.cursor := crHourglass;
mnuSortDate.checked := true;
mnuSortDateDescending.checked := true;
qryGLHist.close;
qryGLHist.sql.clear;
qryGLHist.sql.add('SELECT H.*, G.AccountName, G.AccountType FROM GLHist H INNER JOIN GLAccnt G ON H.GLAccount = G.GLAccount');
qryGLHist.sql.add('ORDER BY H.TransDate DESC, H.GLYear, H.GLPeriod, H.JVNumber, H.GLAccount');
qryGLHist.open;
screen.cursor := crDefault;
end;
procedure TfrmGLHistory.mnuSourceClick(Sender: TObject);
var
GLYear, GLPeriod: integer;
begin
if qryGLHistJVNumber.AsVariant = null then exit; //Bypass if no record selected (eg. if no records).
screen.cursor := crHourglass;
if (qryGLHistSource.value = 'AP') and (qryGLHistTransType.value = 'Inv') then begin
application.createform (TfrmAPInvoice,frmAPInvoice);
frmAPInvoice.tblAPInv.Locate('APInvoiceID', qryGLHistAPInvoiceID.value, []);
frmAPInvoice.Show;
end else if (qryGLHistSource.value = 'AP') and (qryGLHistTransType.value = 'Chq') then begin
application.createform (TfrmAPCheque,frmAPCheque);
frmAPCheque.tblAPCheq.Locate('ChequeID', qryGLHistChequeID.value, []);
frmAPCheque.Show;
end else if (qryGLHistSource.value = 'AR') and (qryGLHistTransType.value = 'Inv') then begin
application.createform (TfrmARInvoice,frmARInvoice);
frmARInvoice.tblARInv.Locate('ARInvoiceID', qryGLHistARInvoiceID.value, []);
frmARInvoice.GetBillToData;
frmARInvoice.Show;
end else if (qryGLHistSource.value = 'AR') and (qryGLHistTransType.value = 'Pmt') then begin
application.createform (TfrmARPayment,frmARPayment);
frmARPayment.tblARPmt.Locate('PaymentID', qryGLHistPaymentID.value, []);
frmARPayment.Show;
end else if (qryGLHistSource.value = 'GL') and (qryGLHistTransType.value = 'JVR') then begin
application.createform (TfrmJV,frmJV);
if qryGLHistGLPeriod.value > 1 then begin
GLPeriod := qryGLHistGLPeriod.value - 1;
GLYear := qryGLHistGLYear.value;
end else begin
GLPeriod := 12;
GLYear := qryGLHistGLYear.value - 1;
end;
frmJV.tblJV.Locate('GLYear;GLPeriod;JVNumber',VarArrayOf([GLYear,GLPeriod,qryGLHistJVNumber.value]), []);
frmJV.lblTotals.caption := 'Debits: ' + FloatToStrF(frmJV.tblJVJVAmount.value,ffCurrency,18,2) + ' Credits: ' + FloatToStrF((0 - frmJV.tblJVJVAmount.value),ffCurrency,18,2);
frmJV.Show;
end else begin
application.createform (TfrmJV,frmJV);
frmJV.tblJV.Locate('GLYear;GLPeriod;JVNumber',VarArrayOf([qryGLHistGLYear.value,qryGLHistGLPeriod.value,qryGLHistJVNumber.value]), []);
frmJV.lblTotals.caption := 'Debits: ' + FloatToStrF(frmJV.tblJVJVAmount.value,ffCurrency,18,2) + ' Credits: ' + FloatToStrF((0 - frmJV.tblJVJVAmount.value),ffCurrency,18,2);
frmJV.Show;
end;
screen.cursor := crDefault;
end;
procedure TfrmGLHistory.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then begin
mnuSourceClick(Sender);
Key := #0; //Cancel Enter key.
end;
end;
procedure TfrmGLHistory.mnuJVClick(Sender: TObject);
var
GLYear, GLPeriod: integer;
begin
if qryGLHistJVNumber.AsVariant = null then exit; //Bypass if no record selected (eg. if no records).
screen.cursor := crHourglass;
application.createform (TfrmJV,frmJV);
if qryGLHistTransType.value = 'JVR' then begin
if qryGLHistGLPeriod.value > 1 then begin
GLPeriod := qryGLHistGLPeriod.value - 1;
GLYear := qryGLHistGLYear.value;
end else begin
GLPeriod := 12;
GLYear := qryGLHistGLYear.value - 1;
end;
frmJV.tblJV.Locate('GLYear;GLPeriod;JVNumber',VarArrayOf([GLYear,GLPeriod,qryGLHistJVNumber.value]), []);
end else frmJV.tblJV.Locate('GLYear;GLPeriod;JVNumber',VarArrayOf([qryGLHistGLYear.value,qryGLHistGLPeriod.value,qryGLHistJVNumber.value]), []);
frmJV.lblTotals.caption := 'Debits: ' + FloatToStrF(frmJV.tblJVJVAmount.value,ffCurrency,18,2) + ' Credits: ' + FloatToStrF((0 - frmJV.tblJVJVAmount.value),ffCurrency,18,2);
frmJV.Show;
screen.cursor := crDefault;
end;
procedure TfrmGLHistory.mnuGLAccountsHelpClick(Sender: TObject);
begin
Application.HelpContext(350);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -