Corretti errori su anagrafiche da MI

git-svn-id: svn://10.65.10.50/trunk@718 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1994-12-02 13:11:00 +00:00
parent 6fd947b4b0
commit faf35cf422
4 changed files with 79 additions and 33 deletions

View File

@ -157,13 +157,17 @@ void BA4200_application::init_modify_mode(TMask& m)
m.disable(DLG_CHGTIP);
}
bool clear_cap(TMask_field& f, KEY key)
HIDDEN bool clear_cap(TMask_field& f, KEY key)
{
if (f.mask().query_mode() || !f.to_check(key, TRUE))
if (f.mask().query_mode())
return TRUE;
TMask& msk = f.mask() ;
const short dlg = f.dlg();
if (dlg != FLD_AG2_COMRES && dlg != FLD_AF1_COMRES && !f.to_check(key, TRUE))
return TRUE;
const bool giuridica = ((BA4200_application&)main_app()).ana_giu();
const TString16 val(f.get());
@ -202,14 +206,24 @@ bool clear_cap(TMask_field& f, KEY key)
// Handler del comunde di residenza e residenza fiscale
bool gest_uff_imp(TMask_field& f, KEY key)
{
if (f.mask().query_mode() || !f.to_check(key, TRUE))
if (f.mask().query_mode())
return TRUE;
TString cod_com;
TMask& msk = f.mask() ;
const short dlg = f.dlg();
const bool giuridica = ((BA4200_application&)main_app()).ana_giu();
if (giuridica && dlg == FLD_AG2_COMRES)
clear_cap(f,key);
if (!giuridica && dlg == FLD_AF1_COMRES)
clear_cap(f,key);
if (!f.to_check(key, TRUE))
return TRUE;
TString cod_com;
if ( giuridica )
{
cod_com = msk.get(FLD_AG1_COMRF);

View File

@ -6,45 +6,65 @@
class BA4400_application : public TRelation_application
{
TMask* _msk;
TRelation* _rel;
TLocalisamfile* _anag;
TLocalisamfile* _ditte;
TMask* _msk;
TRelation* _rel;
TLocalisamfile* _anag;
TLocalisamfile* _ditte;
bool user_create() ;
bool user_destroy() ;
virtual TMask* get_mask(int mode) { return _msk;}
virtual bool changing_mask(int mode) { return FALSE;}
virtual TRelation* get_relation() const { return _rel;}
bool user_create() ;
bool user_destroy() ;
virtual TMask* get_mask(int mode) { return _msk;}
virtual bool changing_mask(int mode) { return FALSE;}
virtual TRelation* get_relation() const { return _rel;}
public:
BA4400_application() {}
virtual ~BA4400_application() {}
};
HIDDEN bool clear_cap(TMask_field& f, KEY key)
{
if (f.mask().query_mode())
return TRUE;
TMask& msk = f.mask() ;
const short dlg = f.dlg();
if (dlg != FLD_UL1_COMULC && !f.to_check(key, TRUE))
return TRUE;
const TString16 val(f.get());
const int capid = dlg == FLD_UL1_COMULC ? FLD_UL1_CAPULC : FLD_UL2_CAPTRIB;
if (val.empty())
msk.set(capid, "");
return TRUE;
}
bool BA4400_application::user_create()
{
_msk = new TMask("ba4400a") ;
_rel = new TRelation(LF_UNLOC) ;
_anag = new TLocalisamfile(LF_ANAG) ;
_ditte = new TLocalisamfile(LF_NDITTE) ;
set_search_field(FLD_UL1_CODULC);
return TRUE;
_msk->set_handler(FLD_UL1_COMULC, clear_cap);
_msk->set_handler(FLD_UL2_COMTRIB, clear_cap);
_rel = new TRelation(LF_UNLOC) ;
_anag = new TLocalisamfile(LF_ANAG) ;
_ditte = new TLocalisamfile(LF_NDITTE) ;
set_search_field(FLD_UL1_CODULC);
return TRUE;
}
bool BA4400_application::user_destroy()
{
delete _msk;
delete _rel;
delete _anag;
delete _ditte;
return TRUE;
delete _rel;
delete _anag;
delete _ditte;
return TRUE;
}
int ba4400(int argc, char* argv[])
{
BA4400_application a;
a.run(argc, argv, "Anagrafica Unita' Locali");
return 0;

View File

@ -87,10 +87,26 @@ bool TAttivita_application::gest_res(TMask_field& f, KEY key)
return TRUE;
}
HIDDEN bool clear_cap(TMask_field& f, KEY key)
{
if (f.mask().query_mode() || !f.to_check(key, TRUE))
return TRUE;
TMask& msk = f.mask() ;
const short dlg = f.dlg();
const TString16 val(f.get());
if (val.empty())
msk.set(FLD_AT2_CAPCS, "");
return TRUE;
}
bool TAttivita_application::user_create()
{
_msk = new TMask("ba4500a") ;
_msk->set_handler(FLD_AT2_CODANGRDS, gest_res);
_msk->set_handler(FLD_AT2_COMCS, clear_cap);
_rel = new TRelation(LF_ATTIV) ;
_anag = new TLocalisamfile(LF_ANAG) ;
_ditte = new TLocalisamfile(LF_NDITTE) ;

View File

@ -209,20 +209,16 @@ BEGIN
NUM_EXPR {(#THIS_FIELD>=0) && (#THIS_FIELD<=100)}
END
LIST LST_SC1_RICQUAL 18
LIST LST_SC1_RICQUAL 28
BEGIN
PROMPT 1 13 "Richiesta qualifica "
PROMPT 1 13 "R.qualifica "
FIELD LF_SOCI->RICQUAL
HELP "Qualifica del socio"
ITEM " |Nessuna"
ITEM "A|Amministratore(A)"
ITEM "B|Amministratore(B)"
ITEM "B1|Amministratore(B1)"
ITEM "B2|Amministratore(B2)"
ITEM "C|Organo di controllo"
ITEM "R|Revisore"
ITEM "S|Sindaco"
ITEM "SO|Soggetto operativo"
ITEM "A|A) Amministratore socio"
ITEM "B1|B1) Accomandante"
ITEM "B|B) Amministratore non socio"
ITEM "C|C) Altro organo"
END
NUMBER FLD_SC1_EMOLUMENTO 17