Reso possibile utilizzo programmi di "ca" anche ai possessori di "ci"
git-svn-id: svn://10.65.10.50/branches/R_10_00@22916 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0a00dffb16
commit
9eacf264e0
@ -100,7 +100,7 @@ protected: // TRelation_application
|
|||||||
virtual void init_modify_mode(TMask& m);
|
virtual void init_modify_mode(TMask& m);
|
||||||
virtual void init_query_mode(TMask& m);
|
virtual void init_query_mode(TMask& m);
|
||||||
virtual void init_query_insert_mode(TMask& m);
|
virtual void init_query_insert_mode(TMask& m);
|
||||||
|
virtual const char* extra_modules() const { return "ci|cm"; }
|
||||||
virtual TMask * set_mask(TMask * _m=NULL);
|
virtual TMask * set_mask(TMask * _m=NULL);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -80,6 +80,7 @@ public:
|
|||||||
virtual bool postprocess_config (TMask& mask, TConfig& config);
|
virtual bool postprocess_config (TMask& mask, TConfig& config);
|
||||||
virtual bool user_create();
|
virtual bool user_create();
|
||||||
virtual bool user_destroy();
|
virtual bool user_destroy();
|
||||||
|
virtual const char* extra_modules() const { return "ci"; }
|
||||||
|
|
||||||
void config_loader(TSheet_field& sf, TConfig& config, TString4 tipo);
|
void config_loader(TSheet_field& sf, TConfig& config, TString4 tipo);
|
||||||
void config_setter(TSheet_field& sf, TConfig& config, TString4 tipo);
|
void config_setter(TSheet_field& sf, TConfig& config, TString4 tipo);
|
||||||
@ -180,6 +181,6 @@ bool TConf_Analitica::user_destroy( )
|
|||||||
int ca0300(int argc, char* argv[])
|
int ca0300(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
TConf_Analitica app;
|
TConf_Analitica app;
|
||||||
app.run(argc, argv, TR("Parametri Contabilita' Analitica"));
|
app.run(argc, argv, TR("Parametri Contabilità Analitica"));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -98,7 +98,7 @@ class TAnalisi_app : public TAnal_app
|
|||||||
bool _riclassificato;
|
bool _riclassificato;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
|
virtual const char * extra_modules() const {return "ci|cm";} //funziona anche con autorizzazione CM
|
||||||
|
|
||||||
virtual TSimple_anal_msk* create_mask() const { return new TPiano_conti_anal_msk; }
|
virtual TSimple_anal_msk* create_mask() const { return new TPiano_conti_anal_msk; }
|
||||||
|
|
||||||
|
@ -68,9 +68,6 @@ protected:
|
|||||||
|
|
||||||
virtual void ini2mask(TConfig& ini, TMask&m, bool query);
|
virtual void ini2mask(TConfig& ini, TMask&m, bool query);
|
||||||
virtual void mask2ini(const TMask& m, TConfig& ini);
|
virtual void mask2ini(const TMask& m, TConfig& ini);
|
||||||
|
|
||||||
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
|
|
||||||
|
|
||||||
virtual bool filtered() const;
|
virtual bool filtered() const;
|
||||||
|
|
||||||
virtual void init_modify_mode(TMask& mask);
|
virtual void init_modify_mode(TMask& mask);
|
||||||
@ -78,10 +75,6 @@ protected:
|
|||||||
virtual bool protected_record(TRectype& record);
|
virtual bool protected_record(TRectype& record);
|
||||||
virtual TSimple_anal_msk* create_mask() const { return new TCms_anal_msk; }
|
virtual TSimple_anal_msk* create_mask() const { return new TCms_anal_msk; }
|
||||||
virtual bool user_create();
|
virtual bool user_create();
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
TCms_app() {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void TCms_app::fin2row(const TMask& m)
|
void TCms_app::fin2row(const TMask& m)
|
||||||
|
@ -68,8 +68,6 @@ class TFsc_app : public TAnal_app
|
|||||||
bool _has_filter;
|
bool _has_filter;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
|
|
||||||
|
|
||||||
virtual bool filtered() const;
|
virtual bool filtered() const;
|
||||||
virtual bool protected_record(TRectype& record);
|
virtual bool protected_record(TRectype& record);
|
||||||
virtual TSimple_anal_msk* create_mask() const { return new TFsc_anal_msk; }
|
virtual TSimple_anal_msk* create_mask() const { return new TFsc_anal_msk; }
|
||||||
|
@ -334,7 +334,7 @@ class TRiparti_app : public TRelation_application
|
|||||||
void read_rows();
|
void read_rows();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
|
virtual const char* extra_modules() const {return "ci|cm";} //funziona anche con autorizzazione CM
|
||||||
|
|
||||||
virtual bool user_create();
|
virtual bool user_create();
|
||||||
virtual bool user_destroy();
|
virtual bool user_destroy();
|
||||||
|
@ -79,7 +79,7 @@ class TMovanal_app : public TRelation_application
|
|||||||
TMovanal_msk* _msk;
|
TMovanal_msk* _msk;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual const char* extra_modules() const { return "cm"; } //deve funzionare anche per le commesse
|
virtual const char* extra_modules() const { return "ci|cm"; } //deve funzionare anche per le commesse e l'industriale
|
||||||
|
|
||||||
virtual bool user_create();
|
virtual bool user_create();
|
||||||
virtual bool user_destroy();
|
virtual bool user_destroy();
|
||||||
@ -1118,7 +1118,7 @@ bool TMovanal_app::link_ci(const TMask& m)
|
|||||||
{
|
{
|
||||||
const TRectype& mov = _rel->curr();
|
const TRectype& mov = _rel->curr();
|
||||||
const TRectype& caus = cache().get(LF_CAUSALI, mov.get(MOVANA_CODCAUS));
|
const TRectype& caus = cache().get(LF_CAUSALI, mov.get(MOVANA_CODCAUS));
|
||||||
done = caus.get_bool(CAU_MOVCGIND);
|
done = caus.exist(CAU_MOVCGIND) && caus.get_bool(CAU_MOVCGIND);
|
||||||
if (done)
|
if (done)
|
||||||
{
|
{
|
||||||
TFilename n; n.tempdir(); n.add("mov_caci.ini");
|
TFilename n; n.tempdir(); n.add("mov_caci.ini");
|
||||||
|
@ -32,26 +32,35 @@
|
|||||||
|
|
||||||
class TConfig_anal : public TConfig
|
class TConfig_anal : public TConfig
|
||||||
{
|
{
|
||||||
bool _has_ca;
|
int _level;
|
||||||
bool _has_cm;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual const TString& get(const char* var, const char* section = NULL, int index = -1, const char* def = "");
|
virtual const TString& get(const char* var, const char* section = NULL, int index = -1, const char* def = "");
|
||||||
TConfig_anal();
|
TConfig_anal();
|
||||||
};
|
};
|
||||||
|
|
||||||
TConfig_anal::TConfig_anal() : TConfig(CONFIG_DITTA, "ca"), _has_ca(dongle().active(CAAUT)), _has_cm(dongle().active(CMAUT))
|
TConfig_anal::TConfig_anal() : TConfig(CONFIG_DITTA, "ca"), _level(0)
|
||||||
{
|
{
|
||||||
|
const TDongle& a = dongle();
|
||||||
|
_level = a.active(CAAUT) ? 4 : (a.active(CMAUT) ? 1 : 0);
|
||||||
|
if (a.active(CIAUT)) _level |= 2;
|
||||||
|
|
||||||
|
// Controllo se è veramente configurato il primo livello a CMS o CDC
|
||||||
|
if (_level > 1 && TConfig::get("Level", NULL, 1).blank())
|
||||||
|
_level = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TString& TConfig_anal::get(const char* varname, 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)
|
const TFixed_string var(varname);
|
||||||
|
if (var == "Authorizations")
|
||||||
|
return get_tmp_string() << _level;
|
||||||
|
|
||||||
|
if (_level & 0x6) // CA o CI
|
||||||
return TConfig::get(varname, section, index, def);
|
return TConfig::get(varname, section, index, def);
|
||||||
|
|
||||||
if (_has_cm)
|
if (_level & 0x1) // CM
|
||||||
{
|
{
|
||||||
const TFixed_string var(varname);
|
|
||||||
TString& tmp = get_tmp_string();
|
TString& tmp = get_tmp_string();
|
||||||
//se il valore della variabile sul .ini e' vuoto controlla se e' possibile assegnarlo di default
|
//se il valore della variabile sul .ini e' vuoto controlla se e' possibile assegnarlo di default
|
||||||
if (var == "AttFasi")
|
if (var == "AttFasi")
|
||||||
@ -674,7 +683,6 @@ void ca_create_browse1(TEdit_field& kfld, int level, int logic, short key_id, sh
|
|||||||
out << "IN " << field << ' ' << (key_id+i);
|
out << "IN " << field << ' ' << (key_id+i);
|
||||||
if (add_select && field.name() == FASI_CODCMSFAS)
|
if (add_select && field.name() == FASI_CODCMSFAS)
|
||||||
out << " SE";
|
out << " SE";
|
||||||
|
|
||||||
out << '\n';
|
out << '\n';
|
||||||
out << "DI \"" << prompt;
|
out << "DI \"" << prompt;
|
||||||
if (length > prompt.len())
|
if (length > prompt.len())
|
||||||
@ -991,7 +999,7 @@ int ca_create_fields_ext(TMask& m, int page, int x, int y, short first_id,
|
|||||||
const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
|
const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
|
||||||
TConfig& ini = ca_config();
|
TConfig& ini = ca_config();
|
||||||
short dlg = first_id;
|
short dlg = first_id;
|
||||||
|
first_cdc = first_cms = first_fase = first_conto = 0;
|
||||||
|
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
@ -1019,10 +1027,11 @@ int ca_create_fields_ext(TMask& m, int page, int x, int y, short first_id,
|
|||||||
} else
|
} else
|
||||||
if (level == "CMS" && cms_fld) // Crea commessa
|
if (level == "CMS" && cms_fld) // Crea commessa
|
||||||
{
|
{
|
||||||
if (fasinfo.parent() == LF_COMMESSE)
|
const int h = ca_multilevel_code_info(LF_COMMESSE).levels();
|
||||||
|
int sh = 0;
|
||||||
|
if (fasinfo.parent() == LF_COMMESSE && fase_fld)
|
||||||
{
|
{
|
||||||
int h = ca_multilevel_code_info(LF_COMMESSE).levels();
|
sh = ca_create_fields_compact(m, 0, LF_FASI, x, y, dlg, dlg + 50);
|
||||||
const int sh = ca_create_fields_compact(m, 0, LF_FASI, x, y, dlg, dlg + 50);
|
|
||||||
y += 2;
|
y += 2;
|
||||||
first_cms = dlg;
|
first_cms = dlg;
|
||||||
first_fase = first_cms + h;
|
first_fase = first_cms + h;
|
||||||
@ -1031,11 +1040,31 @@ int ca_create_fields_ext(TMask& m, int page, int x, int y, short first_id,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const int sh = ca_create_fields_compact(m, 0, LF_COMMESSE, x, y++, dlg, dlg + 50);
|
sh = ca_create_fields_compact(m, 0, LF_COMMESSE, x, y++, dlg, dlg + 50);
|
||||||
first_cms = dlg;
|
first_cms = dlg;
|
||||||
dlg += sh;
|
dlg += sh;
|
||||||
numero_campi += sh;
|
numero_campi += sh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < sh; i++)
|
||||||
|
{
|
||||||
|
TEdit_field& ef = m.efield(first_cms+i);
|
||||||
|
const TFieldref& fr = *ef.field();
|
||||||
|
TString80 str;
|
||||||
|
if (i < h)
|
||||||
|
str.format("%s[%d,%d]", cms_fld, fr.from()+1, fr.to());
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (fase_fld)
|
||||||
|
{
|
||||||
|
if (sh == h+1)
|
||||||
|
str = fase_fld; // Fase monolivello: inutile range
|
||||||
|
else
|
||||||
|
str.format("%s[%d,%d]", fase_fld, fr.from()+1, fr.to());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ef.set_field(str);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,6 +163,7 @@ protected:
|
|||||||
protected:
|
protected:
|
||||||
virtual TSimple_anal_msk* create_mask() const pure;
|
virtual TSimple_anal_msk* create_mask() const pure;
|
||||||
virtual TRelation* create_relation() const;
|
virtual TRelation* create_relation() const;
|
||||||
|
virtual const char* extra_modules() const { return "ci|cm"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
[CAMENU_001]
|
[CAMENU_001]
|
||||||
Caption = "Contabilità analitica"
|
Caption = "Contabilità analitica"
|
||||||
Picture = <ca01>
|
Picture = <ca01>
|
||||||
Module = 22
|
Module = ca,ci,cm
|
||||||
Flags = "F"
|
Flags = "F"
|
||||||
Item_01 = "Configurazione", [CAMENU_010]
|
Item_01 = "Configurazione", [CAMENU_010]
|
||||||
Item_02 = "Archivi e Tabelle di base", [CAMENU_020]
|
Item_02 = "Archivi e Tabelle di base", [CAMENU_020]
|
||||||
@ -10,11 +10,10 @@ Item_04 = "Stampe", [CAMENU_040]
|
|||||||
Item_05 = "Servizi", [CAMENU_050]
|
Item_05 = "Servizi", [CAMENU_050]
|
||||||
Item_06 = "Moduli aggiuntivi", <caaddon.men>
|
Item_06 = "Moduli aggiuntivi", <caaddon.men>
|
||||||
|
|
||||||
|
|
||||||
[CAMENU_010]
|
[CAMENU_010]
|
||||||
Caption = "Configurazione"
|
Caption = "Configurazione"
|
||||||
Picture = <ca01>
|
Picture = <ca01>
|
||||||
Module = 22
|
Module = ca,ci
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Parametri Contabilità Analitica", "ca0 -2", "F"
|
Item_01 = "Parametri Contabilità Analitica", "ca0 -2", "F"
|
||||||
Item_02 = "Tabelle di ripartizione", "ca0 -7", "F"
|
Item_02 = "Tabelle di ripartizione", "ca0 -7", "F"
|
||||||
@ -22,7 +21,7 @@ Item_02 = "Tabelle di ripartizione", "ca0 -7", "F"
|
|||||||
[CAMENU_020]
|
[CAMENU_020]
|
||||||
Caption = "Archivi e Tabelle di base"
|
Caption = "Archivi e Tabelle di base"
|
||||||
Picture = <ba02>
|
Picture = <ba02>
|
||||||
Module = 22
|
Module = ca,ci,cm
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Archivi di base", [CAMENU_021]
|
Item_01 = "Archivi di base", [CAMENU_021]
|
||||||
Item_02 = "Stampa archivi di base", [CAMENU_022]
|
Item_02 = "Stampa archivi di base", [CAMENU_022]
|
||||||
@ -30,7 +29,7 @@ Item_02 = "Stampa archivi di base", [CAMENU_022]
|
|||||||
[CAMENU_021]
|
[CAMENU_021]
|
||||||
Caption = "Archivi di base"
|
Caption = "Archivi di base"
|
||||||
Picture = <ba02>
|
Picture = <ba02>
|
||||||
Module = 22
|
Module = ca,ci,cm
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Piano dei conti", "ca0 -3", "SF"
|
Item_01 = "Piano dei conti", "ca0 -3", "SF"
|
||||||
Item_02 = "Centri di costo", "ca0 -4", "SF"
|
Item_02 = "Centri di costo", "ca0 -4", "SF"
|
||||||
@ -43,7 +42,7 @@ Item_07 = "Tipi Lavoro", "ca0 -0 TPL", "F"
|
|||||||
[CAMENU_022]
|
[CAMENU_022]
|
||||||
Caption = "Stampa archivi di base"
|
Caption = "Stampa archivi di base"
|
||||||
Picture = <ba03>
|
Picture = <ba03>
|
||||||
Module = 22
|
Module = ca
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Piano dei conti", "ca1 -3", "F"
|
Item_01 = "Piano dei conti", "ca1 -3", "F"
|
||||||
Item_02 = "Riclassificazione conti A/C", "ca3 -4 ca9400k1", "F"
|
Item_02 = "Riclassificazione conti A/C", "ca3 -4 ca9400k1", "F"
|
||||||
@ -56,7 +55,7 @@ Item_07 = "Fasi", "ca1 -6", "F"
|
|||||||
[CAMENU_030]
|
[CAMENU_030]
|
||||||
Caption = "Movimenti"
|
Caption = "Movimenti"
|
||||||
Picture = <ca01>
|
Picture = <ca01>
|
||||||
Module = 22
|
Module = ca
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Gestione movimenti", "ca2 -0", "F"
|
Item_01 = "Gestione movimenti", "ca2 -0", "F"
|
||||||
Item_02 = "Ripartizione movimenti", "ca2 -1", "F"
|
Item_02 = "Ripartizione movimenti", "ca2 -1", "F"
|
||||||
@ -64,7 +63,7 @@ Item_02 = "Ripartizione movimenti", "ca2 -1", "F"
|
|||||||
[CAMENU_040]
|
[CAMENU_040]
|
||||||
Caption = "Stampe"
|
Caption = "Stampe"
|
||||||
Picture = <ba03>
|
Picture = <ba03>
|
||||||
Module = 22
|
Module = ca
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Movimenti", "ca3 -0", "F"
|
Item_01 = "Movimenti", "ca3 -0", "F"
|
||||||
Item_02 = "Mastrini", "ca3 -1", "F"
|
Item_02 = "Mastrini", "ca3 -1", "F"
|
||||||
@ -79,7 +78,7 @@ Item_09 = "Bilancio per centro di costo", "ca1 -0 ca1100a", "F"
|
|||||||
[CAMENU_050]
|
[CAMENU_050]
|
||||||
Caption = "Servizi"
|
Caption = "Servizi"
|
||||||
Picture = <ba04>
|
Picture = <ba04>
|
||||||
Module = 22
|
Module = ca
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Trasferimento dati da Contabilità Generale", "cacnv -0", "F"
|
Item_01 = "Trasferimento dati da Contabilità Generale", "cacnv -0", "F"
|
||||||
Item_02 = "Ricalcolo saldi", "ca2 -2", "F"
|
Item_02 = "Ricalcolo saldi", "ca2 -2", "F"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user