diff --git a/cg/cg2105.cpp b/cg/cg2105.cpp index bb776ef11..722ff997a 100755 --- a/cg/cg2105.cpp +++ b/cg/cg2105.cpp @@ -98,7 +98,7 @@ public: class TPay_mask : public TMask { - TDate _datadoc; + TDate _datadoc, _datarat; real _da_pagare, _pagabile; const TGame_mask* _parent; @@ -360,6 +360,7 @@ void TPay_mask::set_pag(const TRectype& oldpag, const TRiga_scadenze& scad, // Gestione data-pagamento: non puo' precedere la data del documento _datadoc = sum.get_date(PART_DATADOC); + _datarat = _assigned ? scad.get(SCAD_DATASCAD) : EMPTY_STRING; set_handler(S_DATAPAG, datapag_handler); const bool mostra_ritenute = !sum.is_nota_credito(); @@ -515,13 +516,15 @@ bool TPay_mask::saldo_handler(TMask_field& f, KEY k) bool TPay_mask::datapag_handler(TMask_field& f, KEY k) { - if (f.to_check(k)) + if (f.to_check(k) || k == K_ENTER) { const TDate datapag(f.get()); TPay_mask& m = (TPay_mask&)f.mask(); if (datapag < m._datadoc) return f.error_box(FR("La data del pagamento e' inferiore alla data del documento %s"), m._datadoc.string()); + if (datapag < m._datarat) + warning_box(TR("Attenzione: la data del pagamento precede quella della rata")); } return TRUE; }