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

📄 movmerce.pas

📁 基于OOP设计的一套较好的ERP系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
                     TTmovMerce.insert ;
                     TTmovMerceOperatore.AsString := Main_form.TTconfigOperatore.asString ;
                     TTmovMerceData.AsDateTime := Now ;
                     TTMovMerceQta.AsFloat := main_form.TTDistintaQta.AsFloat * editQta.Value ;
                     if Art.FindKey([Main_form.TTDistintaComponente.asString]) then
                       TTmovMerceArticoloEtichetta.asString := Art.FieldByName('Articolo Etichetta').AsString ;
                     TTmovMerceTipo.AsString := 'S' ;
                     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.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 := Art.FieldByName('Articolo').asString ;
                            Main_form.GiacenzaDB.Post ;
                          end ;
                   end ;

                   main_form.TTDistinta.Next ;
                 end ;
               Messaggio(editEtichetta.text +': Caricato !') ;


            end ;
          if main_form.TTArticoliModalitaDistintaBase.AsString = 'S' then
            begin
                  // CARICO DISTINTA BASE SENZA GIACENZA
                main_form.TTDistinta.First ;
                while not main_form.TTDistinta.Eof do
                   begin
                     try
                       TTmovMerce.insert ;
                       TTmovMerceOperatore.AsString := Main_form.TTconfigOperatore.asString ;
                       TTmovMerceData.AsDateTime := Now ;
                       TTMovMerceQta.AsFloat := main_form.TTDistintaQta.AsFloat * editQta.Value ;
                       if Art.FindKey([Main_form.TTDistintaComponente.asString]) then
                         TTmovMerceArticoloEtichetta.asString := Art.FieldByName('Articolo Etichetta').AsString ;
                       TTmovMerceTipo.AsString := 'C' ;
                       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.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 := TTMovMerceDeposito.asString ;
                              Main_form.GiacenzaDbQtaIniziale.asFloat := 0 ;
                              Main_form.GiacenzaDbQtaCarico.asFloat := TTMovMerceQta.AsFloat ;
                              Main_form.GiacenzaDBQtaScarico.AsFloat := 0 ;
                              Main_form.GiacenzaDbArticolointerno.asString := Art.FieldByName('Articolo').asString ;
                              Main_form.GiacenzaDB.Post ;
                            end ;
                     end ;

                     main_form.TTDistinta.Next ;
                   end ;

            end ;
       end ;
   end ;

 Art.Close ;
 Art.Free ;
 pulisciCampi ;
end;

