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

📄 buoni.pas

📁 基于OOP设计的一套较好的ERP系统
💻 PAS
字号:
unit buoni;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBCtrls, ComCtrls, ActnList, ToolWin, StdCtrls, ExtCtrls, RxLookup, Mask,
  Grids, DBGrids, Db, DBTables, ToolEdit, RxDBComb, DBGridEh, RXDBCtrl,
  ppStrtch, ppMemo, ppPrnabl, ppClass, ppCtrls, ppDB, ppBands,
  ppProd, ppReport, ppComm, ppRelatv, ppCache, ppDBPipe, ppDBBDE, ppVar;

type
  TBuoni_Form = class(TForm)
    Panel1: TPanel;
    dsBuoni: TDataSource;
    Label1: TLabel;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBMemo1: TDBMemo;
    RxDBLookupCombo1: TRxDBLookupCombo;
    Nominativo: TLabel;
    Label4: TLabel;
    DBEdit3: TDBEdit;
    DBRadioGroup1: TDBRadioGroup;
    DBCheckBox1: TDBCheckBox;
    ActionList1: TActionList;
    Chiudi: TAction;
    ToolBar1: TToolBar;
    DBNavigator1: TDBNavigator;
    ToolButton1: TToolButton;
    Inserisci: TAction;
    DBRadioGroup2: TDBRadioGroup;
    Panel2: TPanel;
    filtro: TRadioGroup;
    TTBuoni: TTable;
    TTBuoniId: TAutoIncField;
    TTBuoniData: TDateField;
    TTBuoniCliente: TStringField;
    TTBuoniDescrizione: TMemoField;
    TTBuoniImporto: TCurrencyField;
    TTBuoniValuta: TStringField;
    TTBuoniUsato: TBooleanField;
    TTBuoniNominativo: TStringField;
    TTBuoniTipo: TStringField;
    TTBuoniIdGiornale: TStringField;
    datafiltro: TDateEdit;
    Label5: TLabel;
    Label6: TLabel;
    IgnoraCliente: TCheckBox;
    IgnoraGiorno: TCheckBox;
    ScegliCliente: TRxDBLookupCombo;
    Usati: TRadioGroup;
    TTBuoniImportoE: TCurrencyField;
    TTBuoniImportoL: TCurrencyField;
    TTValute: TTable;
    TTValuteValuta: TStringField;
    TTValuteCambioL: TCurrencyField;
    TTValuteCambioE: TCurrencyField;
    TTValuteIdGiornale: TStringField;
    elBuoni: TDBGridEh;
    DBDateEdit1: TDBDateEdit;
    Stampa: TAction;
    ToolButton2: TToolButton;
    PipeBuoni: TppBDEPipeline;
    PrintBuoni: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppDetailBand1: TppDetailBand;
    ppFooterBand1: TppFooterBand;
    ppDBText1: TppDBText;
    ppDBMemo1: TppDBMemo;
    ppDBText2: TppDBText;
    ppDBText3: TppDBText;
    ppDBText4: TppDBText;
    ppDBText5: TppDBText;
    ppDBText6: TppDBText;
    ppLabel1: TppLabel;
    ppSystemVariable1: TppSystemVariable;
    ppSystemVariable2: TppSystemVariable;
    ppLine1: TppLine;
    ppSummaryBand1: TppSummaryBand;
    ppDBCalc1: TppDBCalc;
    ppDBCalc2: TppDBCalc;
    ppLabel2: TppLabel;
    ppVariable1: TppVariable;
    procedure ChiudiExecute(Sender: TObject);
    procedure dsBuoniStateChange(Sender: TObject);
    procedure InserisciExecute(Sender: TObject);
    procedure filtroClick(Sender: TObject);
    procedure TTBuoniAfterInsert(DataSet: TDataSet);
    procedure TTBuoniAfterPost(DataSet: TDataSet);
    procedure TTBuoniBeforeDelete(DataSet: TDataSet);
    procedure datafiltroChange(Sender: TObject);
    procedure IgnoraGiornoClick(Sender: TObject);
    procedure ScegliClienteChange(Sender: TObject);
    procedure IgnoraClienteClick(Sender: TObject);
    procedure UsatiClick(Sender: TObject);
    procedure TTBuoniCalcFields(DataSet: TDataSet);
    procedure StampaExecute(Sender: TObject);
  private
    { Private declarations }
  public
    procedure Filtra;
    { Public declarations }
  end;

var
  Buoni_Form: TBuoni_Form;

implementation

uses main;

{$R *.DFM}

