diff --git a/ve/velib03.cpp b/ve/velib03.cpp index fb3d49b9f..3e1b3faa5 100755 --- a/ve/velib03.cpp +++ b/ve/velib03.cpp @@ -794,13 +794,16 @@ void TDocumento::dirty_fields() f != NULL; f = (TDocumento_variable_field *) succ_variable_field()) f->set_dirty(); dirty_tabella_iva(); - TRecord_array& righe = body(LF_RIGHEDOC); - for (int i = righe.last_row(); i > 0; i = righe.pred_row(i)) - { - TRiga_documento & r = (TRiga_documento &) row(i); - r.dirty_fields(false); - } + if (loaded_rows(LF_RIGHEDOC)) // Se ho gia' caricato delle righe in memoria + { + TRecord_array& righe = body(LF_RIGHEDOC); + for (int i = righe.last_row(); i > 0; i = righe.pred_row(i)) + { + TRiga_documento & r = (TRiga_documento &) righe[i]; + r.dirty_fields(FALSE); + } + } _dirty_deny = true; } }