Visualizzazione si spera che funzione

git-svn-id: svn://10.65.10.50/trunk@1771 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1995-09-01 09:08:52 +00:00
parent 3359cbd129
commit 0fd04df32e

View File

@ -366,13 +366,21 @@ bool Visliq_app::sel_mese_sh1 (TMask_field& f, KEY k)
app().vis_one(month); app().vis_one(month);
TMask& sm = sh.sheet_mask(); TMask& sm = sh.sheet_mask();
app().set_liq_rows(sh);
// TBC controllare se sono i dati giusti in tt if (sm.is_running())
sm.field(102).set(tt.get(1)); {
sm.field(103).set(tt.get(2)); // TBC controllare se sono i dati giusti in tt
sm.field(104).set(tt.get(3)); sm.field(102).set(tt.get(1));
sm.field(105).set(tt.get(4)); sm.field(103).set(tt.get(2));
sm.field(106).set(tt.get(5)); sm.field(104).set(tt.get(3));
sm.field(105).set(tt.get(4));
sm.field(106).set(tt.get(5));
}
sh.row(sel) = tt;
sh.force_update(sel);
if (app().look_del(month,1)) if (app().look_del(month,1))
{ {
@ -419,6 +427,7 @@ bool Visliq_app::sel_mese_sh2 (TMask_field& f, KEY k)
app().vis_one(month); app().vis_one(month);
TMask& sv = sh.sheet_mask(); TMask& sv = sh.sheet_mask();
app().set_vers_rows(sh);
if (app().look_del(month, sel == (sh.items() - 1) ? 7 : 1)) if (app().look_del(month, sel == (sh.items() - 1) ? 7 : 1))
{ {
@ -684,9 +693,25 @@ bool Visliq_app::vis_one(int m)
l_mod = TRUE; l_mod = TRUE;
} }
if (msk.field(F_RIMBORSO).dirty()) if (msk.field(F_RIMBORSO).dirty())
{ {
rimborso = n_rimborso; bool ok = TRUE;
l_mod = TRUE; if (!n_rimborso.is_zero())
{
// check diritto
if (!_lim->get_bool("B2"))
ok = yesno_box("Non risulta diritto al rimborso per il mese %d. Si desidera "
"confermare ugualmente?", m);
}
if (ok)
{
rimborso = n_rimborso;
l_mod = TRUE;
}
else
{
msk.field(F_RIMBORSO).set(rimborso.string());
msk.field(F_RIMBORSO).set_dirty(FALSE);
}
} }
if (msk.field(F_DESCR1).dirty()) if (msk.field(F_DESCR1).dirty())
{ {
@ -1207,15 +1232,18 @@ void Visliq_app::write_general(TMask& m)
int step = _freqviva == "M" ? 1 : 3; int step = _freqviva == "M" ? 1 : 3;
bool carry = TRUE; bool carry = TRUE;
bool was_lim; bool was_lim;
TMask& shm = sh.sheet_mask();
TMask& svm = sv.sheet_mask();
for (int i = step; i < 13; i += step) for (int i = step; i < 13; i += step)
{ {
// this is a true bordel // this is a true bordel
int row = (i/step) - 1; int row = (i/step) - 1;
bool lfrommask = sh.selected() == row && (sh.sheet_mask().is_running() || _from_one);
bool lfrommask = sh.selected() == row && (shm.is_running() || _from_one);
bool vfrommask = sv.selected() == (i == 12 ? row + 1 : row) && bool vfrommask = sv.selected() == (i == 12 ? row + 1 : row) &&
sv.sheet_mask().is_running(); svm.is_running();
TToken_string& tt_lo = (TToken_string&)_liq_rows[row]; TToken_string& tt_lo = (TToken_string&)_liq_rows[row];
TToken_string& tt_ln = sh.row(row); TToken_string& tt_ln = sh.row(row);
@ -1223,11 +1251,11 @@ void Visliq_app::write_general(TMask& m)
// risolve menata del dettaglio si'/no // risolve menata del dettaglio si'/no
if (lfrommask) if (lfrommask)
{ {
tt_ln.add(sh.sheet_mask().get(102),1); tt_ln.add(shm.get(102),1);
tt_ln.add(sh.sheet_mask().get(103),2); tt_ln.add(shm.get(103),2);
tt_ln.add(sh.sheet_mask().get(104),3); tt_ln.add(shm.get(104),3);
tt_ln.add(sh.sheet_mask().get(105),4); tt_ln.add(shm.get(105),4);
tt_ln.add(sh.sheet_mask().get(106),5); tt_ln.add(shm.get(106),5);
} }
// saltare una riga se dicembre (riga 11 == acconto) // saltare una riga se dicembre (riga 11 == acconto)
@ -1236,11 +1264,11 @@ void Visliq_app::write_general(TMask& m)
if (vfrommask) if (vfrommask)
{ {
tt_vn.add(sv.sheet_mask().get(102),1); tt_vn.add(svm.get(102),1);
tt_vn.add(sv.sheet_mask().get(103),2); tt_vn.add(svm.get(103),2);
tt_vn.add(sv.sheet_mask().get(104),3); tt_vn.add(svm.get(104),3);
tt_vn.add(sv.sheet_mask().get(105),4); tt_vn.add(svm.get(105),4);
tt_vn.add(sv.sheet_mask().get(106),5); tt_vn.add(svm.get(106),5);
} }
// traduci contenuto righe in real pila // traduci contenuto righe in real pila
@ -1360,6 +1388,8 @@ void Visliq_app::write_general(TMask& m)
// scrivi // scrivi
_lim->put("R5",nrett); _lim->put("R5",nrett);
tt_lo.add(nrett.string(), 4);
tt_lo.add(nrett.sign() > 0 ? "D" : (nrett.is_zero() ? "" : "C"), 5);
// elimina descrixioni se nuove rett. sono 0 // elimina descrixioni se nuove rett. sono 0
if (nrett.is_zero()) if (nrett.is_zero())
@ -1427,6 +1457,7 @@ void Visliq_app::write_general(TMask& m)
risl += nrimb; risl += nrimb;
// scrivi // scrivi
_lim->put("R1", nrimb); _lim->put("R1", nrimb);
tt_lo.add(nrimb.string(), 3);
} }
} }
_lam->put("R2", newcred); _lam->put("R2", newcred);
@ -1474,19 +1505,22 @@ if (was_lim)
tt_ln.add(abs(_lim->get_real("R5")).string(),4); tt_ln.add(abs(_lim->get_real("R5")).string(),4);
tt_ln.add(sr5 == 0 ? "" : (sr5 > 0 ? "D" : "C"),5); tt_ln.add(sr5 == 0 ? "" : (sr5 > 0 ? "D" : "C"),5);
sh.force_update(row); // sh.force_update(row);
} }
_from_one = FALSE; _from_one = FALSE;
} // for mese liq. (riga sheet) } // for mese liq. (riga sheet)
// Rileggi array righe vecchie sh.force_update();
_vers_rows = sv.rows_array(); if (shm.is_running())
_liq_rows = sh.rows_array(); sh.force_update(sh.selected());
// Rileggi array righe vecchie
set_vers_rows(sv);
set_liq_rows(sh);
// m.dirty() deve ritornare FALSE // m.dirty() deve ritornare FALSE
m.field(F_CREDPREC).set_dirty(FALSE); m.field(F_CREDPREC).set_dirty(FALSE);
m.field(F_VISLIQ1).set_dirty(FALSE); m.field(F_VISLIQ1).set_dirty(FALSE);
m.field(F_VISLIQ2).set_dirty(FALSE); m.field(F_VISLIQ2).set_dirty(FALSE);
} }