From f3928e93b54f8c3a66b2145e3ff04be15a3648a2 Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 17 Apr 1997 10:20:35 +0000 Subject: [PATCH] MI6215 Aggiunto check dei campi nella memorizza_scelte MI6216 Corretta stampa mista di clienti e fornitori git-svn-id: svn://10.65.10.50/trunk@4286 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg3200.cpp | 57 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/cg/cg3200.cpp b/cg/cg3200.cpp index bfe682146..adc25239d 100755 --- a/cg/cg3200.cpp +++ b/cg/cg3200.cpp @@ -578,15 +578,16 @@ bool TMastrini_application::check_ordine(TMask_field& f, KEY k) bool TMastrini_application::memorizza_handler(TMask_field& f, KEY k) { - bool ok = TRUE; if (k == K_SPACE) { - TMask& m = f.mask(); - ok = app().mask2sheet(); - m.reset(-9); - m.set_focus_field(F_TIPOCF_INI); + if (app().mask2sheet()) + { + TMask& m = f.mask(); + m.reset(-9); + m.set_focus_field(F_TIPOCF_INI); + } } - return ok; + return TRUE; } bool TMastrini_application::scelte_notify(TSheet_field& s, int r, KEY k) @@ -3910,24 +3911,28 @@ void TMastrini_application::set_handlers(TMask* msk) const // a meno che non ci siano gia' bool TMastrini_application::mask2sheet() { - TToken_string row(120); + bool ok = _msk->check_fields(); - short id = F_ANNO; - for (int pos = _msk->id2pos(id); pos >= 0; pos = _msk->id2pos(++id)) - row.add(_msk->fld(pos).get()); - - bool ok = FALSE; - if (!row.empty_items()) + if (ok) { - TSheet_field& sht = (TSheet_field&)_msk->field(F_SCELTE); - TString_array& rows = sht.rows_array(); - ok = rows.find(row) < 0; // Aggiunge solo se non c'e' gia' - if (ok) + TToken_string row(120); + short id = F_ANNO; + for (int pos = _msk->id2pos(id); pos >= 0; pos = _msk->id2pos(++id)) + row.add(_msk->fld(pos).get()); + + if (!row.empty_items()) { - rows.add(row); - sht.force_update(); - } + TSheet_field& sht = (TSheet_field&)_msk->field(F_SCELTE); + TString_array& rows = sht.rows_array(); + ok = rows.find(row) < 0; // Aggiunge solo se non c'e' gia' + if (ok) + { + rows.add(row); + sht.force_update(); + } + } } + return ok; } @@ -3938,13 +3943,19 @@ bool TMastrini_application::sheet2mask() if (ok) { TString_array& rows = sht.rows_array(); - TToken_string row = rows.row(0); + TToken_string& row = rows.row(0); row.restart(); - rows.destroy(0, TRUE); short id = F_ANNO; for (int pos = _msk->id2pos(id); pos >= 0; pos = _msk->id2pos(++id)) - _msk->fld(pos).set(row.get()); + { + const char* val = row.get(); + // Scarta i listbox perche azzerano i conti! + if (id != F_TIPOCF_INI && id != F_TIPOCF_FINE) + _msk->fld(pos).set(val); + } + + rows.destroy(0, TRUE); } return ok; }