From ccd53814675a8762826dead34778f7fa31625db7 Mon Sep 17 00:00:00 2001 From: luca Date: Thu, 28 Feb 2008 11:41:06 +0000 Subject: [PATCH] Patch level :10.0/4.0 892 Files correlati :ca3.exe Ricompilazione Demo : [ ] Commento :sistemati problemi elaborazione documenti figli di fdr e con indetraibilita' iva git-svn-id: svn://10.65.10.50/trunk@16228 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ca/ca3700.cpp | 6 +++--- ve/velib04.h | 7 ++++--- ve/velib04f.cpp | 14 +++++++------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/ca/ca3700.cpp b/ca/ca3700.cpp index 313bb7375..ef587e8d5 100755 --- a/ca/ca3700.cpp +++ b/ca/ca3700.cpp @@ -939,7 +939,7 @@ void TPrint_rendiconto_ca_recordset::scrive_riga_speciale(const TDocumento* doc, //trova il conto senza movana e rmovana!!! TContabilizzazione_analitica contab; TBill conto; - if (contab.search_costo_ricavo(rigadoc, conto)) + if (contab.search_costo_ricavo(rigadoc, conto, true)) codconto = codcontocg = conto.string(0x8); } else //se ivece usa il piano dei conti analitico -> _piano = A... @@ -948,7 +948,7 @@ void TPrint_rendiconto_ca_recordset::scrive_riga_speciale(const TDocumento* doc, { TContabilizzazione_analitica contab; TBill conto; - if (contab.search_costo_ricavo(rigadoc, conto)) + if (contab.search_costo_ricavo(rigadoc, conto, true)) { //stringa che conterrą il conto riclassificato (se sara' trovato) codconto = riclassifica(conto, tmpcurr); @@ -1331,7 +1331,7 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(const TPrint_rendiconto_ if (numregca == 0) { TAnal_mov mov; - cont_anal.elabora(doc, 0, NULL, false, mov); + cont_anal.elabora(doc, 0, NULL, false, mov, false); //estrae il tipo ed il codice clifo dal documento per metterlo nel movana che ha generato //con la elabora (richiesta puramente adolfica!) diff --git a/ve/velib04.h b/ve/velib04.h index dc0d18fda..807d4fdc9 100755 --- a/ve/velib04.h +++ b/ve/velib04.h @@ -490,7 +490,7 @@ class TContabilizzazione_analitica : public TElaborazione // velib04f protected: bool find_conti_iva_indetraibile(const TRiga_documento& riga, const TBill & bill, TString_array& conti, int annoes); - bool find_conti(const TRiga_documento& riga, TString_array& conti, int annoes); + bool find_conti(const TRiga_documento& riga, TString_array& conti, int annoes, bool riclassifica_fdr_fde); void init(); const TCausale& doc2caus(const TDocumento& doc); @@ -499,10 +499,11 @@ protected: void init_distrib(TString_array& conti, TGeneric_distrib& distrib); public: - bool search_costo_ricavo(const TRiga_documento& riga, TBill& conto); + bool search_costo_ricavo(const TRiga_documento& riga, TBill& conto, bool riclassifica_fdr_fde); virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out, const TDate& data_elab, bool interattivo = false); - bool elabora(TDocumento& doc, long numreg_cg, TViswin* viswin, bool can_write, TAnal_mov& mov); + bool elabora(TDocumento& doc, long numreg_cg, TViswin* viswin, bool can_write, TAnal_mov& mov, + bool riclassifica_fdr_fde = true); TContabilizzazione_analitica(); TContabilizzazione_analitica(const TRectype& rec); diff --git a/ve/velib04f.cpp b/ve/velib04f.cpp index 39b40ca5b..647cacf53 100755 --- a/ve/velib04f.cpp +++ b/ve/velib04f.cpp @@ -95,7 +95,7 @@ const TCausale& TContabilizzazione_analitica::rdoc2caus(const TRiga_documento& r } // Copiata dalla contabilizzazione ed eliminati riferimenti a tutte le variabili globali del cazzo -bool TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documento& r, TBill& conto) +bool TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documento& r, TBill& conto, bool riclassifica_fdr_fde) { TString16 clifo_key; clifo_key.format("%c|%ld", r.doc().get_char(DOC_TIPOCF), r.doc().get_long(DOC_CODCF)); @@ -278,7 +278,7 @@ bool TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documento& r, if (row > 0) { __searching = true; - search_costo_ricavo(r.doc()[row], conto); + search_costo_ricavo(r.doc()[row], conto, riclassifica_fdr_fde); __searching = false; } } @@ -289,7 +289,7 @@ bool TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documento& r, default : break; } // end of switch - if (conto.ok()) + if (riclassifica_fdr_fde && conto.ok()) { const TRectype * rdoc = r.find_original_rdoc(); @@ -375,7 +375,7 @@ bool TContabilizzazione_analitica::find_conti_iva_indetraibile(const TRiga_docum return !conti.empty(); } -bool TContabilizzazione_analitica::find_conti(const TRiga_documento& riga, TString_array& conti, int annoes) +bool TContabilizzazione_analitica::find_conti(const TRiga_documento& riga, TString_array& conti, int annoes, bool riclassifica_fdr_fde) { bool bArcticleFound = false; @@ -396,7 +396,7 @@ bool TContabilizzazione_analitica::find_conti(const TRiga_documento& riga, TStri } else { - if (!search_costo_ricavo(riga, bill)) + if (!search_costo_ricavo(riga, bill, riclassifica_fdr_fde)) return true; if (!bill.is_analitico()) return true; @@ -488,7 +488,7 @@ void TContabilizzazione_analitica::init_distrib(TString_array& conti, TGeneric_d } } -bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TViswin* viswin, bool can_write, TAnal_mov& mov) +bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TViswin* viswin, bool can_write, TAnal_mov& mov, bool riclassifica_fdr_fde) { TDate datareg, datacomp, datadoc; int annoes = 0; @@ -638,7 +638,7 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis continue; TString_array conti; - const bool ok = find_conti(riga, conti, annoes); + const bool ok = find_conti(riga, conti, annoes, riclassifica_fdr_fde); if (!ok) { if (viswin != NULL)