diff --git a/ca/ca0.cpp b/ca/ca0.cpp new file mode 100755 index 000000000..5a42c523e --- /dev/null +++ b/ca/ca0.cpp @@ -0,0 +1,17 @@ +#include + +#include "ca0.h" + +int main(int argc, char** argv) +{ + const int r = (argc > 1) ? argv[1][1] - '0' : 0; + switch (r) + { +// case 1: ca0200(argc,argv); break; // stampa tabelle + case 2: ca0300(argc,argv); break; // parametri configurazione Contabilita' Analitica +// case 5: ca0600(argc,argv); break; // ribaltamenti + default: ca0100(argc,argv); break; // gestione tabelle + } + exit(0); + return 0; +} diff --git a/ca/ca0.h b/ca/ca0.h new file mode 100755 index 000000000..d3c0af631 --- /dev/null +++ b/ca/ca0.h @@ -0,0 +1,9 @@ +#ifndef __CA0_H +#define __CA0_H + +int ca0100(int argc, char* argv[]); +//int ca0200(int argc, char* argv[]); +int ca0300(int argc, char* argv[]); +//int ca0600(int argc, char* argv[]); + +#endif // __CA0_H diff --git a/ca/ca0100.cpp b/ca/ca0100.cpp new file mode 100755 index 000000000..97070b5b4 --- /dev/null +++ b/ca/ca0100.cpp @@ -0,0 +1,112 @@ +// gestione tabelle Contabilita' Analitica +#include +#include +#include +#include + +#include "catbcdc.h" +#include "catbcms.h" +#include "catbfsc.h" + +//////////////////////////////////////////////////////////////////////// +//MASCHERA +//////////////////////////////////////////////////////////////////////// +// maschere delle tabelle di Contabilita' Analitica +class TMask_tabca : public TAutomask +{ + +protected: + bool on_field_event(TOperable_field& o, TField_event e, long jolly); +public: + TMask_tabca(const char * ,const TString16 &); + virtual ~TMask_tabca(); +}; + +TMask_tabca::TMask_tabca(const char * _maskname,const TString16 &tabname): + TAutomask(_maskname) +{ +} + +TMask_tabca::~TMask_tabca() +{ +} + +bool TMask_tabca::on_field_event(TOperable_field& o, TField_event e, long jolly) +{ + switch (o.dlg()) + { + + default: break; + } + return TRUE; +} + + +//////////////////////////////////////////////////////////////////////// +//APPLICAZIONE +//////////////////////////////////////////////////////////////////////// + +// applicazione per la gestione delle tabelle di Contabilita' Analitica +class Tab_app_ca : public Tab_application +{ + +protected: // TRelation_application + virtual bool user_destroy() ; + virtual bool user_create() ; + virtual int rewrite(const TMask& m); + + virtual TMask * set_mask(TMask * _m=NULL); + +public: + Tab_app_ca(); + virtual ~Tab_app_ca() {} +}; + + +HIDDEN inline Tab_app_ca& app() { return (Tab_app_ca&)main_app(); } +// costruttore +Tab_app_ca::Tab_app_ca() {} + + +// alloca/cambia la maschera dell'applicazione +TMask * Tab_app_ca::set_mask(TMask * _m) +{ + if (_m != NULL) + return Tab_application::set_mask(_m); + else { + TFixed_string tabname(get_tabname()); + TString maskname; + return Tab_application::set_mask(new TMask_tabca((const char *)get_mask_name(maskname),tabname)); + } +} + +bool Tab_app_ca::user_create() +{ + bool ok = Tab_application::user_create(); + + if (ok) + { + TMask& mask = *set_mask(); + } + + return ok; +} + +bool Tab_app_ca::user_destroy() +{ + return Tab_application::user_destroy(); +} + +int Tab_app_ca::rewrite(const TMask& m) +{ + return Tab_application::rewrite(m); +} + + +int ca0100(int argc, char* argv[]) +{ + Tab_app_ca a; + a.run(argc, argv, TR("Tabella")); + return 0; +} + diff --git a/ca/ca0300.cpp b/ca/ca0300.cpp new file mode 100755 index 000000000..cfe8d4249 --- /dev/null +++ b/ca/ca0300.cpp @@ -0,0 +1,136 @@ +#include +#include + +#include "ca0.h" +#include "ca0300a.h" + +//-----AUTOMASK---------------------------------------------------------------------------------// +class TConf_mask : public TAutomask +{ + +protected: + bool on_field_event(TOperable_field& o, TField_event e, long jolly); + +public: + TConf_mask(const TFilename& f); + + virtual ~TConf_mask(){}; +}; + +TConf_mask::TConf_mask(const TFilename& f) :TAutomask (f) +{ +} + +bool TConf_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) +{ + switch (o.dlg()) + { + case F_LEVEL_1 : + if (e == fe_modify || e == fe_init) + { + TToken_string cod, desc; + cod = " "; + desc = TR("Nessuno"); + if (o.get() == "CDC") + { + cod.add("CMS"); + desc.add(TR("Commessa")); + } + else + { + cod.add("CDC"); + desc.add(TR("Centro di Costo")); + } + + TList_field& lev2 = (TList_field&)field(F_LEVEL_2); + lev2.replace_items(cod, desc); + } + break; + + case F_FATHER_FASI : + if (e == fe_close) + { + const TString& lev1 = get(F_LEVEL_1); + const TString& lev2 = get(F_LEVEL_2); + if (lev2.blank()) + { + if (o.get() != lev1 && o.get() != lev2) + return error_box(TR("Livello superiore di fase non valido")); + } + } + + default: break; + } + return TRUE; +} + + + + +//-----CONFIG APPLICATION------------------------------------------------------------------------------------------// + +class TConf_Analitica : public TConfig_application +{ + TMask* _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( ); + virtual bool user_destroy( ); + + TConf_Analitica() : TConfig_application( CONFIG_DITTA ), _cm(NULL) { } + virtual ~TConf_Analitica( ){ } +}; + +TMask* TConf_Analitica::get_mask() +{ + return _cm; +} + + +TMask* TConf_Analitica::create_mask(const TFilename& f) +{ + if (_cm == NULL) + _cm = new TConf_mask(f); + return _cm; +} + +bool TConf_Analitica::preprocess_config (TMask& mask, TConfig& config) +{ + return TRUE; +} + +bool TConf_Analitica::postprocess_config (TMask& mask, TConfig& config) +{ + return TRUE; +} + +bool TConf_Analitica::user_create( ) +{ + TConfig config(CONFIG_DITTA, "ca"); + config.set( "EdMask", "ca0300a", "ca"); + + return TRUE; +} + +bool TConf_Analitica::user_destroy( ) +{ + if (_cm != NULL) + delete _cm; + return TRUE; +} + +int ca0300(int argc, char* argv[]) +{ + TConf_Analitica app; + app.run(argc, argv, TR("Parametri Contabilita' Analitica")); + return 0; +} \ No newline at end of file diff --git a/ca/ca0300a.h b/ca/ca0300a.h new file mode 100755 index 000000000..7bbf82d92 --- /dev/null +++ b/ca/ca0300a.h @@ -0,0 +1,33 @@ +//campi maschera ca0300a.uml (configurazione Cintabilita' Analitica +#define F_DATAATTCA 101 +#define F_LEVEL_1 102 +#define F_LEVEL_2 103 +#define F_ATTIVA_FASI 104 +#define F_FATHER_FASI 105 + +#define F_CDC_1 106 +#define F_CDC_2 107 +#define F_CDC_3 108 +#define F_CDC_4 109 +#define F_DESCDC_1 110 +#define F_DESCDC_2 111 +#define F_DESCDC_3 112 +#define F_DESCDC_4 113 + +#define F_CMS_1 114 +#define F_CMS_2 115 +#define F_CMS_3 116 +#define F_CMS_4 117 +#define F_DESCMS_1 118 +#define F_DESCMS_2 119 +#define F_DESCMS_3 120 +#define F_DESCMS_4 121 + +#define F_FASE_1 122 +#define F_FASE_2 123 +#define F_FASE_3 124 +#define F_FASE_4 125 +#define F_DESFASE_1 126 +#define F_DESFASE_2 127 +#define F_DESFASE_3 128 +#define F_DESFASE_4 129 diff --git a/ca/ca0300a.uml b/ca/ca0300a.uml new file mode 100755 index 000000000..e08e5bc6f --- /dev/null +++ b/ca/ca0300a.uml @@ -0,0 +1,255 @@ +#include "ca0300a.h" + +TOOLBAR "" 0 20 0 2 + +BUTTON DLG_OK 10 2 +BEGIN + PROMPT -12 -1 "" +END + +BUTTON DLG_QUIT 10 2 +BEGIN + PROMPT -22 -1 "" +END + +ENDPAGE + +PAGE "Pagina 1" -1 -1 78 10 + +GROUPBOX DLG_NULL 78 7 +BEGIN + PROMPT 1 1 "@bLivelli generali" +END + +DATE F_DATAATTCA +BEGIN + PROMPT 2 2 "Data attivazione " + FIELD DtAttCa +END + +LIST F_LEVEL_1 3 15 +BEGIN + PROMPT 2 3 "Primo livello " + ITEM "CDC|Centro di Costo" + ITEM "CMS|Commessa" + FIELD Level(1) +END + +LIST F_LEVEL_2 3 15 +BEGIN + PROMPT 2 4 "Secondo livello " + ITEM " |Nessuno" + ITEM "CDC|Centro di Costo" + ITEM "CMS|Commessa" + FIELD Level(2) +END + +BOOLEAN F_ATTIVA_FASI +BEGIN + PROMPT 2 5 "Utilizza le fasi " + MESSAGE FALSE CLEAR,F_FATHER_FASI + MESSAGE TRUE ENABLE,F_FATHER_FASI + FIELD AttFasi +END + +LIST F_FATHER_FASI 3 15 +BEGIN + PROMPT 2 6 "Liv. sup. fase " + ITEM " |Nessuno" + ITEM "CDC|Centro di Costo" + ITEM "CMS|Commessa" + FIELD FathFasi +END + +GROUPBOX DLG_NULL 78 6 +BEGIN + PROMPT 1 8 "@bCentro di costo" +END + +STRING F_CDC_1 20 +BEGIN + PROMPT 2 9 "" + MESSAGE EMPTY CLEAR,F_DESCDC_1|CLEAR,F_CDC_2 + MESSAGE ENABLE,F_DESCDC_1|ENABLE,F_CDC_2 + FIELD CdC(1) +END + +STRING F_DESCDC_1 50 +BEGIN + PROMPT 26 9 "" +END + +STRING F_CDC_2 20 +BEGIN + PROMPT 2 10 "" + MESSAGE EMPTY CLEAR,F_DESCDC_2|CLEAR,F_CDC_3 + MESSAGE ENABLE,F_DESCDC_2|ENABLE,F_CDC_3 + FLAGS "G" + FIELD CdC(2) +END + +STRING F_DESCDC_2 50 +BEGIN + PROMPT 26 10 "" +END + +STRING F_CDC_3 20 +BEGIN + PROMPT 2 11 "" + MESSAGE EMPTY CLEAR,F_DESCDC_3|CLEAR,F_CDC_4 + MESSAGE ENABLE,F_DESCDC_3|ENABLE,F_CDC_4 + FLAGS "G" + FIELD CdC(3) +END + +STRING F_DESCDC_3 50 +BEGIN + PROMPT 26 11 "" +END + +STRING F_CDC_4 20 +BEGIN + PROMPT 2 12 "" + MESSAGE EMPTY CLEAR,F_DESCDC_4 + MESSAGE ENABLE,F_DESCDC_4 + FLAGS "G" + FIELD CdC(4) +END + +STRING F_DESCDC_4 50 +BEGIN + PROMPT 26 12 "" +END + +GROUPBOX DLG_NULL 78 6 +BEGIN + PROMPT 1 14 "@bCommessa" +END + +STRING F_CMS_1 20 +BEGIN + PROMPT 2 15 "" + MESSAGE EMPTY CLEAR,F_DESCMS_1|CLEAR,F_CMS_2 + MESSAGE ENABLE,F_DESCMS_1|ENABLE,F_CMS_2 + FIELD Cms(1) +END + +STRING F_DESCMS_1 50 +BEGIN + PROMPT 26 15 "" +END + +STRING F_CMS_2 20 +BEGIN + PROMPT 2 16 "" + MESSAGE EMPTY CLEAR,F_DESCMS_2|CLEAR,F_CMS_3 + MESSAGE ENABLE,F_DESCMS_2|ENABLE,F_CMS_3 + FLAGS "G" + FIELD Cms(2) +END + +STRING F_DESCMS_2 50 +BEGIN + PROMPT 26 16 "" +END + +STRING F_CMS_3 20 +BEGIN + PROMPT 2 17 "" + MESSAGE EMPTY CLEAR,F_DESCMS_3|CLEAR,F_CMS_4 + MESSAGE ENABLE,F_DESCMS_3|ENABLE,F_CMS_4 + FLAGS "G" + FIELD Cms(3) +END + +STRING F_DESCMS_3 50 +BEGIN + PROMPT 26 17 "" +END + +STRING F_CMS_4 20 +BEGIN + PROMPT 2 18 "" + MESSAGE EMPTY CLEAR,F_DESCMS_4 + MESSAGE ENABLE,F_DESCMS_4 + FLAGS "G" + FIELD Cms(4) +END + +STRING F_DESCMS_4 50 +BEGIN + PROMPT 26 18 "" +END + +ENDPAGE + +PAGE "Pagina 2" -1 -1 78 10 + +GROUPBOX DLG_NULL 78 6 +BEGIN + PROMPT 1 1 "@bFase" +END + +STRING F_FASE_1 10 +BEGIN + PROMPT 2 2 "" + MESSAGE EMPTY CLEAR,F_DESFASE_1|CLEAR,F_FASE_2 + MESSAGE ENABLE,F_DESFASE_1|ENABLE,F_FASE_2 + FIELD Cfs(1) +END + +STRING F_DESFASE_1 50 +BEGIN + PROMPT 16 2 "" +END + +STRING F_FASE_2 10 +BEGIN + PROMPT 2 3 "" + MESSAGE EMPTY CLEAR,F_DESFASE_2|CLEAR,F_FASE_3 + MESSAGE ENABLE,F_DESFASE_2|ENABLE,F_FASE_3 + FLAGS "G" + FIELD Cfs(2) +END + +STRING F_DESFASE_2 50 +BEGIN + PROMPT 16 3 "" +END + +STRING F_FASE_3 10 +BEGIN + PROMPT 2 4 "" + MESSAGE EMPTY CLEAR,F_DESFASE_3|CLEAR,F_FASE_4 + MESSAGE ENABLE,F_DESFASE_3|ENABLE,F_FASE_4 + FLAGS "G" + FIELD Cfs(3) +END + +STRING F_DESFASE_3 50 +BEGIN + PROMPT 16 4 "" +END + +STRING F_FASE_4 10 +BEGIN + PROMPT 2 5 "" + MESSAGE EMPTY CLEAR,F_DESFASE_4 + MESSAGE ENABLE,F_DESFASE_4 + FLAGS "G" + FIELD Cfs(4) +END + +STRING F_DESFASE_4 50 +BEGIN + PROMPT 16 5 "" +END + +GROUPBOX DLG_NULL 78 6 +BEGIN + PROMPT 1 8 "@bPiano dei conti industriale" +END + +ENDPAGE + +ENDMASK \ No newline at end of file diff --git a/ca/catbcdc.h b/ca/catbcdc.h new file mode 100755 index 000000000..e69de29bb diff --git a/ca/catbcms.h b/ca/catbcms.h new file mode 100755 index 000000000..e69de29bb diff --git a/ca/catbfsc.h b/ca/catbfsc.h new file mode 100755 index 000000000..e69de29bb