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

📄 rica_art_u_fornit_old.pas

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Mask, DBCtrls, Db, DBTables, Grids, DBGrids, Buttons,
  ActnList, ComCtrls, ToolWin, DBGridEh;

type
  TRicerca_articoli = class(TForm)
    Panel2: TPanel;
    DsArticoli: TDataSource;
    ActionList1: TActionList;
    cercatutto: TAction;
    Descrizione: TToolBar;
    OK: TAction;
    Annulla: TAction;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    Qarticoli: TQuery;
    GrigliaArticoli: TDBGridEh;
    DBGrid1: TDBGrid;
    TTGiacenza: TTable;
    dsGiacenza: TDataSource;
    TTGiacenzaGiacenza: TFloatField;
    TTGiacenzaArticolo: TStringField;
    TTGiacenzaDeposito: TStringField;
    TTGiacenzaCausale: TStringField;
    TTGiacenzaQtainiziale: TFloatField;
    TTGiacenzaQtacarico: TFloatField;
    TTGiacenzaQtascarico: TFloatField;
    TTGiacenzaDataultimoMovimento: TDateField;
    TTGiacenzaDataultimoinventario: TDateField;
    TTGiacenzaArticolointerno: TStringField;
    Timer1: TTimer;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit_Descrizione: TEdit;
    Sociale: TComboBox;
    Edit_interno: TEdit;
    Edit_Fornitore: TEdit;
    Edit_Etichette: TEdit;
    Tipo_Articolo: TComboBox;
    procedure ElencoExecute(Sender: TObject);
    procedure cercatuttoExecute(Sender: TObject);
    procedure ricercaChange(Sender: TObject);
    procedure AnnullaExecute(Sender: TObject);
    procedure OKExecute(Sender: TObject);
    procedure GrigliaArticoliTitleBtnClick(Sender: TObject; ACol: Integer;
      Column: TColumnEh);
    procedure GrigliaArticoliDblClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TTGiacenzaCalcFields(DataSet: TDataSet);
    procedure QarticoliAfterOpen(DataSet: TDataSet);
    procedure FormShow(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Edit_DescrizioneChange(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SocialeChange(Sender: TObject);
    procedure Edit_internoChange(Sender: TObject);
    procedure Edit_FornitoreChange(Sender: TObject);
    procedure Edit_EtichetteChange(Sender: TObject);
    procedure Tipo_ArticoloChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function Articolo : string ;
    procedure Aziona_timer;
    procedure PreparaQuery;
  end;

var
  Ricerca_articoli: TRicerca_articoli;

implementation

uses ana_mod, Ucerca, Uelenco, Umenu;

{$R *.DFM}

function TRicerca_articoli.Articolo : string ;
begin
     result := QArticoli.FieldByName('Articolo').asString ;
end ;

procedure TRicerca_articoli.ElencoExecute(Sender: TObject);
begin
     Elenco_form.mostraelenco(self) ;
end;

procedure TRicerca_articoli.cercatuttoExecute(Sender: TObject);
begin
     Cerca_form.Trova(self) ;
end;

procedure TRicerca_articoli.ricercaChange(Sender: TObject);
begin
 Timer1.Enabled := false ;
 Timer1.Enabled := true ;     
end;

procedure TRicerca_articoli.AnnullaExecute(Sender: TObject);
begin
     ModalResult := mrCancel ;
end;

procedure TRicerca_articoli.OKExecute(Sender: TObject);
begin
     modalResult := mrOk ;
end;

procedure TRicerca_articoli.GrigliaArticoliTitleBtnClick(Sender: TObject;
  ACol: Integer; Column: TColumnEh);
Var
   Campo_ordinamento : string   ;
   i,righe : integer ;

begin
     for i:= 0 to GrigliaArticoli.Columns.Count -1 do
      If GrigliaArticoli.Columns[i] <> Column then
       Column.Title.SortMarker := smNoneeh ;
     Column.Title.SortMarker := smUpeh ;
     QArticoli.Close ;
     Campo_ordinamento := Column.Title.Caption ;
     righe := QArticoli.SQL.Count ;
     for i:= 0 to righe-1 do
     If Pos('ORDER',QArticoli.Sql.Strings[i]) > 0 then
        QArticoli.Sql.Strings[i] := 'ORDER BY A."'+campo_ordinamento+'"' ;
     QArticoli.Open ;
end;

procedure TRicerca_articoli.GrigliaArticoliDblClick(Sender: TObject);
begin
 Ok.Execute ;
end;

procedure TRicerca_articoli.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key = 13 then ok.execute ;
end;

procedure TRicerca_articoli.TTGiacenzaCalcFields(DataSet: TDataSet);
begin
 TTGiacenzaGiacenza.AsFloat := TTGiacenza.FieldByName('Qta Iniziale').asFloat +
                               TTGiacenza.FieldByName('Qta Carico').AsFloat -
                               TTGiacenza.FieldByName('Qta Scarico').AsFloat ;
end;

procedure TRicerca_articoli.QarticoliAfterOpen(DataSet: TDataSet);
begin
 TTGiacenza.Open ;
end;

procedure TRicerca_articoli.FormShow(Sender: TObject);
begin
 //if ricerca.text <> '' then
 //   GrigliaArticoli.SetFocus ;
end;

procedure TRicerca_articoli.Timer1Timer(Sender: TObject);
begin
 Timer1.Enabled := false ;
// AggiornaFiltro ;
 PreparaQuery;
end;

procedure TRicerca_articoli.Aziona_timer;
begin
     Timer1.Enabled := false ;
     Timer1.Enabled := true ;
end;

procedure TRicerca_articoli.Edit_DescrizioneChange(Sender: TObject);
begin
     Aziona_Timer;
end;

procedure TRicerca_articoli.FormActivate(Sender: TObject);
begin
     Sociale.Items.clear;
     Sociale.Items.add('(Tutti)') ;
     ModuloDatiAnagrafiche.TTsoggetti.First;
     while not ModuloDatiAnagrafiche.TTsoggetti.Eof do
     begin
          if ModuloDatiAnagrafiche.TTTipiSog.FindKey([moduloDatiAnagrafiche.TTsoggettiTiporapporto.AsString]) and
             (moduloDatiAnagrafiche.TTTipiSogElencaSempre.AsBoolean or moduloDatiAnagrafiche.TTTipisogElencaFornitore.AsBoolean) then
          begin
               Sociale.Items.Add(ModuloDatiAnagrafiche.TTsoggettiRagionesociale.AsString);
          end;
          ModuloDatiAnagrafiche.TTsoggetti.Next;
     end;
     Tipo_Articolo.Items.Clear;
     Tipo_Articolo.Items.Add('(Tutti)') ;
     ModuloDatiAnagrafiche.TTTipArt.First;
     while not ModuloDatiAnagrafiche.TTTipArt.Eof do
     begin
          Tipo_Articolo.Items.Add(ModuloDatiAnagrafiche.TTTipArtTipoArticolo.AsString);
          ModuloDatiAnagrafiche.TTTipArt.Next;
     end;
end;

procedure TRicerca_articoli.PreparaQuery;
var Stringawhere : string;
begin
 Stringawhere := '';
 Qarticoli.SQL.clear;
 Qarticoli.SQL.add('Select *');
 Qarticoli.sql.add('From Articoli.db A') ; 
 Qarticoli.sql.add('LEFT OUTER JOIN "Soggetti.DB" S ON (A."Fornitore" = S."Codice")');
 if Edit_descrizione.text <> '' then
    stringawhere := '(upper(A.Descrizione) like "%'+ Edit_descrizione.text +'%")';
 if sociale.text <> '(Tutti)' then
 begin
    if stringawhere <> '' then
       stringawhere := stringawhere + ' and  (S."Ragione sociale" = "' + sociale.text + '")'
    else
       stringawhere := '(S."Ragione sociale" = "' + sociale.text + '")';
 end;
 if tipo_articolo.text <> '(Tutti)' then
 begin
      if stringawhere <> '' then
         stringawhere := stringawhere + ' and (A."Tipo articolo" = "' + Tipo_articolo.text + '")'
      else
          stringawhere := '(A."Tipo articolo" = "' + Tipo_articolo.text + '")';
 end;
 if Edit_interno.Text <> '' then
 begin
      if stringawhere <> '' then
         stringawhere := stringawhere + ' and (A.Articolo = "' + Edit_interno.text + '")'
      else
         stringawhere := '(A.Articolo = "' + Edit_interno.text + '")';
 end;
 if Edit_fornitore.Text <> '' then
 begin
      if stringawhere <> '' then
         stringawhere := stringawhere +' and (upper (A."Articolo fornitore") like "' + Edit_fornitore.text + '%")'
      else
          stringawhere := '(upper (A."Articolo fornitore") like "' + Edit_fornitore.text + '%")';
 end;
 if Edit_Etichette.Text <> '' then
 begin
      if stringaWhere <> '' then
         Stringawhere := stringawhere +' and (upper (A."Articolo etichetta") like "' + Edit_Etichette.text + '%")'
      else
          stringawhere := '(upper (A."Articolo etichetta") like "' + Edit_etichette.text + '%")';
 end;
 if stringawhere <> '' then
    QArticoli.Sql.Add('where ' + StringaWhere);
 QArticoli.sql.Add('Order By A.Descrizione');
 Qarticoli.sql.SaveToFile('C:\Ciccio.txt');
 QArticoli.open;
end;

procedure TRicerca_articoli.FormCreate(Sender: TObject);
begin
     preparaQuery;
end;

procedure TRicerca_articoli.SocialeChange(Sender: TObject);
begin
     Aziona_Timer;
end;

procedure TRicerca_articoli.Edit_internoChange(Sender: TObject);
begin
     Aziona_Timer;
end;

procedure TRicerca_articoli.Edit_FornitoreChange(Sender: TObject);
begin
     Aziona_Timer;
end;

procedure TRicerca_articoli.Edit_EtichetteChange(Sender: TObject);
begin
     Aziona_Timer;
end;

procedure TRicerca_articoli.Tipo_ArticoloChange(Sender: TObject);
begin
     Aziona_Timer;
end;

end.

⌨️ 快捷键说明

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