diff --git a/src/li/li0400.cpp b/src/li/li0400.cpp index c58d65d08..1b915b128 100755 --- a/src/li/li0400.cpp +++ b/src/li/li0400.cpp @@ -63,6 +63,19 @@ bool TLetint_mask::on_field_event(TOperable_field& o, TField_event e, long jolly const TDate dataem(o.get()); if (dataem > datareg) return error_box(FR("Data di emissione %s superiore alla data di registrazione %s"), (const char *) dataem.string(), (const char *) datareg.string()); + + const TDate limite("28-02-2017"); + TList_field & f = lfield(F_TIPOOP); + const TString16 c = f.get_codes(); + + if (datareg > limite || dataem > limite) + f.delete_item("3"); + else + if (c.find("3") < 0) + { + f.add_item("3|Nel periodo"); + f.message(-1, true)->add("ENABLE,1@|CLEAR,F_IMPORTO"); + } } break; case F_DATAREG: @@ -86,6 +99,25 @@ bool TLetint_mask::on_field_event(TOperable_field& o, TField_event e, long jolly return error_box(TR("La data di registrazione non puo' essere antecedente a %s"), (const char*) ultima.string()); } } + else + if (e == fe_modify) + { + const TDate datareg(o.mask().get(F_DATAREG)); + const TDate dataem(o.mask().get(F_VSDATA)); + const TDate limite("28-02-2017"); + TList_field & f = lfield(F_TIPOOP); + const TString16 c = f.get_codes(); + + if (datareg > limite || dataem > limite) + f.delete_item("3"); + else + if (c.find("3") < 0) + { + f.add_item("3|Nel periodo"); + f.message(-1, true)->add("ENABLE,1@|CLEAR,F_IMPORTO"); + } + + } break; default: