Patch level :10.0 324

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
gestione intelligente dei moduli CA-CM in base all'autorizzazione sulla chiave


git-svn-id: svn://10.65.10.50/trunk@18963 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-05-29 13:04:17 +00:00
parent bb2a79cc27
commit 962492b999
20 changed files with 95 additions and 45 deletions

View File

@ -5,6 +5,7 @@ Module = 0
Item_01 = "Contabilita' generale", <cgmenu.men>
Item_02 = "Gestione cespiti", <cemenu.men>
Item_03 = "Contabilita' analitica", <camenu.men>
Item_04 = "Gestione percipienti", <77menu.men>
Item_05 = "Elenchi Intracomunitari", <inmenu.men>
Item_06 = "Dichiarazioni d'intento", <limenu.men>
Item_04 = "Gestione Commesse", <cacmmenu.men>
Item_05 = "Gestione percipienti", <77menu.men>
Item_06 = "Elenchi Intracomunitari", <inmenu.men>
Item_07 = "Dichiarazioni d'intento", <limenu.men>

View File

@ -91,7 +91,6 @@ TMask_tabanal::TMask_tabanal(const char* c, const char* k, const char* d)
// applicazione per la gestione delle tabelle di Contabilita' Analitica
class TTab_app_ca : public Tab_application
{
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
protected: // TRelation_application
virtual bool user_destroy() ;

View File

@ -70,16 +70,12 @@ TConf_mask::TConf_mask(const TFilename& f) : TAutomask (f)
class TConf_Analitica : public TConfig_application
{
TMask* _cm;
virtual const char* extra_modules() const { return "cm"; } //funziona anche con autorizzazione CM
protected:
virtual TMask* create_mask(const TFilename& f);
virtual TMask* get_mask();
public:
// @cmember Disabilita la verifica del modulo in chiave
virtual bool check_autorization() const { return false; }
virtual bool preprocess_config (TMask& mask, TConfig& config);
virtual bool postprocess_config (TMask& mask, TConfig& config);
virtual bool user_create( );

View File

@ -98,6 +98,8 @@ class TAnalisi_app : public TAnal_app
bool _riclassificato;
protected:
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
virtual TSimple_anal_msk* create_mask() const { return new TPiano_conti_anal_msk; }
void rec2row(const TMask& m);

View File

@ -34,6 +34,8 @@ class TCms_app : public TAnal_app
bool _has_filter;
protected:
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
virtual bool filtered() const;
virtual void init_modify_mode(TMask& mask);

View File

@ -40,6 +40,8 @@ class TFsc_app : public TAnal_app
bool _has_filter;
protected:
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
virtual bool filtered() const;
virtual TSimple_anal_msk* create_mask() const { return new TFsc_anal_msk; }

View File

@ -283,8 +283,6 @@ class TRiparti_app : public TRelation_application
TRelation* _rel;
TRiparti_msk* _msk;
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
const TString& somma_campi(TToken_string& row, int first, bool pdc = false) const;
void write_rows();

View File

@ -86,7 +86,10 @@ bool TMask_print_cms::on_field_event(TOperable_field& o, TField_event e, long jo
///////////////////////////////////
class TPrint_cms : public TSkeleton_application
{
bool create();
protected:
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
virtual bool create();
public:
virtual void main_loop();

View File

@ -45,7 +45,10 @@ TMask_print_fasi::TMask_print_fasi()
class TPrint_fasi : public TSkeleton_application
{
bool create();
protected:
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
virtual bool create();
public:
virtual void main_loop();

View File

@ -66,9 +66,9 @@ class TMovanal_app : public TRelation_application
TRelation* _rel;
TMovanal_msk* _msk;
protected:
virtual const char* extra_modules() const { return "cm"; } //deve funzionare anche per le commesse
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual TMask* get_mask(int);

View File

@ -64,8 +64,6 @@ class TRib_movanal_app : public TSkeleton_application
TCache_ripartizioni _cache_rip;
bool _definitivo;
virtual const char* extra_modules() const { return "cm"; } //deve funzionare anche per le commesse
protected:
virtual void main_loop();

View File

@ -76,9 +76,9 @@ class TRic_saldi_app : public TSkeleton_application
{
TRic_saldi_msk * _mask;
protected:
virtual const char * extra_modules() const {return "cm";} //deve funzionare anche per le commesse
protected:
virtual bool create();
virtual bool destroy();
virtual void main_loop();

View File

@ -345,8 +345,10 @@ class TPrint_movimenti_ca : public TSkeleton_application
TPrint_movimenti_ca_mask * _mask;
protected:
bool create();
bool destroy();
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
virtual bool create();
virtual bool destroy();
public:
virtual void main_loop();

View File

@ -569,6 +569,8 @@ void TPrint_mastrini_ca_rep::set_filter(const TPrint_mastrini_ca_mask& msk, int
class TPrint_mastrini_ca : public TSkeleton_application
{
protected:
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
virtual void main_loop();
};

View File

@ -943,6 +943,8 @@ void TReport_bilancio_sezioni_contrapposte::set_filter(const TMask& m, int row)
class TPrint_bilancio_ca : public TSkeleton_application
{
protected:
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
void bilancio_a_sezioni_contrapposte(TMask& mask);
void bilancio_di_verifica(TMask& msk);

View File

@ -2000,8 +2000,6 @@ void TPrint_rendiconto_ca::main_loop()
recset_key = 3; //chiave del recordset per centro di costo
}
//const bool reverse_cos_ric = mask.get_bool(F_REV_COSRIC); //occhio al flag di rovesciamento
for (int i = 0; i < 4; i++)
{
switch (i)

37
ca/cacmmenu.men Executable file
View File

@ -0,0 +1,37 @@
[CMMENU_001]
Caption = "Contabilita' analitica"
Picture = <ca01>
Module = 15
Flags = "F"
Item_01 = "Archivi e Tabelle di base", [CMMENU_020]
Item_02 = "Movimenti", "ca2 -0", "F"
Item_03 = "Stampe", [CMMENU_040]
Item_04 = "Servizi", [CMMENU_050]
[CMMENU_020]
Caption = "Archivi e Tabelle di base"
Picture = <ba02>
Module = 15
Flags = ""
Item_01 = "Piano dei conti", "ca0 -3", "SF"
Item_02 = "Commesse", "ca0 -5", "SF"
Item_03 = "Fasi", "ca0 -6", "SF"
Item_04 = "Stampa Commesse", "ca1 -5", "F"
Item_05 = "Stampa Fasi", "ca1 -6", "F"
[CMMENU_040]
Caption = "Stampe"
Picture = <ba03>
Module = 15
Flags = ""
Item_01 = "Movimenti", "ca3 -0", "F"
Item_02 = "Mastrini", "ca3 -1", "F"
Item_03 = "Bilancio", "ca3 -2", "F"
[CMMENU_050]
Caption = "Servizi"
Picture = <ba04>
Module = 15
Flags = ""
Item_01 = "Trasferimento dati da Contabilità Generale", "cacnv -0", "F"
Item_02 = "Ricalcolo saldi", "ca2 -2", "F"

View File

@ -95,10 +95,11 @@ TAnal_rip::TAnal_rip() : TMultiple_rectype(LF_RIP)
class TConversione_cm2ca : public TSkeleton_application
{
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
TCache_ripartizioni _cache_rip;
protected:
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
virtual void main_loop();
void create_new_movana(long numreg_cg, bool definitiva, TAssoc_array& cg_lines_to_anal);
bool test_configuration();

View File

@ -27,40 +27,46 @@
class TConfig_anal : public TConfig
{
bool _has_ca;
bool _has_cm;
public:
virtual const TString& get(const char* var, const char* section = NULL, int index = -1, const char* def = "");
TConfig_anal();
};
TConfig_anal::TConfig_anal() : TConfig(CONFIG_DITTA, "ca"), _has_ca(dongle().active(CAAUT))
TConfig_anal::TConfig_anal() : TConfig(CONFIG_DITTA, "ca"), _has_ca(dongle().active(CAAUT)), _has_cm(dongle().active(CMAUT))
{
}
const TString& TConfig_anal::get(const char* var, const char* section, int index, const char* def)
const TString& TConfig_anal::get(const char* varname, const char* section, int index, const char* def)
{
if (_has_ca)
return TConfig::get(var, section, index, def);
return TConfig::get(varname, section, index, def);
//se il valore della variabile sul .ini e' vuoto controlla se e' possibile assegnarlo di default
TString& tmp = get_tmp_string();
if (var == "AttFasi")
tmp = "X"; else
if (var == "FathFasi")
tmp = "CMS"; else
if (var == "Level(1)")
tmp = "CMS"; else
if (var == "Cms(1)")
tmp = "LLLLLLLLLLLLLLLLLLLL"; else
if (var == "CmsDes(1)")
tmp = "Commessa"; else
if (var == "Fsc(1)")
tmp = "LLLLLLLLLL"; else
if (var == "FscDes(1)")
tmp == "Fase"; else
if (var == "EdMask")
tmp = "ca0300a"; else
if (var == "UsePdcc")
tmp = "X";
if (_has_cm)
{
const TFixed_string var(varname);
//se il valore della variabile sul .ini e' vuoto controlla se e' possibile assegnarlo di default
if (var == "AttFasi")
tmp = "X"; else
if (var == "FathFasi")
tmp = "CMS"; else
if (var == "Level" && index == 1)
tmp = "CMS"; else
if (var == "Cms" && index == 1)
tmp = "LLLLLLLLLLLLLLLLLLLL"; else
if (var == "CmsDes" && index == 1)
tmp = TR("Commessa"); else
if (var == "Fsc" && index == 1)
tmp = "LLLLLLLLLL"; else
if (var == "FscDes" && index == 1)
tmp == TR("Fase"); else
if (var == "EdMask")
tmp = "ca0300a"; else
if (var == "UsePdcc")
tmp = "X";
}
return tmp;
}

View File

@ -111,8 +111,6 @@ class TAnal_app : public TRelation_application
TRelation* _rel;
TSimple_anal_msk* _msk;
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
protected:
virtual TMask* get_mask(int) { return _msk; }
virtual TRelation* get_relation() const { return _rel; }