procedure TBuoni_Form.ChiudiExecute(Sender: TObject);
begin
 if (TTbuoni.State = dsEdit) or (TTBuoni.State = dsInsert) then
  if MessageDlg('Salvare le modifiche ?',mtConfirmation,[mbYes,mbNo],0) = mrYes then
   TTbuoni.post ;
 TTBuoni.Close ;
 tTValute.CLose ;
 Release ;
end;

procedure TBuoni_Form.dsBuoniStateChange(Sender: TObject);
begin
 if Main_form.TTBuoni.State = dsInsert then
  dbEdit2.SetFocus ;
end;

procedure TBuoni_Form.InserisciExecute(Sender: TObject);
begin
 Main_form.TTBuoni.Insert ;
end;

procedure TBuoni_Form.filtroClick(Sender: TObject);
begin
 Filtra ;
end;

procedure TBuoni_Form.TTBuoniAfterInsert(DataSet: TDataSet);
begin
 TTBuoniIdGiornale.asString := Main_form.LogI(TTBuoni.TableName) ;
 TTBuoniValuta.AsString := Main_form.TTconfigValutaStandard.AsString ;
 TTBuoniData.asDateTime := Now ;
 TTBuoniImporto.AsFloat := 0 ;
 TTBuoniTipo.asString := 'B' ;
end;

procedure TBuoni_Form.TTBuoniAfterPost(DataSet: TDataSet);
begin
 Main_form.LogM(TTBuoniIdGiornale.asString,TTBuoni.TableName) ;
end;

procedure TBuoni_Form.TTBuoniBeforeDelete(DataSet: TDataSet);
begin
 Main_form.LogC(TTBuoniIdGiornale.asString,TTBuoni.TableName) ;
end;

procedure TBuoni_Form.Filtra;
var
   ss : string ;

begin
 // Tipo
 case filtro.ItemIndex of
  0 : TTBuoni.Filter := 'Tipo = ''B''' ;
  1 : TTBuoni.Filter := 'Tipo = ''P''' ;
  2 : TTBuoni.Filter := 'Tipo = ''R''' ;
  3 : TTBuoni.Filter := 'Tipo = ''O''' ;
  4 : TTBuoni.Filter := '' ;
 end ;
 // Usati
 case Usati.ItemIndex of
  0 : ss := 'Usato=''TRUE''' ;
  1 : ss := 'Usato=''FALSE''' ;
  2 : ss := '' ;
 end ;
 if ss <> '' then
  begin
   if TTbuoni.Filter <> '' then ss := ' and ' + ss ;
   TTBuoni.Filter := TTBuoni.Filter + ss ;
  end;
 // Data
 If not IgnoraGiorno.Checked then
  if TTBuoni.Filter <> '' then
     TTBuoni.Filter := TTBuoni.Filter + ' and Data=''' + DateToStr(datafiltro.Date)+ ''''
  else
     TTBuoni.Filter := 'Data=''' + DateToStr(datafiltro.Date)+ '''' ;
 // Cliente
 if not IgnoraCliente.Checked then
  if TTBuoni.Filter <> '' then
     TTBuoni.Filter := TTBuoni.Filter + ' and Cliente=''' + ScegliCliente.Value + ''''
  else
     TTBuoni.Filter := 'Cliente=''' + ScegliCliente.Value + '''' ;
 TTBuoni.Filtered := (TTBuoni.Filter <> '') ;
end;

procedure TBuoni_Form.datafiltroChange(Sender: TObject);
begin
 IgnoraGiorno.Checked := False ;
 Filtra ;
end;

procedure TBuoni_Form.IgnoraGiornoClick(Sender: TObject);
begin
 Filtra ;
end;

procedure TBuoni_Form.ScegliClienteChange(Sender: TObject);
begin
 IgnoraCliente.Checked := False;
 Filtra ;
end;

procedure TBuoni_Form.IgnoraClienteClick(Sender: TObject);
begin
 Filtra ;
end;

procedure TBuoni_Form.UsatiClick(Sender: TObject);
begin
 Filtra ;
end;

procedure TBuoni_Form.TTBuoniCalcFields(DataSet: TDataSet);
begin
 if TTValute.FindKey([TTbuoniValuta.asString]) then
  begin
   TTbuoniImportoL.asCurrency := TTBuoniImporto.asCurrency * TTValuteCambioL.asCurrency ;
   TTBuoniImportoE.AsCurrency := TTBuoniImporto.asCurrency * TTValuteCambioE.AsCurrency ;
  end;
end;

procedure TBuoni_Form.StampaExecute(Sender: TObject);
begin
 PrintBuoni.Print;
end;

end.

⌨️ 快捷键说明

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