diff --git a/src/ef/ef0100.cpp b/src/ef/ef0100.cpp index 3e70dde8d..0b5bca599 100755 --- a/src/ef/ef0100.cpp +++ b/src/ef/ef0100.cpp @@ -51,7 +51,7 @@ protected: virtual bool remove(); bool user_create(); bool user_destroy(); - virtual TMask* get_mask(int mode) {return _msk;} + virtual TMask* _get_mask(int mode) {return _msk;} virtual bool changing_mask(int mode) {return false;} virtual void ini2mask(TConfig& ini, TMask& m, bool query); @@ -524,6 +524,23 @@ bool TEffetti_mask::on_field_event(TOperable_field& o, TField_event e, long joll if (e == fe_modify) sfield(F_SHEET_RIGHE).set_focusdirty(); break; + case F_IBAN_STATO: + if (mode() == MODE_MOD && e == fe_init) + { + TRelation * rel = app().get_relation(); + + if (rel != nullptr) + { + TRectype & rec = rel->lfile().curr(); + + if (rec.get(EFF_IBAN).empty()) + { + set(F_CODABI, rec.get(EFF_CODABI)); + set(F_CODCAB, rec.get(EFF_CODCAB)); + return true; + } + } + } case F_SHEET_RIGHE: return on_sheet_event(o, e, jolly); default: diff --git a/src/ef/ef0300.cpp b/src/ef/ef0300.cpp index a8fe5abbe..c513f5749 100755 --- a/src/ef/ef0300.cpp +++ b/src/ef/ef0300.cpp @@ -29,7 +29,7 @@ protected: virtual bool remove(); virtual bool has_filtered_cursor() const { return true; } virtual bool changing_mask(int mode) { return false; } - virtual TMask* get_mask(int mode) { return _msk; } + virtual TMask* _get_mask(int mode) { return _msk; } static bool tipodist_handler(TMask_field& f, KEY k); static bool importo_handler(TMask_field& f, KEY k);