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
This commit is contained in:
alex 2010-05-20 13:04:32 +00:00
parent 09c9f45419
commit 225c9c7c06

View File

@ -65,8 +65,10 @@ bool TPE_mask::on_key(KEY key)
{ {
s.update_row(row); s.update_row(row);
TToken_string & r = s.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.update_mask(row);
s.force_update(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; char accsal; int rigadist, rigaeff;
TDate datapag; TDate datapag;
bool valben = false; bool valben = false;
const bool attivo = get(F_TIPOCF) == "C";
row.cut(0); row.cut(0);
bool ok = calc_residual(rs, impres, imppag, datapag, valben, accsal, rigadist, rigaeff, partially_unassigned, tipopag, is_old) || force; 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(imppag.string());
row.add(accsal); 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(valben ? "X" : "");
row.add(impres.string()); row.add(impres.string());
row.add(rs.get_long(SCAD_SOTTOCONTO)); row.add(rs.get_long(SCAD_SOTTOCONTO));
@ -616,6 +620,7 @@ void TPE_mask::save_rate()
const int tipopag = get_int(F_TIPOPAG); const int tipopag = get_int(F_TIPOPAG);
bool zeroes = false; // Esistono righe effetto da cancellare bool zeroes = false; // Esistono righe effetto da cancellare
const bool attivo = get(F_TIPOCF) == "C";
TSheet_field& sheet = sfield(F_SHEET); TSheet_field& sheet = sfield(F_SHEET);
FOR_EACH_SHEET_ROW(sheet, r, row) FOR_EACH_SHEET_ROW(sheet, r, row)
@ -650,7 +655,7 @@ void TPE_mask::save_rate()
TDate datapag(row->get(sheet.cid2index(F_DATAPAG))); TDate datapag(row->get(sheet.cid2index(F_DATAPAG)));
if (!datapag.ok()) if (!datapag.ok())
datapag = scad.get(SCAD_DATASCAD); datapag = attivo ? scad.get(SCAD_DATASCAD) : get(F_DATADIST);
if (rigaeff <= 0) if (rigaeff <= 0)
{ {
const char tipocf = get(F_TIPOCF)[0]; const char tipocf = get(F_TIPOCF)[0];
@ -680,7 +685,6 @@ void TPE_mask::save_rate()
TEffetto& eff = distinta[rigadist-1]; TEffetto& eff = distinta[rigadist-1];
eff.put(EFF_DATASCAD, datapag);
eff.put(EFF_DSCVAL, row->get(sheet.cid2index(F_VALBEN))); eff.put(EFF_DSCVAL, row->get(sheet.cid2index(F_VALBEN)));
eff.put(EFF_TIPOPAG, tipopag); eff.put(EFF_TIPOPAG, tipopag);
eff.put(EFF_CODABI, abi); eff.put(EFF_CODABI, abi);
@ -689,6 +693,7 @@ void TPE_mask::save_rate()
} }
TEffetto& eff = distinta[rigadist-1]; TEffetto& eff = distinta[rigadist-1];
eff.put(EFF_DATASCAD, datapag);
check_bank(eff, log); // Cerca di sistemare ABI/CAB/IBAN check_bank(eff, log); // Cerca di sistemare ABI/CAB/IBAN
TRectype& reff = eff.row_r(rigaeff); 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) if (e == fe_close)
{ {
TDate datapag(o.get()); TDate datapag(o.get());
const bool attivo = get(F_TIPOCF) == "C";
if (!datapag.ok()) if (!datapag.ok())
datapag = o.mask().get(F_DATA); 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()); 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: case F_SHEET:
return on_sheet_event(o, e, jolly); return on_sheet_event(o, e, jolly);