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

📄 rica_art_u_fornit.pas

📁 基于OOP设计的一套较好的ERP系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
end;

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

procedure TRicerca_articoli.FormActivate(Sender: TObject);
begin
     //Aggiorna_combo ;
     edit_descrizione.SetFocus ;
     edit_descrizione.SelectAll ;
     If ElencaSubito = 'SI' then
      begin
       elencatutti := True ;
       edit_descrizione.Text := '' ;
       EseguiRicerca ;
       elencaTutti := false ;
      end ;
      
end;

procedure TRicerca_articoli.PreparaQuery;
begin
 EseguiRicerca ;
end;

procedure TRicerca_articoli.FormCreate(Sender: TObject);
begin
 resetting := false ;
 elencatutti := false ;
 
 if TTdefault.FindKey(['GIACENZA TOTALE']) then
  begin
   GiacTotale := (TTDefaultValore.asString = 'SI') ;
  end
 else
  begin
     GiacTotale := False ;
     TTDefault.Insert;
     TTDefaultChiave.AsString := 'GIACENZA TOTALE';
     TTDefaultValore.AsString := 'NO';
     TTDefault.Post;
  end;

 if TTdefault.FindKey(['ELENCA SUBITO ARTICOLI']) then
  begin
   ElencaSubito := TTDefaultValore.asString ;
  end
 else
  begin
     ElencaSubito := 'NO' ;
     TTDefault.Insert;
     TTDefaultChiave.AsString := 'ELENCA SUBITO ARTICOLI';
     TTDefaultValore.AsString := 'NO';
     TTDefault.Post;
  end;

 if TTdefault.FindKey(['EURO O LIRE']) then
  begin
   ValutaStandard := TTDefaultValore.asString ;
  end
 else
  begin
     ValutaStandard := 'L' ;
     TTDefault.Insert;
     TTDefaultChiave.AsString := 'EURO O LIRE';
     TTDefaultValore.AsString := 'L';
     TTDefault.Post;
  end;

 if TTdefault.FindKey(['DELAY']) then
  begin
    if TTdefaultValore.AsInteger = 0 then
       ricerca.Visible := True
    else
        Ricerca.Visible := False;
  end
 else
  begin
     ricerca.Visible := False;
     TTDefault.Insert;
     TTDefaultChiave.AsString := 'DELAY';
     TTDefaultValore.AsInteger := 600;
     TTDefault.Post;
  end;

 if TTdefault.FindKey(['RISPONDI CON']) then
  begin
    maxconta :=  TTdefaultValore.AsInteger ;
    if TTdefaultValore.AsInteger = 0 then
       tutti.checked := True
    else
        tutti.checked := False;
  end
 else
  begin
     tutti.Checked := False ;
     TTDefault.Insert;
     TTDefaultChiave.AsString := 'RISPONDI CON';
     TTDefaultValore.AsInteger := 30 ;
     TTDefault.Post;
  end;
 if TTdefault.FindKey(['INIZIALI']) then
  begin
    if TTdefaultValore.AsString = 'SI' then
       iniziali.checked := true
    else
        iniziali.Checked := False;
  end
 else
  begin
     iniziali.checked := False;
     TTDefault.Insert;
     TTDefaultChiave.AsString := 'INIZIALI';
     TTDefaultValore.AsString := 'NO';
     TTDefault.Post;
  end;
 if TTdefault.FindKey(['TUTTI']) then
  begin
    if TTdefaultValore.AsString = 'SI' then
       tutti.checked := true
    else
        tutti.Checked := False;
  end
 else
  begin
     tutti.checked := False;
     TTDefault.Insert;
     TTDefaultChiave.AsString := 'TUTTI';
     TTDefaultValore.AsString := 'NO';
     TTDefault.Post;
  end;
 if TTdefault.FindKey(['PREZZO RICERCA']) then
  begin
    if TTdefaultValore.AsString = 'NETTO' then
       PrezzoStandard := 'N'
    else
       PrezzoStandard := 'I' ;
  end
 else
  begin
     PrezzoStandard := 'N' ;
     TTDefault.Insert;
     TTDefaultChiave.AsString := 'PREZZO RICERCA';
     TTDefaultValore.AsString := 'NETTO';
     TTDefault.Post;
  end;
  Tab.first ;
  While not Tab.Eof do
   begin
    tab.next ;
   end;
  If PrezzoStandard = 'N' then
   QarticoliPrezzo.DisplayLabel := 'Prezzo Netto'
  else
   QarticoliPrezzo.DisplayLabel := 'Prezzo Ivato' ;
   
  If ValutaStandard = 'L' then
   QarticoliPrezzo.DisplayFormat := '#,###'
  else
   QarticoliPrezzo.DisplayFormat := '#,###.00' ;

  preparaQuery;
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.ResetExecute(Sender: TObject);
begin
  resetting := true ;
  Edit_Descrizione.Text := '' ;
  sociale.Value := '(Tutti)' ;
  Tipo_articolo.Value := '(Tutti)';
  resetting := false ;
  aziona_timer ;
