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
This commit is contained in:
guy 1997-04-17 10:20:35 +00:00
parent b0983593a6
commit f3928e93b5

View File

@ -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 TMastrini_application::memorizza_handler(TMask_field& f, KEY k)
{ {
bool ok = TRUE;
if (k == K_SPACE) if (k == K_SPACE)
{ {
TMask& m = f.mask(); if (app().mask2sheet())
ok = app().mask2sheet(); {
m.reset(-9); TMask& m = f.mask();
m.set_focus_field(F_TIPOCF_INI); 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) 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' // a meno che non ci siano gia'
bool TMastrini_application::mask2sheet() bool TMastrini_application::mask2sheet()
{ {
TToken_string row(120); bool ok = _msk->check_fields();
short id = F_ANNO; if (ok)
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())
{ {
TSheet_field& sht = (TSheet_field&)_msk->field(F_SCELTE); TToken_string row(120);
TString_array& rows = sht.rows_array(); short id = F_ANNO;
ok = rows.find(row) < 0; // Aggiunge solo se non c'e' gia' for (int pos = _msk->id2pos(id); pos >= 0; pos = _msk->id2pos(++id))
if (ok) row.add(_msk->fld(pos).get());
if (!row.empty_items())
{ {
rows.add(row); TSheet_field& sht = (TSheet_field&)_msk->field(F_SCELTE);
sht.force_update(); 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; return ok;
} }
@ -3938,13 +3943,19 @@ bool TMastrini_application::sheet2mask()
if (ok) if (ok)
{ {
TString_array& rows = sht.rows_array(); TString_array& rows = sht.rows_array();
TToken_string row = rows.row(0); TToken_string& row = rows.row(0);
row.restart(); row.restart();
rows.destroy(0, TRUE);
short id = F_ANNO; short id = F_ANNO;
for (int pos = _msk->id2pos(id); pos >= 0; pos = _msk->id2pos(++id)) 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; return ok;
} }