From 225c9c7c06f4e19e14a4dd59771320e70793b526 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 20 May 2010 13:04:32 +0000 Subject: [PATCH] Patch level : 10.0 746 Files correlati : ef0.exe Ricompilazione Demo : [ ] Commento Bug: 0001639: Modificare il default del tasto F8 nelle disposizioni incasso/pagamento Il default nel caso di distinte attive deve essere la data di scadenza mentre per quelle passive la data di pagamento indicata nella distinta git-svn-id: svn://10.65.10.50/trunk@20483 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ef/ef0a00.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/ef/ef0a00.cpp b/ef/ef0a00.cpp index d55e983b9..eddaff4b6 100755 --- a/ef/ef0a00.cpp +++ b/ef/ef0a00.cpp @@ -65,8 +65,10 @@ bool TPE_mask::on_key(KEY key) { s.update_row(row); TToken_string & r = s.row(row); + const bool attivo = get(F_TIPOCF) == "C"; + const TString data(attivo ? get(F_DATADIST) : r.get(s.cid2index(F_DATA))); - r.add(get(F_DATADIST), s.cid2index(F_DATAPAG)); + r.add(data, s.cid2index(F_DATAPAG)); s.update_mask(row); s.force_update(row); } @@ -204,6 +206,7 @@ bool TPE_mask::fill_row(const TRiga_scadenze& rs, TToken_string& row, bool& part char accsal; int rigadist, rigaeff; TDate datapag; bool valben = false; + const bool attivo = get(F_TIPOCF) == "C"; row.cut(0); bool ok = calc_residual(rs, impres, imppag, datapag, valben, accsal, rigadist, rigaeff, partially_unassigned, tipopag, is_old) || force; @@ -213,7 +216,8 @@ bool TPE_mask::fill_row(const TRiga_scadenze& rs, TToken_string& row, bool& part { row.add(imppag.string()); row.add(accsal); - row.add(datapag == rs.get_date(SCAD_DATASCAD) ? "" : datapag); + const TDate datadef = attivo ? rs.get_date(SCAD_DATASCAD) : get_date(F_DATADIST); + row.add(datapag == datadef ? "" : datapag); row.add(valben ? "X" : ""); row.add(impres.string()); row.add(rs.get_long(SCAD_SOTTOCONTO)); @@ -616,6 +620,7 @@ void TPE_mask::save_rate() const int tipopag = get_int(F_TIPOPAG); bool zeroes = false; // Esistono righe effetto da cancellare + const bool attivo = get(F_TIPOCF) == "C"; TSheet_field& sheet = sfield(F_SHEET); FOR_EACH_SHEET_ROW(sheet, r, row) @@ -650,7 +655,7 @@ void TPE_mask::save_rate() TDate datapag(row->get(sheet.cid2index(F_DATAPAG))); if (!datapag.ok()) - datapag = scad.get(SCAD_DATASCAD); + datapag = attivo ? scad.get(SCAD_DATASCAD) : get(F_DATADIST); if (rigaeff <= 0) { const char tipocf = get(F_TIPOCF)[0]; @@ -680,7 +685,6 @@ void TPE_mask::save_rate() TEffetto& eff = distinta[rigadist-1]; - eff.put(EFF_DATASCAD, datapag); eff.put(EFF_DSCVAL, row->get(sheet.cid2index(F_VALBEN))); eff.put(EFF_TIPOPAG, tipopag); eff.put(EFF_CODABI, abi); @@ -689,6 +693,7 @@ void TPE_mask::save_rate() } TEffetto& eff = distinta[rigadist-1]; + eff.put(EFF_DATASCAD, datapag); check_bank(eff, log); // Cerca di sistemare ABI/CAB/IBAN TRectype& reff = eff.row_r(rigaeff); @@ -1052,10 +1057,11 @@ bool TPE_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) if (e == fe_close) { TDate datapag(o.get()); + const bool attivo = get(F_TIPOCF) == "C"; if (!datapag.ok()) - datapag = o.mask().get(F_DATA); - return datapag >= get_date(F_DATADIST) || yesno_box("Riga n. %d. Data pagamento precedente alla data distinta.\n Si desidera continuare", sfield(F_SHEET).selected()); + datapag = attivo ? o.mask().get_date(F_DATA) : get_date(F_DATADIST); + return datapag >= get_date(F_DATADIST) || yesno_box("Riga n. %d. Data pagamento precedente alla data distinta.\n Si desidera continuare", sfield(F_SHEET).selected() + 1); } case F_SHEET: return on_sheet_event(o, e, jolly);