diff --git a/lv/lv2500.cpp b/lv/lv2500.cpp index d8d0c7b11..3343b4d4d 100755 --- a/lv/lv2500.cpp +++ b/lv/lv2500.cpp @@ -539,31 +539,36 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do if(umart != umkg) { //preparo una cache sulla tabella delle unità di misura - const TRectype& unita = cache().get("%UMS", umart); + const TRectype& unita = cache().get("%UMS", ump); + real fatconv = UNO; - //leggo e controllo se esiste l'unità di misura di riferimento - const TString4 umrif = unita.get("S7"); - if(umrif.empty()) - { - warning_box(TR("Manca l'unità di misura di riferimento")); - break; - } - if(umrif != umkg) - { - warning_box(TR("L'unità di misura di riferimento non è quella dei Kg")); - break; - } + if (ump != umkg) + { + //leggo e controllo se esiste l'unità di misura di riferimento + const TString4 umrif = unita.get("S7"); + if(umrif.empty()) + { + warning_box(TR("Manca l'unità di misura di riferimento")); + break; + } + if(umrif != umkg) + { + warning_box(TR("L'unità di misura di riferimento non è quella dei Kg")); + break; + } - //leggo e controllo il fattore di conversione - const real fatconv = unita.get_real("R10"); - if(fatconv == ZERO) - { - warning_box(TR("Manca il fattore di conversione")); - break; - } + //leggo e controllo il fattore di conversione + fatconv = unita.get_real("R10"); + if(fatconv == ZERO) + { + warning_box(TR("Manca il fattore di conversione")); + break; + } + } //se tutti i controlli sono andati a buon fine, converto la quantità e la scrivo sulla riga documento const real qtaconv = qta * fatconv * peso; + rout.put(RDOC_UMQTA, umkg); rout.put(RDOC_QTA, qtaconv); } }