From 8413f380d60147eb7d9bb7ecd093757f36ec461e Mon Sep 17 00:00:00 2001 From: luca Date: Fri, 16 Apr 2010 13:04:42 +0000 Subject: [PATCH] Patch level : Files correlati : Ricompilazione Demo : [ ] Commento : Metodizzato il calcolo delle date competenza nella elaborazione analitica (in modo che le calcoli sempre, sia che esista il movcg sia che non esista). Messi i campi dei conti analitici nella pagina analitica degli articoli (nella pagina dove erano si sovrapponevano ad altri) git-svn-id: svn://10.65.10.50/trunk@20348 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/ve2400.cpp | 4 ++-- ve/ve2400.uml | 10 ++++++++++ ve/velib04.h | 1 + ve/velib04f.cpp | 33 ++++++++++++++++++++++----------- 4 files changed, 35 insertions(+), 13 deletions(-) diff --git a/ve/ve2400.cpp b/ve/ve2400.cpp index d492ef5a4..3459fb645 100755 --- a/ve/ve2400.cpp +++ b/ve/ve2400.cpp @@ -500,8 +500,8 @@ TMask_anamag::TMask_anamag(TRelation * rel) : TMask("ve2400") if (!ca_config().get_bool("UsePdcc")) // Creo campi analitici solo se uso vero piano conti analitico { - ca_create_fields(*this, 1, LF_PCONANA, 1, 7, F_CONTOPCIA, F_DESCRCONTOPCIA, 0, ANAMAG_CONTOINDA); - ca_create_fields(*this, 1, LF_PCONANA, 1,13, F_CONTOPCIV, F_DESCRCONTOPCIV, 0, ANAMAG_CONTOINDV); + ca_create_fields(*this, 6, LF_PCONANA, 1, 9, F_CONTOPCIA, F_DESCRCONTOPCIA, 0, ANAMAG_CONTOINDA); + ca_create_fields(*this, 6, LF_PCONANA, 1,15, F_CONTOPCIV, F_DESCRCONTOPCIV, 0, ANAMAG_CONTOINDV); } create_user_fields(); diff --git a/ve/ve2400.uml b/ve/ve2400.uml index 4d455cbb1..ca5993892 100755 --- a/ve/ve2400.uml +++ b/ve/ve2400.uml @@ -1334,6 +1334,16 @@ BEGIN ADD RUN cg0 -0 END +GROUPBOX DLG_NULL 78 6 +BEGIN + PROMPT 0 8 "@bConto acquisti" +END + +GROUPBOX DLG_NULL 78 6 +BEGIN + PROMPT 0 14 "@bConto vendite" +END + ENDPAGE PAGE "Lavanderie" 0 0 80 15 diff --git a/ve/velib04.h b/ve/velib04.h index fefb05dd4..bf86c1149 100755 --- a/ve/velib04.h +++ b/ve/velib04.h @@ -620,6 +620,7 @@ protected: const TCausale& rdoc2caus(const TRiga_documento& rdoc); void init_distrib(TString_array& conti, TGeneric_distrib& distrib, bool pareggio); + void calcola_date_comp(const TDocumento& doc, TDate& datareg, TDate& datacomp, TDate& datafcomp, int annoes); public: bool search_costo_ricavo(const TRiga_documento& riga, TBill& conto, bool riclassifica_fdr_fde); diff --git a/ve/velib04f.cpp b/ve/velib04f.cpp index 7126214d0..de43b745b 100755 --- a/ve/velib04f.cpp +++ b/ve/velib04f.cpp @@ -479,6 +479,20 @@ void TContabilizzazione_analitica::init_distrib(TString_array& conti, TGeneric_d } } +void TContabilizzazione_analitica::calcola_date_comp(const TDocumento& doc, TDate& datareg, TDate& datacomp, TDate& datafcomp, int annoes) +{ + const TDate& datadoc = doc.get_date(DOC_DATADOC); + datacomp = doc.get_date(DOC_DATACOMP); + if (!datacomp.ok()) + datacomp = datadoc; + datafcomp = doc.get_date(DOC_DATAFCOMP); + if (!datafcomp.ok()) + datafcomp = datacomp; + datareg = datadoc; + + annoes = esercizi().date2esc(datareg); //ci potrebbe andare datacomp? All'analisi l'ardua sentenza +} + bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TViswin* viswin, bool can_write, TAnal_mov& mov, bool riclassifica_fdr_fde) { TDate datareg, datacomp, datafcomp, datadoc; @@ -498,15 +512,8 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis } else { - datadoc = doc.get_date(DOC_DATADOC); - datacomp = doc.get_date(DOC_DATACOMP); - if (!datacomp.ok()) - datacomp = datadoc; - datafcomp = doc.get_date(DOC_DATAFCOMP); - if (!datafcomp.ok()) - datafcomp = datacomp; - datareg = datadoc; - annoes = esercizi().date2esc(datareg); //ci potrebbe andare datacomp?Allì'analisi l'ardua sentenza + calcola_date_comp(doc, datareg, datacomp, datafcomp, annoes); + doc.riferimento(descr); if (descr.empty()) descr = doc.tipo().descrizione(); @@ -529,7 +536,8 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis dare = doc.get_char(DOC_TIPOCF) == 'F'; if (doc.is_nota_credito()) dare= !dare; - } + } //else di if(numreg_cg > 0)... + const char sezione = dare ? 'D' : 'A'; const int decimals = TCurrency::get_firm_dec(); @@ -549,10 +557,13 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis else mov.put(MOVANA_NUMREG, numreg_ca = 0); } + + calcola_date_comp(doc, datareg, datacomp, datafcomp, annoes); + mov.put(MOVANA_DATAREG, datareg); mov.put(MOVANA_DATACOMP, datacomp); mov.put(MOVANA_DATAFCOMP, datafcomp); - mov.put(MOVANA_DATADOC, datadoc); + mov.put(MOVANA_DATADOC, datadoc); mov.put(MOVANA_ANNOES, annoes); mov.put(MOVANA_DESCR, descr); mov.put(MOVANA_NUMREGCG, numreg_cg); // Movimento contabile associato