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
This commit is contained in:
luca83 2010-06-25 08:30:11 +00:00
parent 9c9f5ab956
commit 192ae789ca

View File

@ -59,7 +59,7 @@ protected:
public: public:
virtual void main_loop(); 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); void genera_movana(const long numreg, const TDate& datareg, TAssoc_array& righean);
bool transfer(); bool transfer();
@ -95,14 +95,12 @@ void TImporta_spese_app::chiudi_movimento(TConfig& configfile, TImporto& tot_doc
primanota.run(); primanota.run();
} }
long TImporta_spese_app::genera_movcg() long TImporta_spese_app::genera_movcg(const TDate& datareg)
{ {
TISAM_recordset movrec("USE MOV"); TISAM_recordset movrec("USE MOV");
movrec.move_last(); movrec.move_last();
long numreg = movrec.get(MOV_NUMREG).as_int(); numreg++; long numreg = movrec.get(MOV_NUMREG).as_int(); numreg++;
const TDate datareg(TODAY);
TLocalisamfile mov(LF_MOV); TLocalisamfile mov(LF_MOV);
mov.put(MOV_NUMREG, numreg); mov.put(MOV_NUMREG, numreg);
mov.put(MOV_DATACOMP, datareg); mov.put(MOV_DATACOMP, datareg);
@ -196,7 +194,8 @@ bool TImporta_spese_app::transfer()
TAssoc_array righean; TAssoc_array righean;
long numreg; 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()) for (bool ok = s.move_first(); ok; ok = s.move_next())
{ {
@ -242,7 +241,7 @@ bool TImporta_spese_app::transfer()
if (dataold.ok()) if (dataold.ok())
chiudi_movimento(configfile, tot_doc, data, numreg, righean); chiudi_movimento(configfile, tot_doc, data, numreg, righean);
numreg = genera_movcg(); numreg = genera_movcg(data);
TLocalisamfile mov(LF_MOV); TLocalisamfile mov(LF_MOV);
mov.put(MOV_NUMREG, numreg); mov.put(MOV_NUMREG, numreg);
mov.remove(); mov.remove();
@ -283,17 +282,31 @@ bool TImporta_spese_app::transfer()
configfile.set(RMV_DATAREG, data); configfile.set(RMV_DATAREG, data);
TCommessa_string ankey(cms.cmsstr()); TCommessa_string ankey(cms.cmsstr());
configfile.set(RMV_GRUPPO, ankey.gruppo()); const int gruppo = ankey.gruppo();
configfile.set(RMV_CONTO, ankey.conto()); const int conto = ankey.conto();
configfile.set(RMV_SOTTOCONTO, ankey.sotco()); 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); if(righean.is_key(ankey))
imponibile += importo.valore(); {
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); chiudi_movimento(configfile, tot_doc, data, numreg, righean);