From 192ae789ca69b0a3d5c4a1ec3fe7bf0fd2232cbf Mon Sep 17 00:00:00 2001 From: luca83 Date: Fri, 25 Jun 2010 08:30:11 +0000 Subject: [PATCH] Patch level : 10.0 patch ??? Files correlati : ps0713 Ricompilazione Demo : [ ] Commento : Correzioni richieste ieri 24/06 da Bonazzi: 1) Genera analitica sole se il conto lo prevede 2) Controllare la datareg git-svn-id: svn://10.65.10.50/trunk@20629 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ps/ps0713500.cpp | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/ps/ps0713500.cpp b/ps/ps0713500.cpp index 6ef3f110d..2ea2bf456 100755 --- a/ps/ps0713500.cpp +++ b/ps/ps0713500.cpp @@ -59,7 +59,7 @@ protected: public: virtual void main_loop(); - long genera_movcg(); + long genera_movcg(const TDate& datareg); void genera_movana(const long numreg, const TDate& datareg, TAssoc_array& righean); bool transfer(); @@ -95,14 +95,12 @@ void TImporta_spese_app::chiudi_movimento(TConfig& configfile, TImporto& tot_doc primanota.run(); } -long TImporta_spese_app::genera_movcg() +long TImporta_spese_app::genera_movcg(const TDate& datareg) { TISAM_recordset movrec("USE MOV"); movrec.move_last(); long numreg = movrec.get(MOV_NUMREG).as_int(); numreg++; - const TDate datareg(TODAY); - TLocalisamfile mov(LF_MOV); mov.put(MOV_NUMREG, numreg); mov.put(MOV_DATACOMP, datareg); @@ -196,7 +194,8 @@ bool TImporta_spese_app::transfer() TAssoc_array righean; long numreg; - const TRectype& causale = cache().get(LF_RCAUSALI, _msk->get(F_CODCAU)); + const TRectype& causale = cache().get(LF_CAUSALI, _msk->get(F_CODCAU)); + const bool isana = causale.get_bool("MOVIND"); for (bool ok = s.move_first(); ok; ok = s.move_next()) { @@ -242,7 +241,7 @@ bool TImporta_spese_app::transfer() if (dataold.ok()) chiudi_movimento(configfile, tot_doc, data, numreg, righean); - numreg = genera_movcg(); + numreg = genera_movcg(data); TLocalisamfile mov(LF_MOV); mov.put(MOV_NUMREG, numreg); mov.remove(); @@ -283,17 +282,31 @@ bool TImporta_spese_app::transfer() configfile.set(RMV_DATAREG, data); TCommessa_string ankey(cms.cmsstr()); - configfile.set(RMV_GRUPPO, ankey.gruppo()); - configfile.set(RMV_CONTO, ankey.conto()); - configfile.set(RMV_SOTTOCONTO, ankey.sotco()); + const int gruppo = ankey.gruppo(); + const int conto = ankey.conto(); + const int sotco = ankey.sotco(); - if(righean.is_key(ankey)) + TToken_string key; + key.add(gruppo); + key.add(conto); + key.add(sotco); + const TRectype& pcon = cache().get(LF_PCON, key); + + configfile.set(RMV_GRUPPO, gruppo); + configfile.set(RMV_CONTO, conto); + configfile.set(RMV_SOTTOCONTO, sotco); + + //se il conto è analitico, allora prepara il movimento di analitica + if(isana && pcon.get_bool("ANALITICA")) { - real& imponibile = *(real*)righean.objptr(ankey); - imponibile += importo.valore(); + if(righean.is_key(ankey)) + { + real& imponibile = *(real*)righean.objptr(ankey); + imponibile += importo.valore(); + } + else + righean.add(ankey, importo.valore()); } - else - righean.add(ankey, importo.valore()); } } chiudi_movimento(configfile, tot_doc, data, numreg, righean);