From aa4ae86039ca554a68e00d368837009f7e84b237 Mon Sep 17 00:00:00 2001 From: luca83 Date: Fri, 12 Sep 2008 13:46:34 +0000 Subject: [PATCH] Patch level : 10.0 Files correlati : Ricompilazione Demo : [ ] Commento : Cambia i dati di autista e/o mezzo a tutte le righe di un planning SOLO se richiesto dall'utente git-svn-id: svn://10.65.10.50/trunk@17240 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv2200.cpp | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/lv/lv2200.cpp b/lv/lv2200.cpp index c844572e1..4b7db5a42 100755 --- a/lv/lv2200.cpp +++ b/lv/lv2200.cpp @@ -26,6 +26,7 @@ private: bool changed(TToken_string& oldrow, TToken_string& newrow, short id); int codice_riga(const TDate& data); void aggiorna_plan(); + void rewrite_all(TToken_string& rigamodificata, TDate& data, long codplan); bool cancella_riga(); void nuova_riga(); @@ -126,7 +127,7 @@ void TGestione_planning_mask::aggiorna_plan() { //bool che indicano se effettivamente devo fare una rewrite dei dati... //...se ho modificato un autista e/o un mezzo, questo va modificato su tutte... - //...le righe di quel planning + //...le righe di quel planning se confermato dall'utente bool dorewrite = false; bool updatecar = false; @@ -213,10 +214,28 @@ void TGestione_planning_mask::aggiorna_plan() rplan.curr().zero(LVRCONSPLAN_CONSSTD); lv_set_update_info(rplan.curr()); rplan.rewrite(); - } + if (updatecar) + rewrite_all(rigamodificata, data, codplan); + } + return; +} + +void TGestione_planning_mask::rewrite_all(TToken_string& rigamodificata, TDate& data, long codplan) +{ + //instanzio una variabile di sheet + TSheet_field& sheet = sfield(F_PLAN); + + //instanzio un isam file sulla tabella dei planning + TLocalisamfile rplan(LF_LVRCONSPLAN); + //se ho modificato autista e/o mezzo, allora: - if (updatecar) + TString msg; + msg << "Si desidera apportare le stesse modifiche\n" + << " sull'autista e/o sul mezzo su tutte le righe\n" + << " del planning in data " << data << "?"; + + if (yesno_box(msg)) { //recupero dai dati modificati i nuovi valori di autista e mezzo const int codaut = rigamodificata.get_int(sheet.cid2index(F_S_CODAUT)); @@ -233,7 +252,7 @@ void TGestione_planning_mask::aggiorna_plan() for (bool ok = recrplan.move_first(); ok; ok = recrplan.move_next()) { - //cambio autisyta e mezzo + //cambio autista e mezzo rec.put(LVRCONSPLAN_CODAUT,codaut); rec.put(LVRCONSPLAN_CODMEZ,codmez); rec.zero(LVRCONSPLAN_CONSSTD); @@ -242,6 +261,8 @@ void TGestione_planning_mask::aggiorna_plan() rec.rewrite(rplan); } } + fill_sheet(); + return; } //questa funzione elimina una riga dal planning @@ -356,8 +377,7 @@ bool TGestione_planning_mask::on_field_event(TOperable_field& o, TField_event e, const TRectype& iti = cache().get("&ITI",o.get()); if (!iti.empty()) - { - + { const bool riganuova = msk.get_int(F_S_RIGA) <= 0; if (riganuova || msk.field(F_S_CODAUT).empty()) msk.set(F_S_CODAUT,iti.get("S1"));