From 69ed72afb7add22bf9ff27fda425f392509ddb9a Mon Sep 17 00:00:00 2001 From: luca Date: Tue, 23 Aug 2005 15:12:46 +0000 Subject: [PATCH] Patch level :2.2 nopatch per ora Files correlati :rendiconto Ricompilazione Demo : [ ] Commento :Aggiunti dati in testata report. Messa la causale nella colonna numerazione nel caso si tratti di un movimento di analitica puro (richieste adolfo) git-svn-id: svn://10.65.10.50/trunk@13317 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ca/ca3700.cpp | 67 +++++++++++++++------- ca/ca3700.uml | 2 +- ca/ca3700a.rep | 152 +++++++++++++++++++++++++++++++++++-------------- 3 files changed, 159 insertions(+), 62 deletions(-) diff --git a/ca/ca3700.cpp b/ca/ca3700.cpp index 657cca948..11e240c99 100755 --- a/ca/ca3700.cpp +++ b/ca/ca3700.cpp @@ -368,7 +368,7 @@ protected: void crea_righe_da_rmovana(); void crea_righe_da_rdoc(const TPrint_rendiconto_ca_mask& msk); void crea_trr(const TFilename& trr) const; - void salva_rmovana(const TRectype& rmovana, const TRectype& movana, const TDocumento* doc); + void scrive_riga(const TRectype& rmovana, const TRectype& movana, const TDocumento* doc); real somma_budget(const TString& codconto, const char* tipomovana); @@ -489,6 +489,24 @@ const TVariant& TPrint_rendiconto_ca_recordset::get(const char* column_name) con var = _codfas; return var; } + if (strcmp(column_name, "#DACONTO") == 0) + { + TVariant& var = get_tmp_var(); + if (!_riclassificato) + var = _daconto; + else + var = _da_conto_riclas; + return var; + } + if (strcmp(column_name, "#ACONTO") == 0) + { + TVariant& var = get_tmp_var(); + if (!_riclassificato) + var = _aconto; + else + var = _a_conto_riclas; + return var; + } if (strcmp(column_name, "#PREVENTIVO") == 0) { TVariant& var = get_tmp_var(); @@ -518,7 +536,7 @@ const TVariant& TPrint_rendiconto_ca_recordset::get(const char* column_name) con } //compila i campi da stampare -void TPrint_rendiconto_ca_recordset::salva_rmovana(const TRectype& rmovana, const TRectype& movana, const TDocumento* doc) +void TPrint_rendiconto_ca_recordset::scrive_riga(const TRectype& rmovana, const TRectype& movana, const TDocumento* doc) { //tipo movimento CONSUNTIVO const char tipomov = movana.get_char(MOVANA_TIPOMOV); @@ -620,7 +638,7 @@ void TPrint_rendiconto_ca_recordset::salva_rmovana(const TRectype& rmovana, cons } //..non esiste il campo in movana else //movimento normale (senza documento) { - tmpcurr.put("CODNUM", ""); + tmpcurr.put("CODNUM", movana.get(MOVANA_CODCAUS)); //mette la causale del movimento tmpcurr.put("ANNO", movana.get(MOVANA_ANNOES)); //anno del movimento tmpcurr.put("NUMRD", movana.get(MOVANA_NUMREG)); //numreg del movana tmpcurr.put("DATA", movana.get(MOVANA_DATACOMP)); //data del movana @@ -732,6 +750,7 @@ F=IMF*/ tmpcurr.put("NRIGA", rmovana.get(RMOVANA_NUMRIG)); //numero riga tmpcurr.put("DESCRIGA", rmovana.get(RMOVANA_DESCR)); //descrizione rmovana +/* ***La procedura seguente non avra' piu' senso dopo l'eliminazione degli stati!!*** int err = _tmp->write(); // aggiunge i record al file temporaneo //procedura di controllo della scrittura su file! se il documento è già stato contbilizzato.. //..sul file temporaneo esiste già un record con la chiave del record,dovuto al doc,.. @@ -743,7 +762,9 @@ F=IMF*/ msg.format(FR("Errore di scrittura %d sul file temporaneo.\n"), err); msg << "Documento " << codnum_desc << " " << descr << " gia' contabilizzato.\nControllare lo stato della numerazione."; error_box (msg); - } + }*/ + + _tmp->write(); if (should_delete) delete newdoc; @@ -813,7 +834,7 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana() for (cur_rmovana = 0; cur_rmovana.pos() < rmovana_items; ++cur_rmovana) { pi.addstatus(1); - salva_rmovana(rmovana, movana, NULL); + scrive_riga(rmovana, movana, NULL); } } } @@ -913,19 +934,26 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(const TPrint_rendiconto_ { pi.addstatus(1); const TRectype& curr_doc = cur_rdoc.curr(LF_DOC); - const TString curr_key = curr_doc.build_key(); - if (curr_key == old_key) - continue; - else - old_key = curr_key; - - TDocumento doc(curr_doc); - TAnal_mov mov; - cont_anal.elabora(doc, 0, NULL, false, mov); - for (int j = 1; j <= mov.rows(); j++) + //controlla se il documento cui appartiene la rigadoc e' stato contabilizzato; + //se e' stato contabilizzato lo salta in quanto la riga documento apparira' attraverso le righe + //dei movimenti di analitica + const long numregca = curr_doc.get_long(DOC_NUMREGCA); + if (numregca == 0) { - salva_rmovana(mov.body()[j], mov, &doc); - } //for int j... + const TString curr_key = curr_doc.build_key(); + if (curr_key == old_key) + continue; + else + old_key = curr_key; + + TDocumento doc(curr_doc); + TAnal_mov mov; + cont_anal.elabora(doc, 0, NULL, false, mov); + for (int j = 1; j <= mov.rows(); j++) + { + scrive_riga(mov.body()[j], mov, &doc); + } //for int j... + } //if numregca } //for cur_rdoc.. } //if rdoc_items @@ -1036,8 +1064,9 @@ void TPrint_rendiconto_ca_recordset::set_filter(const TPrint_rendiconto_ca_mask& } } //metodi per riempire il file da cui generare il report - //crea_righe_da_rmovana(); - + //dati estratti dalle righe movimenti di contabilita' analitica + crea_righe_da_rmovana(); + //dati estratti dalle righe documenti crea_righe_da_rdoc(msk); } diff --git a/ca/ca3700.uml b/ca/ca3700.uml index 23cb4edd5..3a0fa0950 100755 --- a/ca/ca3700.uml +++ b/ca/ca3700.uml @@ -130,7 +130,7 @@ END ENDPAGE -PAGE "Numerazioni doc" -1 -1 78 20 +PAGE "Num.doc. da escludere" -1 -1 78 20 SPREADSHEET F_RIGHE_NUM -1 -2 BEGIN diff --git a/ca/ca3700a.rep b/ca/ca3700a.rep index c8e10f029..ae3dc57cd 100755 --- a/ca/ca3700a.rep +++ b/ca/ca3700a.rep @@ -2,7 +2,7 @@ Rendiconto CA -
+
@@ -14,53 +14,121 @@ #REPORT.PAGE - - - #COSTO - CA_FORMAT_COSTO - - - MESSAGE ISAMREAD,CDC,CODCOSTO=#COSTO,DESCRIZ - - - - #COMMESSA - CA_FORMAT_COMMESSA - - - MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DESCRIZ - - - - #FASE - CA_FORMAT_FASE - - - MESSAGE ISAMREAD,FASI,CODFASE=#FASE,DESCRIZ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
-
+
MESSAGE RESET,F1.101 MESSAGE RESET,F1.102 + + + + #COSTO + CA_FORMAT_COSTO + + + + MESSAGE ISAMREAD,CDC,CODCOSTO=#COSTO,DESCRIZ + + + + + MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,ANNO + + + + + MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,REGIVA + + + + #COMMESSA + CA_FORMAT_COMMESSA + + + + MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DESCRIZ + + + + + MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DATAINIZIO + + + + + MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,RENDIC + + + + + #FASE + CA_FORMAT_FASE + + + + MESSAGE ISAMREAD,FASI,CODFASE=#FASE,DESCRIZ + + + + + MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DATAFINE + + + + + MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,CHIUSA + + + + + + #DACONTO + CA_FORMAT_CONTO + + + + + #ACONTO + CA_FORMAT_CONTO + + + + + MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DATAPROR + + + + + MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,PROROGA + + + + + + MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,CODCF + + + + MESSAGE ISAMREAD,CLIFO,TIPOCF=C!CODCF=#101,RAGSOC +
CONTO