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!!!
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!)

View File

@ -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);

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
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)