diff --git a/lv/lv2200.cpp b/lv/lv2200.cpp index 0cd138cdb..24328b0fa 100755 --- a/lv/lv2200.cpp +++ b/lv/lv2200.cpp @@ -42,9 +42,21 @@ public: //questa funzione si occupa di riempire lo sheet dinamicamente in base ai parametri che l'utente decide void TGestione_planning_mask::fill_sheet() { - if (field(F_DADATA).empty() || field(F_ADATA).empty()) + if (field(F_DADATA).empty()) return; + TDate adata; + if (field(F_ADATA).empty()) + { + //instanzio un recordset sui planning, filtrando sui coditi + TISAM_recordset rplan("USE LVRCONSPLAN KEY 2\nFROM DTCONS=#DADATA"); + rplan.set_var("#DADATA", get_date(F_DADATA)); + rplan.move_last(); + adata = rplan.get(LVRCONSPLAN_DTCONS).as_date(); + } + else + adata = get_date(F_ADATA); + TString query = "USE LVRCONSPLAN KEY 2"; const long coditi = get_long(F_CODITI); const long codcli = get_long(F_CODCF); @@ -62,7 +74,7 @@ void TGestione_planning_mask::fill_sheet() } query << "\n"; query << "FROM DTCONS=" << get(F_DADATA) << "\n"; - query << "TO DTCONS=" << get(F_ADATA) << "\n"; + query << "TO DTCONS=" << adata << "\n"; TISAM_recordset plan(query); @@ -437,7 +449,7 @@ bool TGestione_planning_mask::on_field_event(TOperable_field& o, TField_event e, case F_ADATA: case F_CODITI: case F_CODCF: - if (e == fe_modify) + if (e == fe_modify || e == fe_init) { fill_sheet(); } diff --git a/lv/lv2200a.uml b/lv/lv2200a.uml index a6b244291..ddb603ad3 100755 --- a/lv/lv2200a.uml +++ b/lv/lv2200a.uml @@ -41,6 +41,7 @@ BEGIN PROMPT 2 2 "Visualizza i giri dal " FIELD DADATA CHECKTYPE REQUIRED + FLAGS "A" END DATE F_ADATA @@ -49,7 +50,7 @@ BEGIN FIELD ADATA VALIDATE DATE_CMP_FUNC >= F_DADATA WARNING "Inserire una data finale maggiore della data di inizio" - CHECKTYPE REQUIRED + CHECKTYPE NORMAL END STRING F_CODITI 3