⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glhistoryform.pas

📁 功能全面的商业财会系统源码,清晰,很有参考价值.扩展性强.
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  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 + -