diff --git a/lv/lv2200.cpp b/lv/lv2200.cpp index c8fba2e5d..3f5ad59d7 100755 --- a/lv/lv2200.cpp +++ b/lv/lv2200.cpp @@ -146,8 +146,8 @@ bool TGestione_planning_mask::changed(TToken_string& oldrow, TToken_string& newr { const TSheet_field& sheet = sfield(F_PLAN); const int i = sheet.cid2index(id); - const TFixed_string oldval(oldrow.get(i)); - const TFixed_string newval(newrow.get(i)); + TString80 oldval(oldrow.get(i)); oldval.trim(); + TString80 newval(newrow.get(i)); newval.trim(); return oldval != newval; } @@ -352,8 +352,9 @@ bool TGestione_planning_mask::cancella_riga() void TGestione_planning_mask::nuova_riga() { TSheet_field& sheet = sfield(F_PLAN); + TToken_string& rigamodificata = sheet.row(sheet.selected()); - + rigamodificata.add(get_date(F_DADATA),sheet.cid2index(F_S_DATA)); if (!field(F_CODCF).empty()) @@ -375,9 +376,12 @@ bool TGestione_planning_mask::richiesta_modifica() { //variabili che mi premettono di lavorare sullo sheet TSheet_field& sheet = sfield(F_PLAN); - TToken_string& rigamodificata = sheet.row(sheet.selected()); //metto in una stringa la riga che sto analizzando + TToken_string& rigamodificata = sheet.row(sheet.selected()); //metto in una stringa la riga che sto analizzando + + if (!changed(_rigaoriginale,rigamodificata,F_S_DATA) && !changed(_rigaoriginale,rigamodificata,F_S_ITI) && !changed(_rigaoriginale,rigamodificata,F_S_CODCF) && !changed(_rigaoriginale,rigamodificata,F_S_CODCONT)) + return true; - //estraggo i dati di interesse dalla riga che ho modificato + //estraggo i dati di interesse dalla riga che ho modificato e da quella originale int pos = sheet.cid2index(F_S_DATA); const TDate data = rigamodificata.get(pos); const long codplan = data.date2ansi(); @@ -460,7 +464,7 @@ bool TGestione_planning_mask::on_field_event(TOperable_field& o, TField_event e, case se_notify_add: //se si aggiunge una riga nuova allo sheet, svuota la var globale e aggiungi la riga anche al file _rigaoriginale = ""; nuova_riga(); - break; + break; default: break; } break; diff --git a/lv/lv2200a.uml b/lv/lv2200a.uml index 8f07f8164..ef1065785 100755 --- a/lv/lv2200a.uml +++ b/lv/lv2200a.uml @@ -175,7 +175,7 @@ NUMBER F_S_RIGA 5 BEGIN PROMPT 60 2 "Riga " FLAGS "DG" - MESSAGE EMPTY ENABLE,F_S_CODCONT + MESSAGE EMPTY ENABLE,F_S_CODCONT MESSAGE DISABLE,F_S_CODCONT FIELD CODRIGA CHECKTYPE REQUIRED @@ -225,8 +225,8 @@ BEGIN USE LF_CLIFO KEY 1 INPUT TIPOCF "C" INPUT CODCF F_S_CODCF - DISPLAY "Codice " F_S_SCODCF - DISPLAY "Ragione sociale@50" F_S_RAGSOC + DISPLAY "Codice " CODCF + DISPLAY "Ragione sociale@50" RAGSOC OUTPUT F_S_CODCF CODCF OUTPUT F_S_RAGSOCCLI RAGSOC CHECKTYPE REQUIRED @@ -241,11 +241,11 @@ END NUMBER F_S_CODCONT 6 BEGIN PROMPT 2 7 "Contratto " - FLAGS "DU" + FLAGS "U" USE LF_LVCONDV JOIN LF_CLIFO INTO TIPOCF="C" CODCF=CODCF - INPUT CODCONT F_S_CODCONT INPUT CODCF F_S_CODCF + INPUT CODCONT F_S_CODCONT DISPLAY "Codice@6" CODCONT DISPLAY "Cliente@50" LF_CLIFO->RAGSOC DISPLAY "Codice Cliente" CODCF @@ -253,6 +253,7 @@ BEGIN OUTPUT F_S_CODCF CODCF OUTPUT F_S_RAGSOCCLI LF_CLIFO->RAGSOC FIELD CODCONT + CHECKTYPE REQUIRED END GROUPBOX DLG_NULL 76 4