procedure TMovMerce_form.ArrivoExecute(Sender: TObject);
var art : Ttable ;
begin
 if editEtichetta.Text = '' then
  begin
   ShowMessage('Inserire articolo.') ;
   exit ;
  end ;
 if Main_form.TTArtbase.FindKey([editEtichetta.text]) then
  if Main_form.TTArticoli.FindKey([Main_form.TTArtbaseArticoloInterno.asString]) then
   begin
     if (main_form.TTArticoliDistintaBase.AsBoolean) and (main_form.TTArticoliModalitaDistintaBase.AsString = 'S') then
       begin
         Art := TTable.Create(nil) ;
         Art.DatabaseName := 'euro2000' ;
         Art.TableName := 'articoli.db' ;
         Art.Open ;

              // ARRIVO DISTINTA BASE SENZA GIACENZA
         main_form.TTDistinta.First ;
         while not main_form.TTDistinta.Eof do
           begin
             if art.FindKey([main_form.TTDistintaComponente.AsString]) then
               begin
                 try
                   TTmovMerce.insert ;
                   TTmovMerceOperatore.AsString := Main_form.TTconfigOperatore.asString ;
                   TTmovMerceData.AsDateTime := Now ;
                   TTmovMerceArticoloEtichetta.asString := art.FieldByName('Articolo etichetta').AsString ;
                   TTMovMerceQta.AsFloat := main_form.TTDistinta.FieldByName('Qta').AsFloat * editQta.Value ;
                   TTmovMerceTipo.AsString := 'A' ;
                   TTmovMerceDeposito.AsString := depositoCombo.Value ;
                   TTmovMerceIdGiornale.asString := Main_form.LogI(TTmovMerce.TableName) ;
                   TTmovMerce.post ;
                   Main_form.LogM(TTmovMerceIdGiornale.asString,TTmovMerce.TableName) ;
                 finally
                    // Carico la merce in locale
                       if Main_form.GiacenzaDB.FindKey([TTMovMerceArticoloEtichetta.asString,TTmovMerceDeposito.asString]) 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 := TTMovMerceDeposito.asString ;
                          Main_form.GiacenzaDbQtaIniziale.asFloat := 0 ;
                          Main_form.GiacenzaDbQtaScarico.asFloat := 0 ;
                          Main_form.GiacenzaDBQtaCarico.AsFloat := TTMovMerceQta.AsFloat ;
                          Main_form.GiacenzaDbArticolointerno.asString := Art.FieldByName('Articolo').asString ;
                          Main_form.GiacenzaDB.Post ;
                        end ;
                    // Scarico la merce dal viaggi
                       if Main_form.GiacenzaDB.FindKey([TTMovMerceArticoloEtichetta.asString,'VIAGGI']) 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 := 'VIAGGI' ;
                          Main_form.GiacenzaDbQtaIniziale.asFloat := 0 ;
                          Main_form.GiacenzaDbQtaScarico.asFloat := TTMovMerceQta.AsFloat ; ;
                          Main_form.GiacenzaDBQtaCarico.AsFloat :=  0 ;
                          Main_form.GiacenzaDbArticolointerno.asString := art.FieldByName('Articolo').asString ;
                          Main_form.GiacenzaDB.Post ;
                        end ;
                    Messaggio(editEtichetta.text +': Arrivato !') ;
                 end ;
               end ; // findkey distinta
             main_form.TTDistinta.Next ;
           end ;
         art.Close ;
         art.Free ;
       end
     else
       begin
          // ARRIVO NORMALE
         try
           TTmovMerce.insert ;
           TTmovMerceOperatore.AsString := Main_form.TTconfigOperatore.asString ;
           TTmovMerceData.AsDateTime := Now ;
           TTmovMerceArticoloEtichetta.asString := editEtichetta.Text ;
           TTMovMerceQta.AsFloat := editQta.Value ;
           TTmovMerceTipo.AsString := 'A' ;
           TTmovMerceDeposito.AsString := depositoCombo.Value ;
           TTmovMerceIdGiornale.asString := Main_form.LogI(TTmovMerce.TableName) ;
           TTmovMerce.post ;
           Main_form.LogM(TTmovMerceIdGiornale.asString,TTmovMerce.TableName) ;
         finally
            // Carico la merce in locale
               if Main_form.GiacenzaDB.FindKey([TTMovMerceArticoloEtichetta.asString,TTmovMerceDeposito.asString]) 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 := TTMovMerceDeposito.asString ;
                  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 ;
            // Scarico la merce dal viaggi
               if Main_form.GiacenzaDB.FindKey([TTMovMerceArticoloEtichetta.asString,'VIAGGI']) 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 := 'VIAGGI' ;
                  Main_form.GiacenzaDbQtaIniziale.asFloat := 0 ;
                  Main_form.GiacenzaDbQtaScarico.asFloat := TTMovMerceQta.AsFloat ; ;
                  Main_form.GiacenzaDBQtaCarico.AsFloat :=  0 ;
                  Main_form.GiacenzaDbArticolointerno.asString := Main_form.TTArtbaseArticoloInterno.asString ;
                  Main_form.GiacenzaDB.Post ;
                end ;
            Messaggio(editEtichetta.text +': Arrivato !') ;
         end ;
       end ;
   end ;
 pulisciCampi ;
end;

procedure TMovMerce_form.PartenzaExecute(Sender: TObject);
var art : Ttable ;
begin
 if editEtichetta.Text = '' then
  begin
   ShowMessage('Inserire articolo.') ;
   exit ;
  end ;
 if Main_form.TTArtbase.FindKey([editEtichetta.text]) then
  if Main_form.TTArticoli.FindKey([Main_form.TTArtbaseArticoloInterno.asString]) then
   begin
     if (Main_form.TTArticoliDistintaBase.AsBoolean) and (main_form.TTArticoliModalitaDistintaBase.AsString = 'S') then
       begin
         Art := TTable.Create(nil) ;
         Art.DatabaseName := 'euro2000' ;
         Art.TableName := 'articoli.db' ;
         Art.Open ;

         Main_form.TTDistinta.First ;
         while not main_form.TTDistinta.Eof do
           begin
                // PARTENZA DISTINTA BASE SENZA GIACENZA
             if art.FindKey([main_form.TTDistintaComponente.AsString]) then
               begin
                 try
                   TTmovMerce.insert ;
                   TTmovMerceOperatore.AsString := Main_form.TTconfigOperatore.asString ;
                   TTmovMerceData.AsDateTime := Now ;
                   TTmovMerceArticoloEtichetta.asString := art.FieldByName('Articolo etichetta').AsString ;
                   TTMovMerceQta.AsFloat := main_form.TTDistintaQta.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 := art.FieldByName('articolo').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 := art.FieldByName('Articolo').asString ;
                          Main_form.GiacenzaDB.Post ;
                        end ;
                     Messaggio(editEtichetta.text +': Partito !') ;
                 end ;
               end ; // FindKey Art
             main_form.TTDistinta.Next ;
           end ;
         art.Close ;
         art.Free ;
       end
     else
       begin

⌨️ 快捷键说明

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