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) void TAnagrafica_magazzino::init_query_mode(TMask &m)
{ {
m.hide(F_COPY); m.hide(F_COPY);
if (advanced_codart_enabled())
m.show(F_ADVANCED);
} }
void TAnagrafica_magazzino::init_insert_mode(TMask &m) 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); TSheet_field& f = m.sfield(F_SHEETUM);
if (f.items() == 0) if (f.items() == 0)
f.row(0) = " |1"; // aggiunge una riga allo sheet 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) void TAnagrafica_magazzino::init_modify_mode(TMask &m)
{ {
m.set_handler(F_COPY, handle_copia); m.set_handler(F_COPY, handle_copia);
m.show(F_COPY); m.show(F_COPY);
if (advanced_codart_enabled())
m.hide(F_ADVANCED);
} }
void TAnagrafica_magazzino::ini2sheet(TConfig& ini, TSheet_field &sheet) 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); create_level(1, EMPTY_STRING);
} }
const TString& advanced_get_codart() bool advanced_get_codart(TString& code, TString& desc)
{ {
TCodart_mask m; 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++) 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) if (key == K_SPACE)
{ {
TMask& msk = fld.mask(); TString code, desc;
msk.set(F_CODART, advanced_get_codart(), true); if (advanced_get_codart(code, desc))
{
TMask& msk = fld.mask();
msk.set(F_DESCR, desc);
msk.set(F_CODART, code, true);
}
} }
return true; return true;
} }