diff --git a/lv/lv3400.cpp b/lv/lv3400.cpp index bcc4145a0..ab4fa26e7 100755 --- a/lv/lv3400.cpp +++ b/lv/lv3400.cpp @@ -907,12 +907,12 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long { if (e == fe_modify) { - TDoc_key kdoc(TToken_string(f.get(),'.')); + TString kdoc = f.get(); int cazzone = 1; - if (kdoc.ndoc() > 0) + if (kdoc.full()) { - set(F_TANNO, kdoc.anno()); - set(F_TNDOC, kdoc.ndoc()); + set(F_TANNO, kdoc.mid(1,4)); + set(F_TNDOC, atol(kdoc.mid(4))); field(F_TNDOC).check(); if(!precarica_righe()) @@ -948,7 +948,38 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long case F_TNDOC: { if (e == fe_modify) - if (f.get_long() == 0) + if (f.get_long() != 0 && get(F_TCHIAVE).empty()) + { + field(F_TNDOC).check(); + + if(!precarica_righe()) + return false; + + hide(F_TCODNUM); + hide(F_TTPDOC); + hide(F_TDESCR); + hide(F_TANNO); + hide(F_TDATAPRCO); + hide(F_TCHIAVE); + + show(F_TCODCF); + show(F_TRAGSOC); + show(F_TBARCODE); + show(F_TPACCHI); + show(F_TQTAPACCO); + show(F_TQTACON); + show(F_TQTADACON); + + enable(DLG_SELECT); + enable(DLG_PREVIEW); + enable(DLG_ELABORA); + enable(DLG_SAVEREC); + enable(DLG_CANCEL); + + _autoselect = 1; + field(F_TBARCODE).set_focus(); + } + else { show(F_TCHIAVE); show(F_TCODNUM);