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