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

📄 queryaccountfsejye.pas

📁 一套非常发好的财务管理软件,想从事此方面开发的可以借签
💻 PAS
字号:
unit QueryAccountFSEJYE;

interface

uses
  Windows, Graphics, Controls, Forms, SysUtils,
  Dialogs, StdCtrls, ExtCtrls, SUIButton, SUIEdit, ExtFunc,
  SUIDBCtrls, SUIURLLabel, jpeg, Classes, SUIForm, DB, ADODB, Grids,
  DBGridEh, SUIComboBox, FR_DSet, FR_DBSet, FR_Class, printers;

type
  TFrmQueryAccountFSEJYE = class(TForm)
    suiForm1: TsuiForm;
    btnOK: TsuiButton;
    btnPrint: TsuiButton;
    q: TADOQuery;
    Label2: TLabel;
    g: TDBGridEh;
    Label3: TLabel;
    Label4: TLabel;
    DataSource1: TDataSource;
    GroupBox1: TGroupBox;
    cbSY: TsuiComboBox;
    cbSM: TsuiComboBox;
    editSN: TsuiEdit;
    cbEY: TsuiComboBox;
    cbEM: TsuiComboBox;
    editEN: TsuiEdit;
    Label1: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    btnGO: TsuiButton;
    cbFilterZero: TsuiCheckBox;
    cbSubjectLevel: TsuiComboBox;
    Label10: TLabel;
    fr: TfrReport;
    frDS: TfrDBDataSet;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure gDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
    procedure editSNKeyPress(Sender: TObject; var Key: Char);
    procedure cbSYChange(Sender: TObject);
    procedure btnGOClick(Sender: TObject);
    procedure cbFilterZeroClick(Sender: TObject);
    procedure btnPrintClick(Sender: TObject);
  private
    { Private declarations }
  public
    procedure FilterZero;
  end;

var
  FrmQueryAccountFSEJYE: TFrmQueryAccountFSEJYE;
implementation

uses DataModule;

{$R *.dfm}

procedure TFrmQueryAccountFSEJYE.FormShow(Sender: TObject);
var
  i:integer;
  tq:TAdoQuery;
begin
  q.Connection:=DM.adoc;
  Label4.Caption:='单位:'+DM.DeptName;
  for i:=DM.AccountStartYear to DM.AccountYear do
  begin
    cbSY.Items.Add(IntToStr(i));
    cbEY.Items.Add(IntToStr(i));
  end;
  cbSY.ItemIndex:=cbSY.Items.Count-1;
  cbEY.ItemIndex:=cbEY.Items.Count-1;
  if DM.AccountStartYear=DM.AccountYear then cbSM.ItemIndex:=DM.AccountStartMonth-1 else cbSM.ItemIndex:=0;
  cbEM.ItemIndex:=DM.AccountMonth-1;
  editSN.Text:='1';
  tq:=TAdoQuery.Create(self);
  tq.Connection:=DM.adoc;
  tq.Close;
  tq.SQL.Clear;
  tq.SQL.Add('select max(Number) as MaxNum from Credence where [Year]='+IntToStr(DM.AccountYear)+' and [Month]='+IntToStr(DM.AccountMonth));
  tq.Open;
  editEN.Text:=IntToStr(tq.FieldByName('MaxNum').AsInteger);
  tq.Close;
  tq.Destroy;

  for i:=1 to DM.MaxSubjectLevel do cbSubjectLevel.Items.Add(IntToStr(i));
  cbSubjectLevel.ItemIndex:=DM.MaxSubjectLevel-1;

  btnGO.Click;
end;

procedure TFrmQueryAccountFSEJYE.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  q.Close;
end;

procedure TFrmQueryAccountFSEJYE.gDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
var
  oldcolor:TColor;
  oldpm:TPenMode;
  oldFontColor:TColor;
begin
  oldpm:= g.Canvas.pen.mode;
  oldcolor:= g.Canvas.Brush.color;
  oldFontColor:=g.Canvas.Font.Color;

  if ((column.FieldName='Balance') and (q.FieldByName('Balance').AsCurrency<0)) or
     ((column.FieldName='J_Money') and (q.FieldByName('J_Money').AsCurrency<0)) or
     ((column.FieldName='D_Money') and (q.FieldByName('D_Money').AsCurrency<0)) or
     ((column.FieldName='Y_Money') and (q.FieldByName('Y_Money').AsCurrency<0)) then
    g.Canvas.Font.Color:=RGB(255,0,0);

  g.DefaultDrawColumnCell (Rect,DataCol, Column, State);
  g.Canvas.Brush.color:=oldcolor;
  g.Canvas.pen.mode:=oldpm;
  g.Canvas.Font.Color:=oldFontColor;
end;

procedure TFrmQueryAccountFSEJYE.editSNKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (Key in ['0','1','2','3','4','5','6','7','8','9',#8]) then Key:=#0;
end;

procedure TFrmQueryAccountFSEJYE.cbSYChange(Sender: TObject);
begin
  btnGO.Enabled:=((cbSY.Text<>'') and (cbSM.Text<>'') and (editSN.Text<>'') and (cbEY.Text<>'') and (cbEM.Text<>'') and (editEN.Text<>''));
end;

procedure TFrmQueryAccountFSEJYE.btnGOClick(Sender: TObject);
begin
  q.Close;
  q.SQL.Clear;
  q.SQL.Add('P_SubjectBetideBalanceAccount '+cbSY.Text+','+cbSM.Text+','+editSN.Text+','+cbEY.Text+','+cbEM.Text+','+editEN.Text);
  q.Open;
  FilterZero;
  Label3.Caption:='汇总凭证区间:'+cbSY.Text+'年'+cbSM.Text+'月 第'+editSN.Text+'号 - '+cbEY.Text+'年'+cbEM.Text+'月 第'+editEN.Text+'号';
end;

procedure TFrmQueryAccountFSEJYE.cbFilterZeroClick(Sender: TObject);
begin
  FilterZero;
end;

procedure TFrmQueryAccountFSEJYE.FilterZero;
begin
  if not q.Active then Exit;
  q.Filter:='(Subject_Level<='+cbSubjectLevel.Text+')';
  if cbFilterZero.Checked then
  begin
    q.Filter:=q.Filter+' and (isNullRow=0)';
  end;
  q.Filtered:=true;
  btnPrint.Enabled:=(q.RecordCount>0);
end;

procedure TFrmQueryAccountFSEJYE.btnPrintClick(Sender: TObject);
begin
  if not DM.CheckSoftReg then Exit;
  fr.LoadFromFile(FUN_GetCurrentPath^+'Report\BetideBalanceAccount.frf');
  fr.Pages[0].ChangePaper(256,DM.AccountPageWidth,DM.AccountPageHeight,-1,poLandscape);
  frVariables['DeptName']:=DM.DeptName;
  frVariables['CredenceRange']:=Label3.Caption;
  frVariables['FinanceManager']:=DM.FinanceManager;
  frVariables['UserName']:=DM.UserName;
  frVariables['PrintDate']:=now;
  fr.PrepareReport;
  fr.ShowReport;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -