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

📄 movmerce.pas

📁 基于OOP设计的一套较好的ERP系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
          // PARTENZA SEMPLICE
         try
           TTmovMerce.insert ;
           TTmovMerceOperatore.AsString := Main_form.TTconfigOperatore.asString ;
           TTmovMerceData.AsDateTime := Now ;
           TTmovMerceArticoloEtichetta.asString := editEtichetta.Text ;
           TTMovMerceQta.AsFloat := editQta.Value ;
           TTmovMerceTipo.AsString := 'P' ;
           TTmovMerceDeposito.AsString := depositoCombo.Value ;
           TTmovMerceIdGiornale.asString := Main_form.LogI(TTmovMerce.TableName) ;
           TTmovMerce.post ;
           Main_form.LogM(TTmovMerceIdGiornale.asString,TTmovMerce.TableName) ;
         finally
            // Scarico la merce in locale
               if Main_form.GiacenzaDB.FindKey([TTMovMerceArticoloEtichetta.asString,TTmovMerceDeposito.asString]) then
                begin
                  Main_form.GiacenzaDB.Edit ;
                  Main_form.GiacenzaDBQtaScarico.AsFloat := Main_form.GiacenzaDBQtaScarico.asFloat + TTmovMerceQta.AsFloat ;
                  Main_form.GiacenzaDB.Post ;
                end
               else
                begin
                  Main_form.GiacenzaDB.Insert ;
                  Main_form.GiacenzaDBArticolo.AsString := TTMovMerceArticoloetichetta.asString ;
                  Main_form.GiacenzaDBDeposito.asString := TTMovMerceDeposito.asString ;
                  Main_form.GiacenzaDbQtaIniziale.asFloat := 0 ;
                  Main_form.GiacenzaDbQtaCarico.asFloat := 0 ;
                  Main_form.GiacenzaDBQtaScarico.AsFloat := TTMovMerceQta.AsFloat ;
                  Main_form.GiacenzaDbArticolointerno.asString := Main_form.TTArtbaseArticoloInterno.asString ;
                  Main_form.GiacenzaDB.Post ;
                end ;
            // Carico la merce in viaggi
               if Main_form.GiacenzaDB.FindKey([TTMovMerceArticoloEtichetta.asString,'VIAGGI']) then
                begin
                  Main_form.GiacenzaDB.Edit ;
                  Main_form.GiacenzaDBQtaCarico.AsFloat := Main_form.GiacenzaDBQtaCarico.asFloat + TTmovMerceQta.AsFloat ;
                  Main_form.GiacenzaDB.Post ;
                end
               else
                begin
                  Main_form.GiacenzaDB.Insert ;
                  Main_form.GiacenzaDBArticolo.AsString := TTMovMerceArticoloetichetta.asString ;
                  Main_form.GiacenzaDBDeposito.asString := 'VIAGGI' ;
                  Main_form.GiacenzaDbQtaIniziale.asFloat := 0 ;
                  Main_form.GiacenzaDbQtaScarico.asFloat := 0 ;
                  Main_form.GiacenzaDBQtaCarico.AsFloat := TTMovMerceQta.AsFloat ;
                  Main_form.GiacenzaDbArticolointerno.asString := Main_form.TTArtbaseArticoloInterno.asString ;
                  Main_form.GiacenzaDB.Post ;
                end ;
             Messaggio(editEtichetta.text +': Partito !') ;
         end ;
       end ;
   end ;
 PulisciCampi ;
end;

procedure TMovMerce_form.editEtichettaExit(Sender: TObject);
begin
 cercaEtichetta ;

end;

procedure TMovMerce_form.editInternoExit(Sender: TObject);
begin
   if editInterno.Text = '' then exit ;
   if Main_form.TTArticoli.FindKey([editInterno.Text]) then
    begin
     editFornitore.text := Main_form.TTarticoliArticoloFornitore.asString ;
     EditEtichetta.text := Main_form.TTArticoliArticoloEtichetta.asString ;
     editDescrizione.Text := Main_form.TTArticoliDescrizione.AsString ;
     Messaggio('Premi F1 - F2 - F3 - F4 per continuare.');
    end
   else
    begin
     beep ;
     editDescrizione.text := editInterno.text  + ': NON TROVATO !' ;
     editEtichetta.Text := '' ;
     editinterno.Setfocus ;
     Editinterno.SelectAll ;
    end ;

end;

procedure TMovMerce_form.editInternoKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key = 13 then editQta.SetFocus ;
end;

procedure TMovMerce_form.editFornitoreKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
 if key = 13 then editQta.SetFocus ;
end;

