diff --git a/at/at0300.cpp b/at/at0300.cpp index 8482c810f..3e33c6e2a 100755 --- a/at/at0300.cpp +++ b/at/at0300.cpp @@ -391,6 +391,24 @@ bool TGiornalieroC::soggetti_notify(TSheet_field& s, int r, KEY k) contsan.put(CON_CODICE,codsog); if (contsan.read() == NOERR) return s.sheet_mask().field(F_S_CODICE).error_box("Il soggetto ha gia' un controllo in data %s", datacon.string()); + else + { + TString16 tipocon = row.get(3); + if (tipocon.blank()) + tipocon = s.mask().get(F_TIPOCON); + const char modstato = modstato_tcs(tipocon); + if ( modstato == 'I' || modstato == 'M') + { + TString16 idon1 = row.get(4); + TString16 idon2 = row.get(5); + TString16 idon3 = row.get(6); + TString16 idon4 = row.get(7); + int intsi = row.get_int(8); + int intaf = row.get_int(9); + if ((idon1.blank() && idon2.blank() && idon3.blank() && idon4.blank()) || (intsi==0 && intaf==0)) + return s.sheet_mask().field(F_S_CODICE).error_box("Il soggetto non ha idoneita' precedenti; inserire idoneita' e intervalli"); + } + } } else {