📄 movmerce.pas
字号:
// 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 + -