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

📄 resi.pas

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

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
  TReso_form = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Notebook1: TNotebook;
    AvantiBtn: TButton;
    IndietroBtn: TButton;
    PageManager1: TPageManager;
    P1: TPageProxy;
    P2: TPageProxy;
    P3: 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;
    Panel7: TPanel;
    RxLabel3: TRxLabel;
    Panel8: TPanel;
    elenco: TDBGrid;
    dsScontrini: TDataSource;
    QScontriniData: TDateField;
    QScontriniNumeroscontrino: TFloatField;
    QScontriniCliente: TStringField;
    QScontriniScontovalore: TCurrencyField;
    QScontriniSconto: TFloatField;
    QScontriniAbbuono: TCurrencyField;
    QScontriniTotalemerce: TCurrencyField;
    QScontriniArticolo: TStringField;
    QScontriniQuantita: TFloatField;
    QScontriniRiga: TIntegerField;
    QScontriniPrezzoIvato: TCurrencyField;
    QScontriniScontoDett: TFloatField;
    QScontriniScontoValDett: TCurrencyField;
    QScontriniNominativo: TStringField;
    QScontriniDescrizione: TStringField;
    TTResi: TTable;
    TTResiIdScontrino: TIntegerField;
    TTResiIdRigaScontrino: TIntegerField;
    TTResiData: TDateField;
    TTResiQta: TFloatField;
    TTResiValore: TCurrencyField;
    TTResiValuta: TStringField;
    TTResiIdbuono: TIntegerField;
    TTResiIdReso: TAutoIncField;
    dsResi: TDataSource;
    TTBuoni: TTable;
    TTBuoniId: TAutoIncField;
    TTBuoniTipo: TStringField;
    TTBuoniData: TDateField;
    TTBuoniCliente: TStringField;
    TTBuoniDescrizione: TMemoField;
    TTBuoniImporto: TCurrencyField;
    TTBuoniValuta: TStringField;
    TTBuoniUsato: TBooleanField;
    TTBuoniIdGiornale: TStringField;
    dsBuoni: TDataSource;
    TTResiIdGiornale: TStringField;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    TTResiImporto: TCurrencyField;
    Label4: TLabel;
    Label5: TLabel;
    Conferma: TAction;
    Button1: TButton;
    QScontriniValuta: TStringField;
    Button2: TButton;
    descrizione: TMemo;
    data: TDateEdit;
    quantita: TRxCalcEdit;
    valore: TRxCalcEdit;
    Label10: TLabel;
    importo: TCurrencyEdit;
    valuta: TEdit;
    QScontriniDeposito: TStringField;
    dsCLienti: TDataSource;
    Button3: TButton;
    Avanti: TAction;
    Indietro: TAction;
    procedure AnnullaExecute(Sender: TObject);
    procedure PageManager1PageChanged(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure P2Show(Next: Boolean);
    procedure TTBuoniAfterInsert(DataSet: TDataSet);
    procedure TTBuoniAfterPost(DataSet: TDataSet);
    procedure TTBuoniBeforeDelete(DataSet: TDataSet);
    procedure TTResiAfterInsert(DataSet: TDataSet);
    procedure TTResiAfterPost(DataSet: TDataSet);
    procedure TTResiBeforeDelete(DataSet: TDataSet);
    procedure ConfermaExecute(Sender: TObject);
    procedure P3Enter(Next: Boolean);
    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 quantitaChange(Sender: TObject);
    procedure valoreChange(Sender: TObject);
  private
    { Private declarations }
  public
    Function Ricerca : boolean ;
    procedure FaiReso;
    { Public declarations }
  end;

var
  Reso_form: TReso_form;

implementation

uses main, rica_art_u_fornit;

{$R *.DFM}

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

Function TReso_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 TReso_form.PageManager1PageChanged(Sender: TObject);
begin
 if notebook1.ActivePage = 'Elenco' then
   if not ricerca then indietro.execute ;
end;

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

procedure TReso_form.P2Show(Next: Boolean);
begin
   elenco.Columns[1].Visible := (cliente.Text = '') ;
   elenco.Columns[2].Visible := (cliente.Text = '') ;
end;

procedure TReso_form.FaiReso;
begin
 // Preparazione del reso....
 data.date := now ;
 Quantita.Value := QScontriniQuantita.AsFloat ;
 Valore.Value :=            (QScontriniPrezzoIvato.asCurrency *
                            (1 - QScontriniScontoDett.AsFloat / 100) -
                            (QscontriniScontoValDett.AsCurrency / QScontriniQuantita.AsFloat)) *
                            (1 - QScontriniSconto.AsFloat / 100) *
                            (1 - (QScontriniScontoValore.AsFloat / QScontriniTotaleMerce.AsFloat)) *
                            (1 - (QscontriniAbbuono.AsFloat / QScontriniTotaleMerce.asFloat)) ;
 Descrizione.Lines.Clear ;
 Descrizione.Lines.Add( 'Reso merce da scontrino N

⌨️ 快捷键说明

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