From 0fd04df32e101550437cab628b5d7aec74fcb9bb Mon Sep 17 00:00:00 2001 From: villa Date: Fri, 1 Sep 1995 09:08:52 +0000 Subject: [PATCH] Visualizzazione si spera che funzione git-svn-id: svn://10.65.10.50/trunk@1771 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg5500.cpp | 92 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 63 insertions(+), 29 deletions(-) diff --git a/cg/cg5500.cpp b/cg/cg5500.cpp index ca44e5037..6272b0542 100755 --- a/cg/cg5500.cpp +++ b/cg/cg5500.cpp @@ -366,13 +366,21 @@ bool Visliq_app::sel_mese_sh1 (TMask_field& f, KEY k) app().vis_one(month); TMask& sm = sh.sheet_mask(); + app().set_liq_rows(sh); - // TBC controllare se sono i dati giusti in tt - sm.field(102).set(tt.get(1)); - sm.field(103).set(tt.get(2)); - sm.field(104).set(tt.get(3)); - sm.field(105).set(tt.get(4)); - sm.field(106).set(tt.get(5)); + if (sm.is_running()) + { + // TBC controllare se sono i dati giusti in tt + sm.field(102).set(tt.get(1)); + sm.field(103).set(tt.get(2)); + 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)) { @@ -419,6 +427,7 @@ bool Visliq_app::sel_mese_sh2 (TMask_field& f, KEY k) app().vis_one(month); TMask& sv = sh.sheet_mask(); + app().set_vers_rows(sh); 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; } if (msk.field(F_RIMBORSO).dirty()) - { - rimborso = n_rimborso; - l_mod = TRUE; + { + bool ok = 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()) { @@ -1207,15 +1232,18 @@ void Visliq_app::write_general(TMask& m) int step = _freqviva == "M" ? 1 : 3; bool carry = TRUE; bool was_lim; + TMask& shm = sh.sheet_mask(); + TMask& svm = sv.sheet_mask(); for (int i = step; i < 13; i += step) { // this is a true bordel 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) && - sv.sheet_mask().is_running(); + svm.is_running(); TToken_string& tt_lo = (TToken_string&)_liq_rows[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 if (lfrommask) { - tt_ln.add(sh.sheet_mask().get(102),1); - tt_ln.add(sh.sheet_mask().get(103),2); - tt_ln.add(sh.sheet_mask().get(104),3); - tt_ln.add(sh.sheet_mask().get(105),4); - tt_ln.add(sh.sheet_mask().get(106),5); + tt_ln.add(shm.get(102),1); + tt_ln.add(shm.get(103),2); + tt_ln.add(shm.get(104),3); + tt_ln.add(shm.get(105),4); + tt_ln.add(shm.get(106),5); } // saltare una riga se dicembre (riga 11 == acconto) @@ -1236,11 +1264,11 @@ void Visliq_app::write_general(TMask& m) if (vfrommask) { - tt_vn.add(sv.sheet_mask().get(102),1); - tt_vn.add(sv.sheet_mask().get(103),2); - tt_vn.add(sv.sheet_mask().get(104),3); - tt_vn.add(sv.sheet_mask().get(105),4); - tt_vn.add(sv.sheet_mask().get(106),5); + tt_vn.add(svm.get(102),1); + tt_vn.add(svm.get(103),2); + tt_vn.add(svm.get(104),3); + tt_vn.add(svm.get(105),4); + tt_vn.add(svm.get(106),5); } // traduci contenuto righe in real pila @@ -1360,6 +1388,8 @@ void Visliq_app::write_general(TMask& m) // scrivi _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 if (nrett.is_zero()) @@ -1427,6 +1457,7 @@ void Visliq_app::write_general(TMask& m) risl += nrimb; // scrivi _lim->put("R1", nrimb); + tt_lo.add(nrimb.string(), 3); } } _lam->put("R2", newcred); @@ -1474,19 +1505,22 @@ if (was_lim) tt_ln.add(abs(_lim->get_real("R5")).string(),4); tt_ln.add(sr5 == 0 ? "" : (sr5 > 0 ? "D" : "C"),5); - sh.force_update(row); + // sh.force_update(row); } _from_one = FALSE; } // for mese liq. (riga sheet) -// Rileggi array righe vecchie -_vers_rows = sv.rows_array(); -_liq_rows = sh.rows_array(); +sh.force_update(); +if (shm.is_running()) + sh.force_update(sh.selected()); + // Rileggi array righe vecchie + set_vers_rows(sv); + set_liq_rows(sh); -// m.dirty() deve ritornare FALSE -m.field(F_CREDPREC).set_dirty(FALSE); -m.field(F_VISLIQ1).set_dirty(FALSE); -m.field(F_VISLIQ2).set_dirty(FALSE); + // m.dirty() deve ritornare FALSE + m.field(F_CREDPREC).set_dirty(FALSE); + m.field(F_VISLIQ1).set_dirty(FALSE); + m.field(F_VISLIQ2).set_dirty(FALSE); }