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);
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);