Patch level : 10.0 patch 702

Files correlati     : lv2
Ricompilazione Demo : [ ]
Commento            :
storno qta pacchi annulati


git-svn-id: svn://10.65.10.50/trunk@20319 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2010-04-08 15:35:17 +00:00
parent 017b576792
commit 01e4cf8912

View File

@ -779,12 +779,20 @@ void TConta_pulito_msk::prepara_movimenti(const TFilename& file, TAssoc_array& m
real quantita = rp.quantita();
//se il pacco risulta annullato, storno la quiantità
if(rp.is_annullato())
quantita = -quantita;
bool annullato = rp.is_annullato();
if(annullato)
quantita = - quantita;
//recupero i dati di interesse dalla riga pacchi
const TString80 codart = rp.articolo();
TToken_string keyarticoli;
keyarticoli.add(codart);
if(annullato)
keyarticoli.add('S');
else
keyarticoli.add('N');
TString8 ansidate;
ansidate << rp.data().date2ansi();
@ -806,7 +814,7 @@ void TConta_pulito_msk::prepara_movimenti(const TFilename& file, TAssoc_array& m
articoli->add(codart, quantita);
//se il pacco risulta annullato, lo elimino
if(rp.is_annullato())
if(annullato)
rp.remove(pacchi);
}
}
@ -849,7 +857,7 @@ bool TConta_pulito_msk::genera_movmag(TAssoc_array& movimenti)
movmag.put(MOVMAG_ANNOES, annoes);
movmag.put(MOVMAG_DATAREG, data);
movmag.put(MOVMAG_CODCAUS, causale.codice());
movmag.put(MOVMAG_DATACOMP, data);
movmag.put(MOVMAG_DATACOMP, data);
//seleziona tutti i record del file pacchi da data a data che non hanno una bolla associata
//per poter assegnare il riferimento al movimento di magazzino
@ -877,11 +885,12 @@ bool TConta_pulito_msk::genera_movmag(TAssoc_array& movimenti)
TAssoc_array& articoli = *(TAssoc_array*)obj;
//per ogni articolo contenuto nel secondo TAssoc_array, faccio una riga movimento di magazzino
FOR_EACH_ASSOC_OBJECT(articoli, hobj1, codart, qta)
FOR_EACH_ASSOC_OBJECT(articoli, hobj1, keyarticoli, qta)
{
TToken_string k(keyarticoli);
//recupero l'unità di misura principale di quest'articolo
TToken_string key;
key.add(codart);
key.add(k.get(0));
key.add(1);
const TRectype& umart = cache().get(LF_UMART, key);
TString4 um = umart.get(UMART_UM);
@ -891,7 +900,7 @@ bool TConta_pulito_msk::genera_movmag(TAssoc_array& movimenti)
//faccio la nuova riga del movimento di magazzino
TRectype& rmovmag = movmag.new_row();
rmovmag.put(RMOVMAG_CODMAG, magazzino);
rmovmag.put(RMOVMAG_CODART, codart);
rmovmag.put(RMOVMAG_CODART, k.get(0));
rmovmag.put(RMOVMAG_CODCAUS, causale.codice());
rmovmag.put(RMOVMAG_UM, um);
rmovmag.put(RMOVMAG_QUANT, quantita);