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

📄 ricercascontrino.pas

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  RXCtrls, PageMngr, StdCtrls, ExtCtrls, Db, DBTables, RxLookup, Mask,
  ToolEdit, ActnList, Grids, DBGrids, DBCtrls, CurrEdit;

type
  TRicercaScontrino_Form = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Notebook1: TNotebook;
    AvantiBtn: TButton;
    IndietroBtn: TButton;
    PageManager1: TPageManager;
    P1: TPageProxy;
    P2: TPageProxy;
    Panel3: TPanel;
    RxLabel1: TRxLabel;
    Panel4: TPanel;
    QScontrini: TQuery;
    Label42: TLabel;
    RxDBLookupList1: TRxDBLookupList;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    descrizioneLabel: TLabel;
    nominativoLabel: TLabel;
    dal: TDateEdit;
    al: TDateEdit;
    ActionList1: TActionList;
    Annulla: TAction;
    articolo: TEdit;
    cliente: TEdit;
    Panel5: TPanel;
    RxLabel2: TRxLabel;
    Panel6: TPanel;
    elenco: TDBGrid;
    dsScontrini: TDataSource;
    Conferma: TAction;
    Button2: TButton;
    dsCLienti: TDataSource;
    Button3: TButton;
    Avanti: TAction;
    Indietro: TAction;
    QScontriniData: TDateField;
    QScontriniNumeroscontrino: TFloatField;
    QScontriniDeposito: TStringField;
    QScontriniCLIENTE: TStringField;
    QScontriniScontovalore: TCurrencyField;
    QScontriniSconto: TFloatField;
    QScontriniAbbuono: TCurrencyField;
    QScontriniTotalemerce: TCurrencyField;
    QScontriniValuta: TStringField;
    QScontriniNominativo: TStringField;
    QScontriniTotaleL: TCurrencyField;
    QScontriniTotaleE: TCurrencyField;
    TTDettaglio: TTable;
    TTDettaglioArticolo: TStringField;
    TTDettaglioQuantita: TFloatField;
    TTDettaglioPrezzoivato: TCurrencyField;
    TTDettaglioAliquotaiva: TFloatField;
    TTDettaglioSconto: TFloatField;
    TTDettaglioSconto2: TCurrencyField;
    TTDettaglioPassato: TBooleanField;
    TTDettaglioPZConf: TFloatField;
    dsDettaglio: TDataSource;
    DBGrid1: TDBGrid;
    Splitter1: TSplitter;
    TTDettaglioDescrizione: TStringField;
    TTDettaglioImporto: TCurrencyField;
    TTDettaglioArticoloFornitore: TStringField;
    TTDettaglioNumeroscontrino: TFloatField;
    TTDettaglioRiga: TAutoIncField;
    TTDettaglioPunteggio: TFloatField;
    TTDettaglioIdGiornale: TStringField;
    Button1: TButton;
    FineBtn: TButton;
    Stampa_Bolla: TButton;
    procedure AnnullaExecute(Sender: TObject);
    procedure PageManager1PageChanged(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ConfermaExecute(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure articoloChange(Sender: TObject);
    procedure clienteChange(Sender: TObject);
    procedure AvantiExecute(Sender: TObject);
    procedure IndietroExecute(Sender: TObject);
    procedure RxDBLookupList1Click(Sender: TObject);
    procedure RxDBLookupList1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TTDettaglioCalcFields(DataSet: TDataSet);
    procedure Button1Click(Sender: TObject);
    procedure FineBtnClick(Sender: TObject);
    procedure Stampa_BollaClick(Sender: TObject);
  private
    { Private declarations }
  public
    Function Ricerca : boolean ;
    { Public declarations }
  end;

var
  RicercaScontrino_Form: TRicercaScontrino_Form;

implementation

uses main, rica_art_u_fornit;

{$R *.DFM}

procedure TRicercaScontrino_Form.AnnullaExecute(Sender: TObject);
begin
 QScontrini.Close ;
 Release ;
end;

Function TRicercaScontrino_Form.Ricerca : boolean ;
begin
 result := False ;
 Qscontrini.Close ;
 Qscontrini.ParamByName('datainizio').Value  := Dal.date ;
 Qscontrini.ParamByName('datafine').Value    := Al.date ;
 QScontrini.ParamByName('tuttiArt').Value    := (Articolo.Text = '') ;
 QScontrini.ParamByName('Articolopar').Value := Articolo.Text ;
 Qscontrini.ParamByName('TuttiCli').Value    := (Cliente.Text = '') ;
 QScontrini.ParamByName('ClientePar').Value  := Cliente.Text ;
 QScontrini.Prepare ;
 QScontrini.Open ;
 if Qscontrini.IsEmpty then
  begin
   ShowMessage('Nessuno scontrino corrisponde alla ricerca...') ;
   exit ;
  end ;
 result := true ;
end;

procedure TRicercaScontrino_Form.PageManager1PageChanged(Sender: TObject);
begin
 if notebook1.ActivePage = 'Elenco' then
   if not ricerca then indietro.execute ;
end;

procedure TRicercaScontrino_Form.FormCreate(Sender: TObject);
begin
 dal.date := now - 7 ;
 al.date := now ;
end;



procedure TRicercaScontrino_Form.ConfermaExecute(Sender: TObject);
begin
 release ;
end;

procedure TRicercaScontrino_Form.Button3Click(Sender: TObject);
begin
     Ricerca_articoli.GrigliaArticoli.Options := [dgTitles,dgIndicator,dgColumnResize,dgColLines,dgRowLines,dgTabs,dgRowSelect,dgConfirmDelete,dgCancelOnExit] ;
     Ricerca_articoli.showModal ;
     if (Ricerca_articoli.ModalResult=mrOk ) then articolo.text := Ricerca_Articoli.QarticoliArticoloEtichetta.asString ;
end;

procedure TRicercaScontrino_Form.articoloChange(Sender: TObject);
begin
 if Main_form.TTArticoli.FindKey([articolo.text]) then
  descrizioneLabel.Caption := Main_form.TTArticoliDescrizione.asString
 else
  descrizioneLabel.Caption := '' ;
end;

procedure TRicercaScontrino_Form.clienteChange(Sender: TObject);
begin
 if Main_form.TTClienti.Locate('Codice',Cliente.text,[]) then
  nominativolabel.Caption := Main_form.TTClientinominativo.asString
 else
  nominativolabel.Caption := '';
end;

procedure TRicercaScontrino_Form.AvantiExecute(Sender: TObject);
begin
 AvantiBtn.Click ;
end;

procedure TRicercaScontrino_Form.IndietroExecute(Sender: TObject);
begin
 IndietroBtn.Click ;
end;

procedure TRicercaScontrino_Form.RxDBLookupList1Click(Sender: TObject);
begin
 cliente.Text := Main_form.TTClientiCodice.asString ;
 if Main_form.TTClienti.Locate('Codice',Cliente.text,[]) then
  nominativolabel.Caption := Main_form.TTClientinominativo.asString
 else
  nominativolabel.Caption := '';
end;

procedure TRicercaScontrino_Form.RxDBLookupList1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 cliente.Text := Main_form.TTClientiCodice.asString ;
 if Main_form.TTClienti.Locate('Codice',Cliente.text,[]) then
  nominativolabel.Caption := Main_form.TTClientinominativo.asString
 else
  nominativolabel.Caption := ''; 
end;

procedure TRicercaScontrino_Form.TTDettaglioCalcFields(DataSet: TDataSet);
begin
 if Main_form.TTArtbase.FindKey([TTDettaglioArticolo.asString]) then
  If Main_form.TTArticoli.FindKey([Main_form.TTArtbaseArticoloInterno.asString]) then
   begin
    TTDettaglioDescrizione.asString := Main_Form.TTArticoliDescrizione.asString ;
    TTDettaglioArticoloFornitore.asString := Main_form.TTarticoliArticoloFornitore.asString ;
   end ;
  TTDettaglioImporto.AsCurrency := (TTDettaglioQuantita.asFloat * TTDettaglioPrezzoIvato.AsCurrency) * ( 1 - TTDettaglioSconto.asFloat / 100) - TTDettaglioSconto2.AsCurrency ;
end;

procedure TRicercaScontrino_Form.Button1Click(Sender: TObject);
begin
 if MessageDlg('Eliminare lo scontrino selezionato ?',mtConfirmation,[mbYes,mbNo],0) = mrYes then
   if Main_form.TTScontrino.FindKey([QscontriniNumeroScontrino.asInteger]) then
    begin
      while not Main_form.TotaliDB.IsEmpty do
        Main_form.TotaliDB.Delete ;
      Main_form.TTScontrino.Delete ;
    end ;
end;

procedure TRicercaScontrino_Form.FineBtnClick(Sender: TObject);
begin
 QScontrini.Close ;
 Release ;
end;

procedure TRicercaScontrino_Form.Stampa_BollaClick(Sender: TObject);
begin
   if Main_form.TTScontrino.FindKey([QscontriniNumeroScontrino.asInteger]) then
    Main_form.StampaBolla.Execute ;
end;

end.

⌨️ 快捷键说明

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