procedure TMovMerce_form.editFornitoreExit(Sender: TObject);
begin
   if EditFornitore.text = '' then exit ;
   if Main_form.TTArticoli.Locate('Articolo fornitore',editFornitore.Text,[]) then
    begin
     editInterno.text := Main_form.TTarticoliArticolo.asString ;
     EditEtichetta.text := Main_form.TTArticoliArticoloEtichetta.asString ;
     editDescrizione.Text := Main_form.TTArticoliDescrizione.AsString ;
     Messaggio('Premi F1 - F2 - F3 - F4 per continuare.');
    end
   else
    begin
     beep ;
     editDescrizione.text := editFornitore.Text  + ': NON TROVATO !' ;
     editEtichetta.Text := '' ;
     editFornitore.SetFocus ;
     editFornitore.SelectAll ;
    end ;

end;

procedure TMovMerce_form.editEtichettaKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
 if key = 13 then editQta.SetFocus ;
end;

procedure TMovMerce_form.PulisciExecute(Sender: TObject);
begin
 pulisciCampi ;
 Messaggio('Pronto.') ;
end;

procedure TMovMerce_form.PulisciCampi;
begin
 editetichetta.text := '' ;
 editInterno.text := '' ;
 editQta.value := 1 ;
 editDescrizione.Text := '' ;
 editFornitore.Text := '' ;
 editEtichetta.SetFocus ;
end;

procedure TMovMerce_form.CercaEtichetta;
var colonna, riga : integer ;
    continua : boolean ;
