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
This commit is contained in:
luca 2008-02-28 11:41:06 +00:00
parent c5b5ec3cfd
commit ccd5381467
3 changed files with 14 additions and 13 deletions

View File

@ -939,7 +939,7 @@ void TPrint_rendiconto_ca_recordset::scrive_riga_speciale(const TDocumento* doc,
//trova il conto senza movana e rmovana!!! //trova il conto senza movana e rmovana!!!
TContabilizzazione_analitica contab; TContabilizzazione_analitica contab;
TBill conto; TBill conto;
if (contab.search_costo_ricavo(rigadoc, conto)) if (contab.search_costo_ricavo(rigadoc, conto, true))
codconto = codcontocg = conto.string(0x8); codconto = codcontocg = conto.string(0x8);
} }
else //se ivece usa il piano dei conti analitico -> _piano = A... 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; TContabilizzazione_analitica contab;
TBill conto; 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) //stringa che conterrà il conto riclassificato (se sara' trovato)
codconto = riclassifica(conto, tmpcurr); codconto = riclassifica(conto, tmpcurr);
@ -1331,7 +1331,7 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(const TPrint_rendiconto_
if (numregca == 0) if (numregca == 0)
{ {
TAnal_mov mov; 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 //estrae il tipo ed il codice clifo dal documento per metterlo nel movana che ha generato
//con la elabora (richiesta puramente adolfica!) //con la elabora (richiesta puramente adolfica!)

View File

@ -490,7 +490,7 @@ class TContabilizzazione_analitica : public TElaborazione // velib04f
protected: protected:
bool find_conti_iva_indetraibile(const TRiga_documento& riga, const TBill & bill, TString_array& conti, int annoes); 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(); void init();
const TCausale& doc2caus(const TDocumento& doc); const TCausale& doc2caus(const TDocumento& doc);
@ -499,10 +499,11 @@ protected:
void init_distrib(TString_array& conti, TGeneric_distrib& distrib); void init_distrib(TString_array& conti, TGeneric_distrib& distrib);
public: 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, virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
const TDate& data_elab, bool interattivo = false); 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();
TContabilizzazione_analitica(const TRectype& rec); TContabilizzazione_analitica(const TRectype& rec);

View File

@ -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 // 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; TString16 clifo_key;
clifo_key.format("%c|%ld", r.doc().get_char(DOC_TIPOCF), r.doc().get_long(DOC_CODCF)); 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) if (row > 0)
{ {
__searching = true; __searching = true;
search_costo_ricavo(r.doc()[row], conto); search_costo_ricavo(r.doc()[row], conto, riclassifica_fdr_fde);
__searching = false; __searching = false;
} }
} }
@ -289,7 +289,7 @@ bool TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documento& r,
default : default :
break; break;
} // end of switch } // end of switch
if (conto.ok()) if (riclassifica_fdr_fde && conto.ok())
{ {
const TRectype * rdoc = r.find_original_rdoc(); const TRectype * rdoc = r.find_original_rdoc();
@ -375,7 +375,7 @@ bool TContabilizzazione_analitica::find_conti_iva_indetraibile(const TRiga_docum
return !conti.empty(); 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; bool bArcticleFound = false;
@ -396,7 +396,7 @@ bool TContabilizzazione_analitica::find_conti(const TRiga_documento& riga, TStri
} }
else else
{ {
if (!search_costo_ricavo(riga, bill)) if (!search_costo_ricavo(riga, bill, riclassifica_fdr_fde))
return true; return true;
if (!bill.is_analitico()) if (!bill.is_analitico())
return true; 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; TDate datareg, datacomp, datadoc;
int annoes = 0; int annoes = 0;
@ -638,7 +638,7 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis
continue; continue;
TString_array conti; 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 (!ok)
{ {
if (viswin != NULL) if (viswin != NULL)