Patch level : 4.0

Files correlati     : ve2
Ricompilazione Demo : [ ]
Commento            :
Migliorata gestione codici articoli avanzati


git-svn-id: svn://10.65.10.50/trunk@15448 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2007-06-25 15:43:58 +00:00
parent 79807cb175
commit d5de78355a
2 changed files with 28 additions and 8 deletions

View File

@ -1938,6 +1938,9 @@ bool TAnagrafica_magazzino::handle_copia(TMask_field &fld, KEY k)
void TAnagrafica_magazzino::init_query_mode(TMask &m)
{
m.hide(F_COPY);
if (advanced_codart_enabled())
m.show(F_ADVANCED);
}
void TAnagrafica_magazzino::init_insert_mode(TMask &m)
@ -1946,12 +1949,18 @@ void TAnagrafica_magazzino::init_insert_mode(TMask &m)
TSheet_field& f = m.sfield(F_SHEETUM);
if (f.items() == 0)
f.row(0) = " |1"; // aggiunge una riga allo sheet
if (advanced_codart_enabled())
m.hide(F_ADVANCED);
}
void TAnagrafica_magazzino::init_modify_mode(TMask &m)
{
m.set_handler(F_COPY, handle_copia);
m.show(F_COPY);
if (advanced_codart_enabled())
m.hide(F_ADVANCED);
}
void TAnagrafica_magazzino::ini2sheet(TConfig& ini, TSheet_field &sheet)

View File

@ -129,17 +129,23 @@ TCodart_mask::TCodart_mask() : TAutomask(TR("Articolo guidato"), 1, 78, 13)
create_level(1, EMPTY_STRING);
}
const TString& advanced_get_codart()
bool advanced_get_codart(TString& code, TString& desc)
{
TCodart_mask m;
if (m.run() == K_ENTER)
const bool ok = m.run() == K_ENTER;
if (ok)
{
TString& tmp = get_tmp_string();
code.cut(0);
desc.cut(0);
for (short id = 101; m.id2pos(id) >= 0; id++)
tmp << m.get(id);
return tmp;
{
code << m.get(id);
if (id == 102)
desc << ' ';
desc << m.get(di+100);
}
}
return EMPTY_STRING;
return ok;
}
///////////////////////////////////////////////////////////
@ -155,8 +161,13 @@ bool advanced_codart_handler(TMask_field& fld, KEY key)
{
if (key == K_SPACE)
{
TMask& msk = fld.mask();
msk.set(F_CODART, advanced_get_codart(), true);
TString code, desc;
if (advanced_get_codart(code, desc))
{
TMask& msk = fld.mask();
msk.set(F_DESCR, desc);
msk.set(F_CODART, code, true);
}
}
return true;
}