diff --git a/ca/ca3300.cpp b/ca/ca3300.cpp index 87351b041..0bd0aea4d 100755 --- a/ca/ca3300.cpp +++ b/ca/ca3300.cpp @@ -26,8 +26,8 @@ protected: virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); const TString& get_report_class() const; bool test_compatible_report(); + bool esistono_riclassificazioni() const; - bool esistono_riclassificazioni() const; void create_sheet(); int create_sheet_fields(int lf, int& y, short& dlg, bool required); public: @@ -73,6 +73,12 @@ bool TPrint_bilancio_ca_mask::test_compatible_report() return ok; } +bool TPrint_bilancio_ca_mask::esistono_riclassificazioni() const +{ + TLocalisamfile ric(LF_PANAPDC); + return ric.first() == NOERR; +} + bool TPrint_bilancio_ca_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) { switch (o.dlg()) @@ -225,11 +231,6 @@ void TPrint_bilancio_ca_mask::create_sheet() } } -bool TPrint_bilancio_ca_mask::esistono_riclassificazioni() const -{ - TLocalisamfile ric(LF_PANAPDC); - return ric.first() == NOERR; -} TPrint_bilancio_ca_mask::TPrint_bilancio_ca_mask() :TAutomask("ca3300") diff --git a/ca/ca3600.cpp b/ca/ca3600.cpp index 7060f7392..0f7ce054c 100755 --- a/ca/ca3600.cpp +++ b/ca/ca3600.cpp @@ -23,6 +23,7 @@ #include "ca3601.h" #include "calib01.h" #include "calib02.h" +#include "camask.h" //=============================================================================================== //////////////////////////////////////////////////////// @@ -35,7 +36,6 @@ protected: virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); void config_loader(TSheet_field& sf, const char* paragrafo); void config_setter(TSheet_field& sf, const char* paragrafo); - bool esistono_riclassificazioni() const; public: TPag_per_cms_configmask(); @@ -70,7 +70,7 @@ TPag_per_cms_configmask::TPag_per_cms_configmask() if (levels >= 2 && pref < levels && esistono_riclassificazioni()) { enable(F_PIANO); - ca_create_fields(*this, 1, LF_PCONANA, 2, 4, F_PRE1, F_PREDES1, 0x0, PCONANA_CODCONTO); + ca_create_fields(*this, 0, LF_PCONANA, 2, 2, F_PRE1, F_PREDES1, 0x0, PCONANA_CODCONTO); // Nascondi i campi che non fanno parte del prefisso for (int i = 0; i < levels; i++) @@ -90,43 +90,19 @@ TPag_per_cms_configmask::TPag_per_cms_configmask() } } - for (int g = 5; g <= 6; g++) - { - const int logicnum = g == 5 ? LF_PCON : LF_PCONANA; - const short da_dlg = g == 5 ? F_PDC1_INI : F_PAN1_INI; - const short da_des = g == 5 ? F_PDCDES1_INI : F_PANDES1_INI; - const short a_dlg = g == 5 ? F_PDC1_FIN : F_PAN1_FIN; - const short a_des = g == 5 ? F_PDCDES1_FIN : F_PANDES1_FIN; - - const int nfields = ca_create_fields(*this, 1, logicnum, 2, 10, da_dlg, da_des, 0x0, PCONANA_CODCONTO); - ca_create_fields(*this, 1, logicnum, 2, 16, a_dlg, a_des, 0x0, PCONANA_CODCONTO); + // creazione dei campi della pagina della maschera con lo sheet dei conti + if (use_pdcc) //usa conti contabili + config_loader(sfield(F_PDCC), "Pdcc"); - for (int i = 0; i < nfields; i++) - { - TMask_field& daconto = field(da_dlg + i); - daconto.set_group(1); - daconto.set_group(4); - daconto.set_group(g); - daconto.check_type(CHECK_SEARCH); - - field(da_des+i).set_group(4); - field(da_des+i).set_group(g); - - TMask_field& aconto = field(a_dlg + i); - aconto.set_group(2); - aconto.set_group(4); - aconto.set_group(g); - aconto.check_type(CHECK_SEARCH); - - field(a_des+i).set_group(4); - field(a_des+i).set_group(g); - } - } + short dlg = S_CDC2 + 100; // id del primo campo da generare + int y = 2; + const int nfields = create_sheet_fields(F_PDCA, LF_PCONANA, y, dlg); + sfield(F_PDCA).sheet_mask().hide(-1); + + config_loader(sfield(F_PDCA), "Pdca"); + + set_handlers(); -/* config_loader(sfield(F_COSTI), "Costi"); - config_loader(sfield(F_PAGAMENTI), "Pagamenti"); - config_loader(sfield(F_RITFIS), "Fiscali"); - config_loader(sfield(F_RITSOC), "Sociali");*/ } bool TPag_per_cms_configmask::on_field_event(TOperable_field& o, TField_event e, long jolly) @@ -134,28 +110,12 @@ bool TPag_per_cms_configmask::on_field_event(TOperable_field& o, TField_event e, switch (o.dlg()) { case DLG_SAVEREC: + if (e == fe_button) { - config_setter(sfield(F_COSTI), "Costi"); - config_setter(sfield(F_PAGAMENTI), "Pagamenti"); - config_setter(sfield(F_RITFIS), "Fiscali"); - config_setter(sfield(F_RITSOC), "Sociali"); + config_setter(sfield(F_PDCC), "Pdcc"); + config_setter(sfield(F_PDCA), "Pdca"); } break; - /*case F_PRE1: - case F_PRE2: - case F_PRE3: - if ((e == fe_init || e == fe_modify) && o.active()) - { - const int k = o.dlg()-F_PRE1; - set(F_PAN1_INI + k, o.get(), 0x2); - disable(F_PAN1_INI + k); - disable(F_PANDES1_INI + k); - - set(F_PAN1_FIN + k, o.get(), 0x2); - disable(F_PAN1_FIN + k); - disable(F_PANDES1_FIN + k); - } - break;*/ default: break; } @@ -164,41 +124,40 @@ bool TPag_per_cms_configmask::on_field_event(TOperable_field& o, TField_event e, void TPag_per_cms_configmask::config_loader(TSheet_field& sf, const char* paragrafo) { - TConfig config("ca3600.ini", paragrafo); + TFilename configname = "ca3600.ini"; //carica file configurazione conti + configname.custom_path(); + TConfig configfile(configname, paragrafo); + TString_array conti; - int n = config.list_variables(conti, true, paragrafo, true); + int n = configfile.list_variables(conti, false, paragrafo, true); FOR_EACH_ARRAY_ROW(conti, i, row) { - TToken_string conto(row->get(1), '.'); //prende il valore della riga - TBill uncle(conto, 0); - uncle.add_to(sf.row(i), 0, 0x2); + sf.row(-1) = configfile.get(*row); //carica la riga del .ini senza il contatore + sf.check_row(i); } } void TPag_per_cms_configmask::config_setter(TSheet_field& sf, const char* paragrafo) { - TConfig config("ca3600.ini", paragrafo); + TFilename configname = "ca3600.ini"; //carica file configurazione conti + configname.custom_path(); + TConfig configfile(configname, paragrafo); - config.remove_all(); //svuota il paragrafo sul .ini prima di ricompilarlo (se non si facesse + configfile.remove_all(); //svuota il paragrafo sul .ini prima di ricompilarlo (se non si facesse //non si riuscirebbero ad ammazzare le righe sul .ini FOR_EACH_SHEET_ROW (sf, i, row) { - TToken_string conto("", '.'); + TToken_string conto(""); conto.add(row->get(0)); conto.add(row->get(1)); conto.add(row->get(2)); + conto.add(row->get(3)); //*****nel caso di pdca deve tener conto dei livelli variabili - config.set("conto", conto, NULL, true, i); + configfile.set("conto", conto, NULL, true, i); } } -bool TPag_per_cms_configmask::esistono_riclassificazioni() const -{ - TLocalisamfile ric(LF_PANAPDC); - return ric.first() == NOERR; -} - //=============================================================================================== //////////////////////////////////////////////////////// // MASCHERA PRINCIPALE @@ -306,7 +265,6 @@ class TPag_per_cms_recordset : public TISAM_recordset // TString _prefix, _da_conto_riclas, _a_conto_riclas; protected: -// int _anno; // int _tipoconti; // TDate _dadata, _adata; // long _danumreg, _anumreg; @@ -389,11 +347,6 @@ void TPag_per_cms_recordset::set_filter(const TPag_per_cms_mask& msk, int cms_ro _codfas = rel.curr().get(RMOVANA_CODFASE); } -/* for (int i = 0; msk.id2pos(F_CDC1_INI+i) > 0; i++) - { - _daconto << msk.get(F_CDC1_INI+i); - _aconto << msk.get(F_CDC1_FIN+i); - }*/ } //////////////////////////////////////////////////////// diff --git a/ca/ca3600.h b/ca/ca3600.h index 8148cc227..8a4ca4249 100755 --- a/ca/ca3600.h +++ b/ca/ca3600.h @@ -12,16 +12,6 @@ #define F_ORDINAMENTO 207 #define F_REPORT 208 -//campi generati dal pdc -#define F_CDC1_INI 206 -#define F_CDC4_INI 209 -#define F_CDC1_FIN 216 -#define F_CDC4_FIN 219 -#define F_DES1_INI 226 -#define F_DES4_INI 229 -#define F_DES1_FIN 236 -#define F_DES4_FIN 239 - //sheet e righe relative #define F_RIGHE 260 diff --git a/ca/ca3601.h b/ca/ca3601.h index 0e9c072df..db28080e0 100755 --- a/ca/ca3601.h +++ b/ca/ca3601.h @@ -1,28 +1,9 @@ // campi per la maschera ca3601 -#define F_COSTI 200 -#define F_PAGAMENTI 201 -#define F_RITFIS 202 -#define F_RITSOC 203 +#define F_PDCC 301 +#define F_PDCA 302 -/*#define F_SC_GRUPPO 101 -#define F_SC_CONTO 102 -#define F_SC_SOTTOCONTO 103 -#define F_SC_DESCRIZIONE 104 - -#define F_SP_GRUPPO 101 -#define F_SP_CONTO 102 -#define F_SP_SOTTOCONTO 103 -#define F_SP_DESCRIZIONE 104 - -#define F_FI_GRUPPO 101 -#define F_FI_CONTO 102 -#define F_FI_SOTTOCONTO 103 -#define F_FI_DESCRIZIONE 104 - -#define F_SO_GRUPPO 101 -#define F_SO_CONTO 102 -#define F_SO_SOTTOCONTO 103 -#define F_SO_DESCRIZIONE 104*/ +#define S_TIPO 101 +#define S_DESCRIZIONE 105 //campi generati dai piani dei conti #define F_PIANO 319 diff --git a/ca/ca3601.uml b/ca/ca3601.uml index f4b15afc8..e117e8b1e 100755 --- a/ca/ca3601.uml +++ b/ca/ca3601.uml @@ -17,119 +17,131 @@ END ENDPAGE -PAGE "Costi / Pagamenti" -1 -1 78 20 +PAGE "Configurazione conti" -1 -1 78 20 LIST F_PIANO 1 12 BEGIN - PROMPT 1 1 "Piano dei conti " + PROMPT 1 0 "Piano dei conti " ITEM "A|Analitico" MESSAGE HIDE,5@|SHOW,6@ ITEM "C|Contabile" MESSAGE HIDE,6@|SHOW,5@ + FLAGS "G" END -GROUPBOX F_PRE0 76 6 +GROUPBOX F_PRE0 76 4 BEGIN - PROMPT 1 3 "@bPrefisso del piano dei conti analitico:" + PROMPT 1 1 "@bPrefisso del piano dei conti analitico:" GROUP 6 END TEXT -1 BEGIN - PROMPT 1 0 "@bCosti" + PROMPT 1 5 "@bPiano dei conti contabile" + GROUP 5 END -SPREADSHEET F_COSTI 78 10 +SPREADSHEET F_PDCC 78 12 BEGIN - PROMPT 1 1 "Costi" + PROMPT 1 6 "Pdcc" + ITEM "Tipo" ITEM "Gruppo" ITEM "Conto" ITEM "Sottoconto" ITEM "Descrizione@50" + GROUP 5 END TEXT -1 BEGIN - PROMPT 1 11 "@bPagamenti" + PROMPT 1 5 "@bPiano dei conti analitico" + GROUP 6 END -SPREADSHEET F_PAGAMENTI 78 +SPREADSHEET F_PDCA 78 12 BEGIN - PROMPT 1 12 "Pagamenti" - ITEM "Gruppo" - ITEM "Conto" - ITEM "Sottoconto" - ITEM "Descrizione@50" -END - -ENDPAGE - - -PAGE "Ritenute Fiscali / Sociali" -1 -1 78 20 - -TEXT -1 -BEGIN - PROMPT 1 0 "@bRitenute fiscali" -END - -SPREADSHEET F_RITFIS 78 10 -BEGIN - PROMPT 1 1 "Costi" - ITEM "Gruppo" - ITEM "Conto" - ITEM "Sottoconto" - ITEM "Descrizione@50" -END - -TEXT -1 -BEGIN - PROMPT 1 11 "@bRitenute sociali" -END - -SPREADSHEET F_RITSOC 78 -BEGIN - PROMPT 1 12 "Pagamenti" - ITEM "Gruppo" - ITEM "Conto" - ITEM "Sottoconto" - ITEM "Descrizione@50" + PROMPT 1 6 "Pdca" + ITEM "Tipo" + ITEM "Cdc2" + ITEM "Cdc3" + ITEM "Cdc4" + ITEM "Cdc5" + GROUP 6 END ENDPAGE ENDMASK -//----------------------MOVIMENTI IVA------------------------------// -//-----------Pagina di riga dello sheet costi----------------------// +//----------------------Piano dei conti contabile------------------------------// +//-----------Pagina di riga dello sheet PDCC----------------------// -PAGE "Riga Costo" -1 -1 78 19 +PAGE "Riga Piano dei conti contabile" -1 -1 78 8 -STRING S_CDC1 20 +LIST S_TIPO 1 18 BEGIN - PROMPT 1 2 "Cdc1" - FLAGS "B" + PROMPT 1 1 "Tipo " + ITEM "C|Costo" + ITEM "P|Pagamento" + ITEM "F|Ritenute fiscali" + ITEM "S|Ritenute sociali" +END + +NUMBER S_CDC2 3 +BEGIN + PROMPT 1 2 "Gruppo " + USE LF_PCON KEY 1 SELECT CONTO="" + INPUT GRUPPO S_CDC2 + DISPLAY "Gruppo" GRUPPO + DISPLAY "Descrizione@50" DESCR + OUTPUT S_CDC2 GRUPPO + CHECKTYPE REQUIRED +END + +NUMBER S_CDC3 3 +BEGIN + PROMPT 1 3 "Conto " + USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO="")) + COPY INPUT S_CDC2 + INPUT CONTO S_CDC3 + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Descrizione@50" DESCR + OUTPUT S_CDC2 GRUPPO + OUTPUT S_CDC3 CONTO + CHECKTYPE NORMAL + VALIDATE REQIF_FUNC 1 S_CDC4 +END + +NUMBER S_CDC4 6 +BEGIN + PROMPT 1 4 "Sottoconto " + USE LF_PCON KEY 1 SELECT SOTTOCONTO!="" + COPY INPUT S_CDC3 + INPUT SOTTOCONTO S_CDC4 + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Sottoconto" SOTTOCONTO + DISPLAY "Descrizione@50" DESCR + OUTPUT S_CDC4 SOTTOCONTO + OUTPUT S_CDC3 CONTO + OUTPUT S_CDC2 GRUPPO + OUTPUT S_DESCRIZIONE DESCR CHECKTYPE NORMAL END -STRING S_CDC2 20 +STRING S_DESCRIZIONE 50 BEGIN - PROMPT 21 2 "Cdc2" - FLAGS "B" - CHECKTYPE NORMAL -END - -STRING S_CDC3 20 -BEGIN - PROMPT 41 2 "Cdc3" - FLAGS "B" - CHECKTYPE NORMAL -END - -STRING S_CDC4 20 -BEGIN - PROMPT 61 2 "Cdc4" - FLAGS "B" - CHECKTYPE NORMAL + PROMPT 1 5 "Descrizione " + KEY 2 + USE LF_PCON KEY 2 + INPUT DESCR S_DESCRIZIONE + DISPLAY "Descrizione@50" DESCR + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Sottoconto" SOTTOCONTO + COPY OUTPUT S_CDC4 + CHECKTYPE REQUIRED END BUTTON DLG_OK 10 2 @@ -151,144 +163,50 @@ ENDPAGE ENDMASK -//-----------Pagina di riga dello sheet pagamenti----------------------// +//----------------------Piano dei conti analitico------------------------------// +//-----------Pagina di riga dello sheet PDCA----------------------// -PAGE "Riga Pagamento" -1 -1 78 19 +PAGE "Riga Piano dei conti analitico" -1 -1 78 8 -STRING S_CDC1 20 +LIST S_TIPO 1 18 BEGIN - PROMPT 1 2 "Cdc1" - FLAGS "B" - CHECKTYPE NORMAL + PROMPT 1 1 "Tipo " + ITEM "C|Costo" + ITEM "P|Pagamento" + ITEM "F|Ritenute fiscali" + ITEM "S|Ritenute sociali" END STRING S_CDC2 20 BEGIN - PROMPT 21 2 "Cdc2" + PROMPT 1 2 "Cdc2" FLAGS "B" CHECKTYPE NORMAL + GROUP 1 END STRING S_CDC3 20 BEGIN - PROMPT 41 2 "Cdc3" + PROMPT 1 3 "Cdc3" FLAGS "B" CHECKTYPE NORMAL + GROUP 1 END STRING S_CDC4 20 BEGIN - PROMPT 61 2 "Cdc4" - FLAGS "B" - CHECKTYPE NORMAL -END - -BUTTON DLG_OK 10 2 -BEGIN - PROMPT -13 -1 "" -END - -BUTTON DLG_DELREC 10 2 -BEGIN - PROMPT -23 -1 "" -END - -BUTTON DLG_CANCEL 10 2 -BEGIN - PROMPT -33 -1 "" -END - -ENDPAGE - -ENDMASK - -//-------------------MOVIMENTI CONTABILI---------------------------// -//-----------Pagina di riga dello sheet costi----------------------// - -PAGE "Riga Ritenuta Fiscale" -1 -1 78 19 - -STRING S_CDC1 20 -BEGIN - PROMPT 1 2 "Cdc1" - FLAGS "B" - CHECKTYPE NORMAL -END - -STRING S_CDC2 20 -BEGIN - PROMPT 21 2 "Cdc2" - FLAGS "B" - CHECKTYPE NORMAL -END - -STRING S_CDC3 20 -BEGIN - PROMPT 41 2 "Cdc3" - FLAGS "B" - CHECKTYPE NORMAL -END - -STRING S_CDC4 20 -BEGIN - PROMPT 61 2 "Cdc4" - FLAGS "B" - CHECKTYPE NORMAL -END - -BUTTON DLG_OK 10 2 -BEGIN - PROMPT -13 -1 "" -END - -BUTTON DLG_OK 10 2 -BEGIN - PROMPT -13 -1 "" -END - -BUTTON DLG_DELREC 10 2 -BEGIN - PROMPT -23 -1 "" -END - -BUTTON DLG_CANCEL 10 2 -BEGIN - PROMPT -33 -1 "" -END - -ENDPAGE - -ENDMASK - -//-----------Pagina di riga dello sheet pagamenti----------------------// - -PAGE "Riga Ritenuta Sociale" -1 -1 78 19 - -STRING S_CDC1 20 -BEGIN - PROMPT 1 2 "Cdc1" - FLAGS "B" - CHECKTYPE NORMAL -END - -STRING S_CDC2 20 -BEGIN - PROMPT 21 2 "Cdc2" - FLAGS "B" - CHECKTYPE NORMAL -END - -STRING S_CDC3 20 -BEGIN - PROMPT 41 2 "Cdc3" - FLAGS "B" - CHECKTYPE NORMAL -END - -STRING S_CDC4 20 -BEGIN - PROMPT 61 2 "Cdc4" + PROMPT 1 4 "Cdc4" FLAGS "B" CHECKTYPE NORMAL + GROUP 1 +END + +STRING S_CDC5 20 +BEGIN + PROMPT 1 5 "Cdc5" + FLAGS "B" + CHECKTYPE NORMAL + GROUP 1 END BUTTON DLG_OK 10 2 diff --git a/ca/ca3700.cpp b/ca/ca3700.cpp index e58d38a90..c41916d2d 100755 --- a/ca/ca3700.cpp +++ b/ca/ca3700.cpp @@ -27,7 +27,6 @@ protected: virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); const TString& get_report_class() const; bool test_compatible_report(); - bool esistono_riclassificazioni() const; public: TPrint_rendiconto_ca_mask(); @@ -137,12 +136,6 @@ bool TPrint_rendiconto_ca_mask::on_field_event(TOperable_field& o, TField_event } -bool TPrint_rendiconto_ca_mask::esistono_riclassificazioni() const -{ - TLocalisamfile ric(LF_PANAPDC); - return ric.first() == NOERR; -} - TPrint_rendiconto_ca_mask::TPrint_rendiconto_ca_mask() :TAnal_report_mask("ca3700") { diff --git a/ca/calib02.cpp b/ca/calib02.cpp index 6ced4d8c4..9133d5b90 100755 --- a/ca/calib02.cpp +++ b/ca/calib02.cpp @@ -1093,3 +1093,8 @@ int TAnal_report_mask::set_row_bill(TSheet_field& sf, int r, const TAnal_bill& b return flag; } +bool TAnal_report_mask::esistono_riclassificazioni() const +{ + TLocalisamfile ric(LF_PANAPDC); + return ric.first() == NOERR; +} diff --git a/ca/calib02.h b/ca/calib02.h index 9d49213cf..76fe48335 100755 --- a/ca/calib02.h +++ b/ca/calib02.h @@ -147,6 +147,7 @@ protected: public: int get_row_bill(TSheet_field& sf, int r, TAnal_bill& bill); int set_row_bill(TSheet_field& sf, int r, const TAnal_bill& bill); + bool esistono_riclassificazioni() const; TAnal_report_mask(const char* name) : TAutomask(name) {} };