diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index 14521a738..688c7fd15 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -477,17 +477,13 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k) } TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&)f.mask(); - TSheet_field& sheet = dmsk.sfield(F_SHEET); - //setto l'allineamento a destra dei campi incriminati e pure criminali - sheet.set_column_justify(sheet.cid2index(FR_JOLLY1), true); - sheet.set_column_justify(sheet.cid2index(FR_JOLLY2), true); - if (ok && k == K_TAB && ((dmsk.insert_mode() && f.to_check(k, true)) || f.focusdirty())) - { + { f.set_focusdirty(false); TDocumento& doc = dmsk.doc(); + TSheet_field& sheet = dmsk.sfield(F_SHEET); int nrighe = sheet.items(); const long codcf = dmsk.get_long(F_CODCF); @@ -1127,9 +1123,19 @@ TMask* TGestione_bolle_app::get_mask( int mode ) tipodoc = get_relation()->curr().get(DOC_TIPODOC); // Lo prendo dalla relazione (Gelai) else tipodoc = TMotore_application::get_mask(MODE_QUERY)->get(F_TIPODOC); + if (_doc_masks.objptr(tipodoc) == NULL) { TGestione_bolle_msk* m = new TGestione_bolle_msk(tipodoc); + + TSheet_field& sheet = m->sfield(F_SHEET); + if (sheet.exist_column(FR_JOLLY1)) + { + //setto l'allineamento a destra dei campi incriminati e pure criminali + sheet.set_column_justify(sheet.cid2index(FR_JOLLY1), true); + sheet.set_column_justify(sheet.cid2index(FR_JOLLY2), true); + } + _doc_masks.add(tipodoc, m); const TTipo_documento& tdoc = m->doc().tipo(); const TString_array& handlers = tdoc.handlers();