diff --git a/lv/lv2100.cpp b/lv/lv2100.cpp index 9930c4ab9..26c0dcd7b 100755 --- a/lv/lv2100.cpp +++ b/lv/lv2100.cpp @@ -203,8 +203,11 @@ int TGenera_planning_app::conta_consegne_mese(long codcf, long codcont, const TD { TDate dadata = adata; dadata.set_day(1); + + const int giorno = adata.wday(); + //instanzia un recordset di LVRCONSPLAN prendendo tutte le consegne fatte per un cliente su un certo... - //...itinerario prima di una certa data + //...itinerario prima di una certa data (conta giorno per giorno) TISAM_recordset rplan("USE LVRCONSPLAN KEY 3\nSELECT CODITI=#CODITI\nFROM CODCF=#CODCF CODCONT=#CODCONT DTCONS=#DADATA\nTO CODCF=#CODCF CODCONT=#CODCONT DTCONS=#ADATA"); rplan.set_var("#CODITI",coditi); rplan.set_var("#CODCF",codcf); @@ -212,7 +215,17 @@ int TGenera_planning_app::conta_consegne_mese(long codcf, long codcont, const TD rplan.set_var("#DADATA",dadata); rplan.set_var("#ADATA",adata); - return rplan.items(); + int contatore = 0; + + for (bool ok = rplan.move_first(); ok; ok = rplan.move_next()) + { + TDate data = rplan.get(LVRCONSPLAN_DTCONS).as_date(); + + if (giorno == data.wday()) + contatore++; + } + + return contatore; } //ARROTONDA_AL_GIORNO: questo metodo arrotonda per eccesso la data al giorno della settimana desiderato @@ -367,7 +380,7 @@ void TGenera_planning_app::elabora_passaggio(const TDate& dadata, const TDate& a //se ho già raggiunto il numero massimo di consegne per mese... //...la riga, anche se supera tutti i controlli, non va elaborata - if (maxcons > 0 && conta_consegne_mese(codcf,codcont,d,coditi) >= maxcons) + if (maxcons > 0 && conta_consegne_mese(codcf, codcont, d, coditi) >= maxcons) continue; //scrivi la chiave