diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index 5ff95d329..6af78c3b7 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -732,7 +732,6 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k) default: break; } - //if (ok && (k == K_ENTER || k == K_TAB)) if (ok && f.to_check(k)) { TMask& msk = f.mask(); @@ -864,7 +863,23 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k) trvlst = true; } rdoc.put(RDOC_PREZZO, prezzo); + msk.set(FR_PREZZO, prezzo); } + else + { + real prezzo; + const int tplis = cont.get_int(LVCONDV_TIPOLIS); //tipo listino + if (tplis == 0) + prezzo = rcont.get_real(LVRCONDV_PREZZO); + else + { + const TRectype& anamag = cache().get(LF_ANAMAG,codart); + prezzo = anamag.get_real(ANAMAG_COSTSTD); + } + rdoc.put(RDOC_PREZZO, prezzo); + msk.set(FR_PREZZO, prezzo); + } + //controllo se si vuole aggiungere un eventuale nuovo articolo al contratto if (cont.get_int(LVCONDV_CODCONT) <= 0) @@ -1129,6 +1144,19 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k) msk.field(FR_QTA).set(""); msk.field(FR_QTA).disable(); } + + real prezzo; + if(cau.is_rotto()) + { + prezzo = rcont.get_real(LVRCONDV_PREZDAN); + if(prezzo > ZERO) + msk.field(FR_PREZZO).set(prezzo.string()); + } + else + { + prezzo = rcont.get_real(LVRCONDV_PREZZO); + msk.field(FR_PREZZO).set(prezzo.string()); + } } } return true; @@ -1226,10 +1254,10 @@ void TGestione_bolle_msk::user_set_handler( short fieldid, int index) { switch(index) { - case 4101: set_field_handler(fieldid, lv_data_handler); break; - case 4102: set_field_handler(fieldid, lv_contratto_handler); break; - case 4103: set_field_handler(fieldid, lv_bolla_handler); break; - case 4105: set_field_handler(fieldid, lv_dataprco_handler); break; + case 4101: set_field_handler(fieldid, lv_data_handler); break; + case 4102: set_field_handler(fieldid, lv_contratto_handler); break; + case 4103: set_field_handler(fieldid, lv_bolla_handler); break; + case 4105: set_field_handler(fieldid, lv_dataprco_handler); break; default : TDocumento_mask::user_set_handler(fieldid, index); break; } }