From c3b7b5566759d466d6d364201d1de803988ea87b Mon Sep 17 00:00:00 2001 From: luca Date: Thu, 28 Jan 2010 10:51:41 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:10.0?= =?UTF-8?q?=20Files=20correlati=20=20=20=20=20:=20Ricompilazione=20Demo=20?= =?UTF-8?q?:=20[=20]=20Commento=20=20=20=20=20=20=20=20=20=20=20=20:=20riv?= =?UTF-8?q?oluzionata=20la=20stampa=20del=20rendiconto;=20filtri=20date=20?= =?UTF-8?q?su=20commesse=20sganciati=20da=20docs=20e=20movana;=20usate=20c?= =?UTF-8?q?hiavi=20migliori;=20migliorata=20velocit=C3=A0=20di=20esecuzion?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/trunk@20005 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ca/ca3700.cpp | 123 ++--------------------------------------- ca/ca3700.h | 2 +- ca/ca3700.uml | 149 +++++++++++++++++++++++++------------------------- ca/f108.trr | 4 +- 4 files changed, 86 insertions(+), 192 deletions(-) diff --git a/ca/ca3700.cpp b/ca/ca3700.cpp index ec99bc70b..876aa372f 100755 --- a/ca/ca3700.cpp +++ b/ca/ca3700.cpp @@ -340,11 +340,9 @@ protected: virtual void set_custom_filter(TCursor& cur) const; void calcola_date_da_maschera(const TMask& msk, TDate& dal, TDate& al); - int crea_filtro_rmovana_antica(const TMask& msk, TRectype& da_rmovana, TRectype& a_rmovana, TString& filtro); - int crea_filtro_rmovana_moderna(const TMask& msk, TRectype& da_rmovana, TRectype& a_rmovana, TString& filtro); + int crea_filtro_rmovana(const TMask& msk, TRectype& da_rmovana, TRectype& a_rmovana, TString& filtro); void crea_righe_da_rmovana(TLocalisamfile& tmp, const TPrint_rendiconto_ca_mask& msk, TLog_report& log); - int crea_filtro_rdoc_antica(const TMask& msk, TRectype& da_rdoc, TRectype& a_rdoc, TString& filtro_date); - int crea_filtro_rdoc_moderna(const TMask& msk, TRectype& da_rdoc, TRectype& a_rdoc, TString& filtro_date); + int crea_filtro_rdoc(const TMask& msk, TRectype& da_rdoc, TRectype& a_rdoc, TString& filtro_date); void crea_righe_da_rdoc(TLocalisamfile& tmp, const TPrint_rendiconto_ca_mask& msk, TLog_report& log); void crea_trr(const TFilename& trr) const; @@ -1259,71 +1257,9 @@ void TPrint_rendiconto_ca_recordset::calcola_date_da_maschera(const TMask& msk, al = _adata; } -//vecchio modo di stabilire il filtro ed i darec arec, quando non esistevano chiavi su codcms e codcdc su lf_rmovana -int TPrint_rendiconto_ca_recordset::crea_filtro_rmovana_antica(const TMask& msk, TRectype& da_rmovana, TRectype& a_rmovana, TString& filtro) -{ - int cur_key = 2; - if (!_riclassificato) - { - da_rmovana.put(RMOVANA_CODCONTO, _daconto); - a_rmovana.put(RMOVANA_CODCONTO, _aconto); - } - TDate dal, al; - //se siamo fortunati l'anno si può trovare così.. - int anno = msk.get_int(F_ANNO); - if (anno > 0) - { - TEsercizi_contabili esc; - esc.code2range(anno, dal, al); - } - if (_dadata.ok()) - dal = _dadata; - if (!_vitaintera) - { - if (_adata.ok()) - al = _adata; - } - else - al = TDate(); - - //gestione della chiave di ricerca: se specificata almeno _dadata usa la chiave 3 per DATACOMP,.. - //..nell'altro caso usa la chiave 2 per CODCONTO - if (dal.ok()) - { - cur_key = 3; - da_rmovana.put(RMOVANA_DATACOMP, dal); - if (al.ok()) - a_rmovana.put(RMOVANA_DATACOMP, al); - if (!_riclassificato) - filtro << "BETWEEN(CODCONTO,\"" << _daconto << "\",\"" << _aconto << "\")"; - } - else - filtro << "BETWEEN(DATACOMP," << dal.date2ansi() << ',' << al.date2ansi() << ')'; - - if (_codcosto.not_empty()) - { - if (filtro.not_empty()) - filtro << "&&"; - filtro << "(" << RMOVANA_CODCCOSTO << "==\"" << _codcosto << "\")"; - } - if (_codcms.not_empty()) - { - if (filtro.not_empty()) - filtro << "&&"; - filtro << "(" << RMOVANA_CODCMS << "==\"" << _codcms << "\")"; - } - if (_codfas.not_empty()) - { - if (filtro.not_empty()) - filtro << "&&"; - filtro << "(" << RMOVANA_CODFASE << "==\"" << _codfas << "\")"; - } - - return cur_key; -} //nuovo modo di costruire il filtro e darec arec, da quando esistono le chiavi per codcm e codcdc su lf_rmovana -int TPrint_rendiconto_ca_recordset::crea_filtro_rmovana_moderna(const TMask& msk, TRectype& da_rmovana, TRectype& a_rmovana, TString& filtro) +int TPrint_rendiconto_ca_recordset::crea_filtro_rmovana(const TMask& msk, TRectype& da_rmovana, TRectype& a_rmovana, TString& filtro) { int cur_key = 4; //intanto sistema darec arec @@ -1377,10 +1313,8 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana(TLocalisamfile& tmp, TRectype a_rmovana(LF_RMOVANA); TString filtro; - //antico metodo di filtraggio (chiave 2 o 3) - //int cur_key = crea_filtro_rmovana_antica(msk, da_rmovana, a_rmovana, filtro); //nuovo metodo di filtraggio (chiave 4 o 5) - int cur_key = crea_filtro_rmovana_moderna(msk, da_rmovana, a_rmovana, filtro); + int cur_key = crea_filtro_rmovana(msk, da_rmovana, a_rmovana, filtro); TCursor cur_rmovana(&rel_rmovana, filtro, cur_key, &da_rmovana, &a_rmovana); const TRecnotype rmovana_items = cur_rmovana.items(); @@ -1450,52 +1384,9 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana(TLocalisamfile& tmp, } -int TPrint_rendiconto_ca_recordset::crea_filtro_rdoc_antica(const TMask& msk, TRectype& da_rdoc, TRectype& a_rdoc, TString& filtro_date) -{ - int curr_key = 3; - //intanto darec arec - da_rdoc.put(RDOC_PROVV, 'D'); - a_rdoc.put(RDOC_PROVV, 'D'); - - TDate dal, al; - //se siamo fortunati l'anno si può trovare così.. - int anno = msk.get_int(F_ANNO); - if (anno > 0) - { - da_rdoc.put(RDOC_ANNO, anno); - a_rdoc.put(RDOC_ANNO, anno); - } - else - { - da_rdoc.put(RDOC_ANNO, _dadata.year()); - a_rdoc.put(RDOC_ANNO, _adata.year()); - if (_dadata.year() == _adata.year()) - anno = _dadata.year(); - } - - if (anno > 0) - { - TEsercizi_contabili esc; - esc.code2range(anno, dal, al); - } - if (_dadata.ok()) - dal = _dadata; - if (!_vitaintera) - { - if (_adata.ok()) - al = _adata; - } - else - al = TDate(); - - filtro_date << "BETWEEN(33->DATADOC," << dal.date2ansi() << ',' << al.date2ansi() << ')'; - - return curr_key; -} - //fatta su chiave 6 e 7 di lf_rdoc; non controlla le date, ammettendo movimenti non rientranti nell'intervallo di.. //..date scelto dalla maschera, purchè tali movimenti appartengano a commessa/cdc in esame -int TPrint_rendiconto_ca_recordset::crea_filtro_rdoc_moderna(const TMask& msk, TRectype& da_rdoc, TRectype& a_rdoc, TString& filtro_date) +int TPrint_rendiconto_ca_recordset::crea_filtro_rdoc(const TMask& msk, TRectype& da_rdoc, TRectype& a_rdoc, TString& filtro_date) { int cur_key = 6; //intanto sistema darec arec @@ -1533,10 +1424,8 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(TLocalisamfile& tmp, con TRectype a_rdoc(LF_RIGHEDOC); TString filtro_date; - //metodo antico - //const int cur_key = crea_filtro_rdoc_antica(msk, da_rdoc, a_rdoc, filtro_date); //metodo moderno - const int cur_key = crea_filtro_rdoc_moderna(msk, da_rdoc, a_rdoc, filtro_date); + const int cur_key = crea_filtro_rdoc(msk, da_rdoc, a_rdoc, filtro_date); TContabilizzazione_analitica cont_anal; //oggetto necessario per contabilizzare il documento in osservazione diff --git a/ca/ca3700.h b/ca/ca3700.h index d77bf7d03..c30d12034 100755 --- a/ca/ca3700.h +++ b/ca/ca3700.h @@ -11,7 +11,7 @@ #define F_DATAFIN 257 #define F_REV_COSRIC 258 #define F_IMPLODE_ROWS 259 -#define F_VITAINTERA 261 +#define F_VITAINTERA 261 #define F_PATH 262 //campi generati dai piani dei conti diff --git a/ca/ca3700.uml b/ca/ca3700.uml index 7656ddb47..80e1b3ce7 100755 --- a/ca/ca3700.uml +++ b/ca/ca3700.uml @@ -8,7 +8,7 @@ BUTTON DLG_EXPORT 2 2 BEGIN PROMPT 1 1 "~Esporta XLS" MESSAGE EXIT,K_F6 - PICTURE TOOL_EXPORT + PICTURE TOOL_EXCEL END ENDPAGE @@ -71,19 +71,50 @@ BEGIN ADD NONE END +GROUPBOX DLG_NULL 76 6 +BEGIN + PROMPT 1 3 "@bParametri stampa" +END + BOOLEAN F_REV_COSRIC BEGIN - PROMPT 1 3 "Stampa Ricavi prima dei Costi" + PROMPT 2 4 "Stampa Ricavi prima dei Costi" END BOOLEAN F_IMPLODE_ROWS BEGIN - PROMPT 1 4 "Compatta movimenti ripartiti" + PROMPT 2 5 "Compatta movimenti ripartiti" END -SPREADSHEET F_RIGHE -1 -6 +BOOLEAN F_VITAINTERA BEGIN - PROMPT 0 6 "Centro di Costo / Commessa / Fase" + PROMPT 2 6 "Includere movimenti e documenti al di fuori della durata della commessa (vita intera commessa)" +END + +DATE F_DATAINI +BEGIN + PROMPT 2 9 "Dalla data " +END + +DATE F_DATAFIN +BEGIN + PROMPT 36 9 "Alla data " +END + +TEXT DLG_NULL +BEGIN + PROMPT 2 10 "Digitare o selezionare attraverso la ricerca la cartella in cui creare il file rendiconto.xls. E' necessario indicare l'intero percorso!" +END + +STRING F_PATH 256 40 +BEGIN + PROMPT 2 11 "Cartella dove esportare il file rendiconto.xls " + DSELECT +END + +SPREADSHEET F_RIGHE -1 -2 +BEGIN + PROMPT 0 14 "Centro di Costo / Commessa / Fase" ITEM "Cdc1" ITEM "Cdc2" ITEM "Cdc3" @@ -98,34 +129,6 @@ BEGIN ITEM "Cdc12" END -BOOLEAN F_VITAINTERA -BEGIN - PROMPT 2 -6 "Includere esercizi successivi (vita intera)" - MESSAGE FALSE ENABLE,F_DATAFIN - MESSAGE TRUE CLEAR,F_DATAFIN -END - -DATE F_DATAINI -BEGIN - PROMPT 2 -5 "Dalla data " -END - -DATE F_DATAFIN -BEGIN - PROMPT 36 -5 "Alla data " -END - -TEXT DLG_NULL -BEGIN - PROMPT 2 -3 "Digitare o selezionare attraverso la ricerca la cartella in cui creare il file rendiconto.xls. E' necessario indicare l'intero percorso!" -END - -STRING F_PATH 256 40 -BEGIN - PROMPT 2 -2 "Cartella dove esportare il file rendiconto.xls " - DSELECT -END - ENDPAGE PAGE "Conti" 0 2 0 0 @@ -162,84 +165,84 @@ ENDPAGE PAGE "Istruzioni" 0 2 0 0 +GROUPBOX DLG_NULL 78 4 +BEGIN + PROMPT 0 0 "@bUtilizzo sheet" +END + +TEXT -1 +BEGIN + PROMPT 2 1 "Lasciare vuoto lo sheet significa selezionare tutti i cdc/commesse." +END + +TEXT -1 +BEGIN + PROMPT 2 2 "Ogni riga aggiunta specifica un particolare cdc/commessa." +END + GROUPBOX DLG_NULL 78 12 BEGIN - PROMPT 1 1 "@bUtilizzo campi dalla/alla data ed esercizio" -END - -TEXT -1 -BEGIN - PROMPT 1 2 "1) Lasciare vuoti tutti i campi non pone alcun limite sulle date di movimenti" + PROMPT 0 4 "@bUtilizzo campi relativi alle date" END TEXT -1 BEGIN - PROMPT 1 3 " e documenti." -END - -TEXT -1 -BEGIN - PROMPT 1 4 "2) Selezionare un esercizio senza specificare date equivale a porre come date" + PROMPT 1 5 "@bVita intera" END TEXT -1 BEGIN - PROMPT 1 5 " limite l'inizio e la fine dell'esercizio stesso." -END - -TEXT -1 -BEGIN - PROMPT 1 6 "3) Selezionare un esercizio implica che i campi data accettino solo date" + PROMPT 2 6 "Spuntato => non porre limiti alle date di movimenti e documenti esaminati." END TEXT -1 BEGIN - PROMPT 1 7 " appartenenti all'esercizio." -END - -TEXT -1 -BEGIN - PROMPT 1 8 "4) Lasciare vuoto l'esercizio consente di impostare un intervallo di date" + PROMPT 2 7 "NON spuntato => utilizzare date limite e/o esercizio per movimenti e documenti esaminati " END TEXT -1 BEGIN - PROMPT 1 9 " qualunque, anche comprendente più di un esercizio." + PROMPT 1 8 "@bSelezionanre un Esercizio" END TEXT -1 BEGIN - PROMPT 1 10 "5) Includere esercizi successivi equivale a non porre il limite alla data" + PROMPT 2 9 "Senza specificare date equivale a porre come date limite l'inizio e la fine dell'esercizio stesso." END TEXT -1 BEGIN - PROMPT 1 11 " anche se l'esercizio risulta selezionato." -END - -GROUPBOX DLG_NULL 76 4 -BEGIN - PROMPT 1 13 "@bUtilizzo sheet" + PROMPT 2 10 "Implica che i campi data limite accettino solo date appartenenti all'esercizio." END TEXT -1 BEGIN - PROMPT 1 14 "1) Lasciare vuoto lo sheet significa selezionare tutti i cdc/commesse." + PROMPT 2 11 "Lasciare vuoto l'esercizio consente di impostare un intervallo di date qualunque,anche comprendente più di un esercizio." END TEXT -1 BEGIN - PROMPT 1 15 "2) Ogni riga aggiunta specifica un particolare cdc/commessa." -END - -GROUPBOX DLG_NULL 76 4 -BEGIN - PROMPT 1 17 "@bGenerale" + PROMPT 1 12 "@bIndicare date limite" END TEXT -1 BEGIN - PROMPT 1 18 "1) Compattare i movimenti ripartiti: riporta temporaneamente tutti i movimenti" + PROMPT 2 13 "SENZA specificare commesse: considera solo commesse la cui durata ricade almeno in parte nell'intervallo indicato" +END + +TEXT -1 +BEGIN + PROMPT 2 14 "Specificando una o più commesse: non considera alcuna limitazione sulla durata della/e commessa/e." +END + +GROUPBOX DLG_NULL 78 4 +BEGIN + PROMPT 0 17 "@bGenerale" +END + +TEXT -1 +BEGIN + PROMPT 1 18 "Compattare i movimenti ripartiti: riporta temporaneamente tutti i movimenti" END TEXT -1 diff --git a/ca/f108.trr b/ca/f108.trr index a7abded05..1b23a34b6 100755 --- a/ca/f108.trr +++ b/ca/f108.trr @@ -16,7 +16,9 @@ CODCCORI|1|20|0|Codice centro di costo originario CODCMSORI|1|20|0|Codice commessa originario CODFASEORI|1|10|0|Codice fase originario CODCONTORI|1|20|0|Codice conto originario -3 +5 NUMREG+NUMRIG| CODCONTO+DATACOMP+NUMREG+NUMRIG|X DATACOMP+NUMREG+NUMRIG|X +CODCMS+CODCCOSTO+NUMREG+NUMRIG|X +CODCCOSTO+CODCMS+NUMREG+NUMRIG|X