diff --git a/ba/ba4200.cpp b/ba/ba4200.cpp index 95ffad79c..69af2d575 100755 --- a/ba/ba4200.cpp +++ b/ba/ba4200.cpp @@ -43,6 +43,7 @@ protected: static bool fax_handler(TMask_field& f, KEY k); static bool ba4200_handler(TMask& m, KEY k); + static bool ind_handler(TMask_field& f, KEY k); public: virtual int write(const TMask& m); @@ -123,6 +124,22 @@ bool TPersone_app::fax_handler(TMask_field& f, KEY k) return ok; } +bool TPersone_app::ind_handler(TMask_field& f, KEY k) +{ + TMask & m = f.mask(); + + if (!m.query_mode() && (k == K_TAB || k == K_ENTER) && f.empty()) + { + const bool giuridica = ((TPersone_app&)main_app()).ana_giu(); + + m.set(giuridica ? FLD_AG2_INDCORR : FLD_AF2_INDCORR, + m.get(giuridica ? FLD_AG2_INDRES : FLD_AF1_INDRES)); + m.set(giuridica ? FLD_AG2_CIVCORR : FLD_AF2_CIVCORR, + m.get(giuridica ? FLD_AG2_CIVRES : FLD_AF1_CIVRES)); + } + return TRUE; +} + void TPersone_app::init_query_mode(TMask& m) { @@ -191,6 +208,8 @@ HIDDEN bool corr_hnd(TMask_field& f, bool giuridica) if (f.get().empty()) { + m.set(giuridica ? FLD_AG2_CIVCORR : FLD_AF2_CIVCORR, + m.get(giuridica ? FLD_AG2_CIVRES : FLD_AF1_CIVRES)); const TString80 s(m.get(giuridica ? FLD_AG2_COMRES : FLD_AF1_COMRES)); if (s.not_empty()) @@ -520,6 +539,7 @@ TMask* TPersone_app::get_mask(int mode) _msk[MSKF]->set_handler(FLD_AF1_COMRES, gest_uff_imp); _msk[MSKF]->set_handler(FLD_AF2_COMRF, gest_uff_imp); _msk[MSKF]->set_handler(FLD_AF2_COMCORR, clear_cap); + _msk[MSKF]->set_handler(FLD_AF2_INDCORR, ind_handler); _msk[MSKF]->set_handler(F_UFFCONC, uff_conc); _msk[MSKF]->set_handler(F_CODREG96, cod_reg); _msk[MSKF]->set_handler(F_TITCF, tit_cf); @@ -534,6 +554,7 @@ TMask* TPersone_app::get_mask(int mode) _msk[MSKG]->set_handler(FLD_AG2_COMRES, gest_uff_imp); _msk[MSKG]->set_handler(FLD_AG1_COMRF, gest_uff_imp); _msk[MSKG]->set_handler(FLD_AG2_COMCORR, clear_cap); + _msk[MSKG]->set_handler(FLD_AG2_INDCORR, ind_handler); // _msk[MSKG]->set_handler(FLD_AG1_COFI, no_dup_iva_g); _msk[MSKG]->set_handler(FLD_AG1_PAIV, no_dup_iva_g); _msk[MSKG]->set_handler(F_UFFCONC, uff_conc); diff --git a/ba/ba4200b.uml b/ba/ba4200b.uml index b802e3174..631321314 100755 --- a/ba/ba4200b.uml +++ b/ba/ba4200b.uml @@ -509,7 +509,7 @@ PROMPT 2 6 "Indirizzo " FIELD LF_ANAG->INDCORR HELP "Indirizzo al quale spedire la corrispondenza" WARNING "Completare l'indirizzo di corrispondenza" -VALIDATE EMPTYCOPY_FUNC FLD_AF1_INDRES +//VALIDATE EMPTYCOPY_FUNC FLD_AF1_INDRES END STRING FLD_AF2_CIVCORR 10 diff --git a/ba/ba4200c.uml b/ba/ba4200c.uml index 777377397..84d6730a1 100755 --- a/ba/ba4200c.uml +++ b/ba/ba4200c.uml @@ -444,7 +444,7 @@ BEGIN FIELD LF_ANAG->INDCORR HELP "Indirizzo a cui mandare la corrispondenza" WARNING "Completare l'indirizzo di corrispondenza" - VALIDATE EMPTYCOPY_FUNC FLD_AG2_INDRES +// VALIDATE EMPTYCOPY_FUNC FLD_AG2_INDRES END STRING FLD_AG2_CIVCORR 10 @@ -452,7 +452,7 @@ BEGIN PROMPT 56 5 "N." FIELD LF_ANAG->CIVCORR HELP "Numero civico a cui mandare la corrispondenza" -// VALIDATE EMPTYCOPY_FUNC FLD_AG2_CIVRES + VALIDATE EMPTYCOPY_FUNC FLD_AG2_CIVRES END STRING F_LOCCORR 35 @@ -833,7 +833,7 @@ BEGIN PROMPT 0 4 "Dati Aziendali" END -NUMBER FLD_AG4_CAPSOC 15 +NUMBER FLD_AG4_CAPSOC 17 BEGIN PROMPT 1 5 "Capitale Sociale " FIELD LF_ANAGGIU->CAPSOC @@ -842,7 +842,7 @@ BEGIN HELP "Importo del capitale sociale della ditta" END -NUMBER FLD_AG4_CAPVER 15 +NUMBER FLD_AG4_CAPVER 17 BEGIN PROMPT 1 6 "Capitale versato " FIELD LF_ANAGGIU->CAPVER @@ -868,7 +868,7 @@ BEGIN HELP "Valore nominale delle azioni emesse" END -NUMBER FLD_AG4_FATT 15 +NUMBER FLD_AG4_FATT 17 BEGIN PROMPT 1 7 "Fatturato " FIELD LF_ANAGGIU->FATT