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