diff --git a/lv/lv2900.cpp b/lv/lv2900.cpp index f780abf1d..7f4e16dca 100755 --- a/lv/lv2900.cpp +++ b/lv/lv2900.cpp @@ -776,15 +776,14 @@ void TConta_pulito_msk::prepara_movimenti(const TFilename& file, TAssoc_array& m { TRiga_pacco rp = selrighe.cursor()->curr(); - //se il pacco risulta annullato, lo elimino - if(rp.is_annullato()) - { - rp.remove(pacchi); - continue; - } + real quantita = rp.quantita(); + + //se il pacco risulta annullato, storno la quiantità + if(rp.is_annullato()) + quantita = -quantita; //recupero i dati di interesse dalla riga pacchi - const real quantita = rp.quantita(); + const TString80 codart = rp.articolo(); TString8 ansidate; ansidate << rp.data().date2ansi(); @@ -804,7 +803,11 @@ void TConta_pulito_msk::prepara_movimenti(const TFilename& file, TAssoc_array& m qta += quantita; } else - articoli->add(codart, quantita); + articoli->add(codart, quantita); + + //se il pacco risulta annullato, lo elimino + if(rp.is_annullato()) + rp.remove(pacchi); } }