diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index 4ae3e0213..c9ceab041 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -411,14 +411,7 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k) //instanzio una cache sulle anagrafice di magazzino const TRectype& anamag = cache().get(LF_ANAMAG,codart); - - //instanzio in TRecordset sui giri - TISAM_recordset giri("USE LVRCONSPLAN KEY 3\nSELECT DTCONS>#DATADOC\nFROM CODCF=#CODCF CODCONT=#CODCONT\nTO CODCF=#CODCF CODCONT=#CODCONT"); - giri.set_var("#DATADOC", datadoc); - giri.set_var("#CODCF", codcf); - giri.set_var("#CODCONT", codcont); - giri.move_first(); - + rdoc.put(RDOC_CODART,codart); rdoc.put(RDOC_CODARTMAG,codart); rdoc.put(RDOC_CHECKED,'X'); @@ -428,11 +421,24 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k) rdoc.put(RDOC_CODIVA,anamag.get(ANAMAG_CODIVA)); //setto le date di inizio e fine della dotazione temporanea - rdoc.put("DADATATMP", rcont.get(LVRCONDV_INDTTMP).as_date()); - if (rcont.get(LVRCONDV_FIDTTMP).as_date() < datadoc) - rdoc.put("ADATATMP", rcont.get(LVRCONDV_FIDTTMP).as_date()); - else - rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date()); + TDate dadata = rcont.get(LVRCONDV_INDTTMP).as_date(); + TDate adata = rcont.get(LVRCONDV_FIDTTMP).as_date(); + if (dadata.ok() && adata.ok()) + { + rdoc.put("DADATATMP", dadata); + if (adata < datadoc) + rdoc.put("ADATATMP", adata); + else + { + //instanzio in TRecordset sui giri + TISAM_recordset giri("USE LVRCONSPLAN KEY 3\nSELECT DTCONS>#DATADOC\nFROM CODCF=#CODCF CODCONT=#CODCONT\nTO CODCF=#CODCF CODCONT=#CODCONT"); + giri.set_var("#DATADOC", datadoc); + giri.set_var("#CODCF", codcf); + giri.set_var("#CODCONT", codcont); + giri.move_first(); + rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date()); + } + } //elaborazione per il prezzo: o lo prendo dalle righe contratto, o dall'anagrafica magazzino const TString& sconto = rcont.get(LVRCONDV_SCONTPERC).as_string();