begin
 continua := True ;
 if editEtichetta.Text = '' then exit ;
  If Main_form.TTartbase.FindKey([editEtichetta.Text]) then
    begin
       if  not Main_form.TTArticoli.FindKey([Main_form.TTartBaseArticoloInterno.asString]) then
         continua := False ;
    end
  else
    begin
      if Main_form.TTArticoli.Locate('Articolo etichetta',editEtichetta.Text,[]) then
        if not Main_Form.TTArtbase.locate('Articolo interno',Main_form.TTArticoliArticolo.AsString,[]) then
          continua := false ;
    end ;

  if continua then
    begin
     if (Main_form.TTArticoliGestioneVarianti.AsBoolean) and (editEtichetta.Text = Main_form.TTArticoliArticoloEtichetta.AsString) then
       begin
         Griglia_varianti := Tgriglia_varianti.Create(Self) ;
         Griglia_Varianti.Interno.DataSource := Main_form.DsArticoli ;
         Griglia_Varianti.Interno.DataField := 'Articolo' ;
         Griglia_Varianti.Descrizione.DataSource := Main_form.DsArticoli ;
         Griglia_Varianti.Descrizione.DataField := 'Descrizione' ;
         Griglia_Varianti.TTDettaglioArticoli.Filter := '[Articolo Interno] =''' + Main_form.TTArticoliArticolo.AsString + '''' ;
         Griglia_Varianti.TTDettaglioArticoli.Filtered := True ;
         Griglia_Varianti.TTDettaglioArticoli.Open ;
         una_variante := True ;
         Griglia_varianti.showModal ;
         una_variante := False ;
         if Griglia_Varianti.ModalResult = mrCancel then
           begin
             editEtichetta.Text := '' ;
             exit ;
           end ;
         with Griglia_varianti do
           begin
             For riga := 1 to GridVarianti.RowCount -1 do
                 For colonna := 1 to GridVarianti.colcount -1 do
                    begin
                       if (GridVarianti.Cells[colonna,riga] <> '') and (GridVarianti.Cells[colonna,riga] <> '0') then
                          If (TTDettaglioArticoli.Locate('variante 1;variante 2',VarArrayof([GridVarianti.Cells[0,riga],GridVarianti.Cells[colonna,0]]),[])) then
                            begin
                              editEtichetta.Text := '' ;
                              editQta.SetFocus ;
                              editEtichetta.Text := TTDettaglioArticoliArticoloEtichetta.AsString ;
                              editFornitore.text := Main_form.TTarticoliArticoloFornitore.asString ;
                              EditInterno.text := Main_form.TTArticoliArticolo.asString ;
                              editDescrizione.Text := Main_form.TTArticoliDescrizione.AsString ;
                              EditQta.Text := GridVarianti.Cells[colonna,riga] ;
                            end ;
                    end ;
           end ;
       end
     else
       begin
         editFornitore.text := Main_form.TTarticoliArticoloFornitore.asString ;
         EditInterno.text := Main_form.TTArticoliArticolo.asString ;
         editDescrizione.Text := Main_form.TTArticoliDescrizione.AsString ;
       end ;
     Messaggio('Premi F1 - F2 - F3 - F4 per continuare.');
    end
  else
    begin
     beep ;
     editDescrizione.text := editEtichetta.Text  + ': NON TROVATO !' ;
     editEtichetta.Text := '' ;
     editEtichetta.SetFocus ;
    end ;
end;

procedure TMovMerce_form.Messaggio(mess: String);
begin
 StatusBar.SimpleText := mess ;
 Application.ProcessMessages ;
end;

procedure TMovMerce_form.FormShow(Sender: TObject);
begin
 Messaggio('Pronto.') ;
end;

procedure TMovMerce_form.InventarioExecute(Sender: TObject);
var MxDoc,MxScontr,MxResi,MxMovMerce : longint ;
begin
 if editEtichetta.Text = '' then
  begin
   ShowMessage('Inserire articolo.') ;
   exit ;
  end ;

 Maxdoc.open ;
 MaxScontr.Open ;
 MaxResi.Open ;
 MaxMovMerce.Open ;
 mxDoc := MaxDocMassimo.Value ;
 mxScontr := MaxScontrMassimo.asInteger ;
 mxResi := MaxResiMassimo.AsInteger ;
 mxMovMerce := MaxMovMerceMassimo.AsInteger ;
 MaxDoc.Close ;
 MaxScontr.Close ;
 MaxResi.Close ;
 MaxMovMerce.Close ;

 if Main_form.TTArtbase.FindKey([editEtichetta.text]) then
  if Main_form.TTArticoli.FindKey([Main_form.TTArtbaseArticoloInterno.asString]) then
   begin
     try
       TTmovMerce.insert ;
       TTmovMerceOperatore.AsString := Main_form.TTconfigOperatore.asString ;
       TTmovMerceData.AsDateTime := Now ;
       TTmovMerceArticoloEtichetta.asString := editEtichetta.Text ;
       TTMovMerceQta.AsFloat := editQta.Value ;
       TTmovMerceTipo.AsString := 'I' ;
       TTmovMerceDeposito.AsString := depositoCombo.Value ;
       TTmovMerceIdGiornale.asString := Main_form.LogI(TTmovMerce.TableName) ;
       TTmovMerce.post ;
       Main_form.LogM(TTmovMerceIdGiornale.asString,TTmovMerce.TableName) ;
     finally
           if Main_form.GiacenzaDB.FindKey([TTMovMerceArticoloEtichetta.asString,TTmovMerceDeposito.asString]) then
            begin
              Main_form.GiacenzaDB.Edit ;
              Main_form.GiacenzaDbQtaIniziale.asFloat := TTMovMerceQta.AsFloat ;
              Main_form.GiacenzaDbQtaScarico.asFloat := 0 ;
              Main_form.GiacenzaDBQtaCarico.AsFloat := 0 ;
              Main_form.GiacenzaDbIdDocInv.AsInteger := MxDoc ;
              Main_form.GiacenzaDbIdScontrInv.AsInteger := mxScontr ;
              Main_form.GiacenzaDbIdResiInv.AsInteger := mxResi ;
              Main_form.GiacenzaDbIdMovMerceInv.AsInteger := mxMovMerce ;
              Main_form.GiacenzaDBDataUltimoInventario.AsDateTime := now ;
              Main_form.GiacenzaDB.Post ;
            end
           else
            begin
              Main_form.GiacenzaDB.Insert ;
              Main_form.GiacenzaDBArticolo.AsString := TTMovMerceArticoloetichetta.asString ;
              Main_form.GiacenzaDBDeposito.asString := TTMovMerceDeposito.asString ;
              Main_form.GiacenzaDbQtaIniziale.asFloat := TTMovMerceQta.AsFloat ;
              Main_form.GiacenzaDbQtaScarico.asFloat := 0 ;
              Main_form.GiacenzaDBQtaCarico.AsFloat := 0 ;
              Main_form.GiacenzaDbArticolointerno.asString := Main_form.TTArtbaseArticoloInterno.asString ;
              Main_form.GiacenzaDbIdDocInv.AsInteger := MxDoc ;
              Main_form.GiacenzaDbIdScontrInv.AsInteger := mxScontr ;
              Main_form.GiacenzaDbIdResiInv.AsInteger := mxResi ;
              Main_form.GiacenzaDbIdMovMerceInv.AsInteger := mxMovMerce ;
              Main_form.GiacenzaDBDataUltimoInventario.AsDateTime := now ;
              Main_form.GiacenzaDB.Post ;
            end ;
        Messaggio(editEtichetta.text +': Inventariato !') ;
     end ;
   end ;
 pulisciCampi ;
end;

procedure TMovMerce_form.FormCreate(Sender: TObject);
begin
 depositoCombo.Value := Main_form.TTconfigDeposito.AsString ;
end;

procedure TMovMerce_form.depositoComboChange(Sender: TObject);
begin
 if movMerce_form.Visible then ShowMessage('Da questo momento i movimenti verranno effettuati sul deposito : ' + Main_form.TTDepositiDenominazione.asSTring ) ;
end;

end.

⌨️ 快捷键说明

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