end;

procedure TRicerca_articoli.RicercaExecute(Sender: TObject);
begin
     PreparaQuery;
end;

procedure TRicerca_articoli.EseguiRicerca;
Var
   RicS, FornS, FornOk, TipoS, TipoOk, Listino : String ;
   x : integer ;
   id_campo_ric,id_Art,id_Arteti,Id_ArtFor,
   Id_Desc,Id_Tipo, Id_Fornitore,
   id_Marca, Id_codFor, Id_varianti, Id_Ubicazione : integer ;
   descr : string ;
   deposito : string[40] ;
   conta : integer ;
   inizio, fine : tdateTime ;
   noDescr : boolean ;
   gg                                          : Real ;
begin
 crono.visible := false;
 inizio := time ;
 If (
    (Edit_descrizione.Text = '') and
    (Sociale.Value = '(Tutti)') and
    (Tipo_Articolo.Value = '(Tutti)')
    ) and Not elencaTutti then exit ;
 If TTDepositi.Locate('Locale',true,[]) then
  deposito := TTDepositiDeposito.AsString
 else
  begin
   TTDepositi.First ;
   deposito := TTDepositiDeposito.asString ;
  end ;
 FornOk := Sociale.Value ;
 TipoOk := Tipo_Articolo.Value ;
 Id_Art := Tab.FieldByName('Articolo').Index ;
 Id_ArtEti := Tab.FieldByName('Articolo etichetta').Index ;
 Id_ArtFor := Tab.FieldByName('Articolo Fornitore').Index ;
 Id_Desc := Tab.FieldByName('Descrizione').Index ;
 Id_Tipo := Tab.FieldByName('Tipo articolo').Index ;
 Id_Fornitore := Soggetti.FieldByname('Ragione Sociale').Index ;
 Id_Marca := Tab.FieldByName('Marca').Index ;
 Id_CodFor := Tab.FieldByName('fornitore').Index ;
 Id_Varianti := Tab.FieldByName('Gestione varianti').Index ;
 Id_Ubicazione := Tab.FieldByName('Ubicazione').Index ;
 Qarticoli.DisableControls ;
 Qarticoli.EmptyTable ;
 ricS := UpperCase(Edit_Descrizione.Text) ;
 tab.first ;
 conta := 0 ;
 Tab.Filtered := False ;
 Tab.filter := '' ;
 If ModuloDatiAnagrafiche.TTDepositi.locate('Locale',true,[]) then
  Listino := ModuloDatiAnagrafiche.TTDepositiListino.asString
 else
  begin
   TTListini.first ;
   Listino := TTListiniListino.AsString ;
  end ;

 If sociale.Value <> '(Tutti)' then
    tab.Filter := '(Fornitore = ''' + fornOK + ''')' ;
 If Tipo_Articolo.Value <> '(Tutti)' then
    If Tab.Filter <> '' then
       tab.Filter := tab.filter + 'and ([Tipo articolo] = ''' + TipoOK + ''')'
     else
       tab.Filter := '([Tipo articolo] = ''' + TipoOK + ''')' ;
 If Tab.filter <> '' then
  Tab.filtered := True ;
 noDescr := Tab.Filtered and (edit_descrizione.text = '') ;
 id_campo_ric := id_desc ;
 Case Campo_Ricerca.ItemIndex of
  0 : id_campo_ric := id_desc ;
  1 : id_campo_ric := id_Art ;
  2 : id_campo_ric := id_ArtFor ;
  3 : id_campo_ric := id_ArtEti ;
 end ;
 Repeat
   descr := Tab.fields[id_campo_ric].AsString ;
   x := Pos(RicS,UpperCase(descr)) ;
   if  ((x = 1) and Iniziali.Checked) or
       ((x > 0) and Not Iniziali.Checked) or noDescr or elencaTutti then
        begin
         fornS := Tab.Fields[id_codFor].AsString ;
         tipoS := Tab.Fields[id_tipo].asString ;
         Qarticoli.Append ;
         QarticoliArticolo.AsString := Tab.Fields[id_art].asString ;
         QarticoliArticoloEtichetta.AsString := Tab.Fields[id_arteti].asString ;
         RicercaArticolofornitore.AsString := Tab.Fields[id_artfor].asString ;
         RicercaDescrizione.asSTring := tab.Fields[id_desc].asString ;
         RicercaTipo.AsString := TipoS ;
         RicercaMarca.AsString := Tab.Fields[id_marca].asString ;
         if TTubicazione.FindKey([Tab.Fields[id_ubicazione].asString]) then
          Qarticoliubicazione.asString := TTubicazioneubicazione.asString 
         else
          QArticoliUbicazione.asString := 'Non impostata' ;
         If Soggetti.FindKey([FornS]) then
          QarticoliFornitore.asString := Soggetti.Fields[id_fornitore].asString ;

         if TTListinoLook.findKey([Listino,QarticoliArticolo.asString]) then
            If PrezzoStandard = 'N' then
             begin
               If ValutaStandard = 'L' then
                  QarticoliPrezzo.asCurrency := TTListinoLookPrezzoNettoL.AsCurrency
               else
                  QarticoliPrezzo.asCurrency := TTListinoLookPrezzoNettoE.AsCurrency ;
             end
            else
             begin
               If ValutaStandard = 'L' then
                  QarticoliPrezzo.asCurrency := TTListinoLookPrezzoIvatoL.AsCurrency
               else
                  QarticoliPrezzo.asCurrency := TTListinoLookPrezzoIvatoE.AsCurrency ;
             end ;


    if not GiacTotale then
          begin
             if not Tab.Fields[id_varianti].asBoolean then
               //if Giac.Locate('Deposito',deposito,[]) then        STEFANO 07/02/2002
               if Giac.FindKey([TTArtBaseArticoloEtichetta.AsString,deposito]) then
                QarticoliGiacenza.AsFloat := GiacQtaIniziale.AsFloat + GiacQtaCarico.AsFloat - GiacQtaScarico.AsFloat ;
          end
         else
          begin
            GG := 0 ;
            TTartbase.First ;
            While Not TTArtBase.Eof do
            //if TTartBase.FindKey([Tab.Fields[id_arteti].asString]) then
             begin
//               Giac.First ;   STEFANO 07/02/2002
               if Giac.FindKey([TTArtBaseArticoloEtichetta.AsString]) then
               while (Not Giac.Eof) and (GiacArticolo.AsString = TTArtBaseArticoloEtichetta.AsString) do
                begin
                 gg := gg + GiacQtaIniziale.AsFloat + GiacQtaCarico.AsFloat - GiacQtaScarico.AsFloat ;
                 Giac.Next ;
                end ;
               TTArtbase.next ;
             end ;
            QarticoliGiacenza.AsFloat := gg ;
          end ;
         Qarticoli.Post ;
         if not tutti.Checked then Inc(conta) ;
        end ;
   Tab.Next ;
 Until Tab.Eof or (conta > maxconta) ;
 if not Qarticoli.IsEmpty then
  Qarticoli.First
 else
  beep ;
 Qarticoli.EnableControls ;
 fine := time ;
 crono.caption := TimeToStr(fine - inizio) ;
 crono.Visible := True ;
end;

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

procedure TRicerca_articoli.DepositiBtnClick(Sender: TObject);
begin
 Panel_Depositi.Visible := not Panel_depositi.visible ;
 TTGiacenza.Active := Panel_depositi.Visible ;
end;

procedure TRicerca_articoli.ListiniBtnClick(Sender: TObject);
begin
 Panel_listino.Visible := Not Panel_listino.Visible ;
 TTListino.Active := Panel_Listino.Visible ;
end;

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

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

procedure TRicerca_articoli.SocialeKeyPress(Sender: TObject;
  var Key: Char);
begin
 Aziona_Timer;
end;

procedure TRicerca_articoli.Campo_ricercaClick(Sender: TObject);
begin
 If Visible then
    edit_descrizione.SetFocus ;
 if edit_descrizione.Text <> '' then eseguiRicerca ;
end;

procedure TRicerca_articoli.AiutoExecute(Sender: TObject);
begin
     menu_form.Aiuto('manuale.pdf',37) ;
end;

procedure TRicerca_articoli.VariantiExecute(Sender: TObject);
begin
   if ModuloDatiAnagrafiche.TTArticoli.FindKey([QArticoliArticolo.AsString]) then
     if ModuloDatiAnagrafiche.TTArticoliGestioneVarianti.AsBoolean then
       begin
         if not TTGiacenza.Active then
           TTGiacenza.Open ;
         Giacenza_varianti := Tgiacenza_varianti.Create(Self) ;
         Giacenza_varianti.showModal ;
         TTGiacenza.Active := Panel_depositi.Visible ;
       end ;

end;

end.

⌨️ 快捷键说明

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