diff --git a/ve/ve2400.cpp b/ve/ve2400.cpp index 3621b2d1d..5b543ef87 100755 --- a/ve/ve2400.cpp +++ b/ve/ve2400.cpp @@ -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) diff --git a/ve/ve2401.cpp b/ve/ve2401.cpp index f193c98e8..0f265b593 100755 --- a/ve/ve2401.cpp +++ b/ve/ve2401.cpp @@ -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; }