Patch level : 10.0 patch 816

Files correlati     : ca2.exe ve0.exe ve6.exe
Ricompilazione Demo : [ ]
Commento

Aggiunti ai saldi di analitica i campi dei saldi inidiretti per potre fare report su questi


git-svn-id: svn://10.65.10.50/branches/R_10_00@20982 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-10-10 22:41:48 +00:00
parent 3026c11ed1
commit b61bf06ae6
5 changed files with 67 additions and 5 deletions

View File

@ -1783,6 +1783,19 @@ void TAnal_mov::saldo_set_reset(const TRectype& row, bool reset)
*imp -= curr_imp;
else
*imp += curr_imp;
if (ca_ori_present(row))
{
TImporto* impind = (TImporto*)_saldind.objptr(key);
if (impind == NULL)
{
impind = new TImporto;
_saldind.add(key, impind);
}
if (reset)
*impind -= curr_imp;
else
*impind += curr_imp;
}
}
}
else //saldo in un solo anno (caso standard)
@ -1797,6 +1810,19 @@ void TAnal_mov::saldo_set_reset(const TRectype& row, bool reset)
*imp -= imp_row;
else
*imp += imp_row;
if (ca_ori_present(row))
{
TImporto* impind = (TImporto*)_saldind.objptr(key);
if (impind == NULL)
{
impind = new TImporto;
_saldind.add(key, impind);
}
if (reset)
*impind -= imp_row;
else
*impind += imp_row;
}
imp->valore().round(dec);
}
@ -1805,7 +1831,10 @@ void TAnal_mov::saldo_set_reset(const TRectype& row, bool reset)
void TAnal_mov::load_saldi(bool reset)
{
if (reset)
{
_saldi.destroy();
_saldind.destroy();
}
const TRecord_array& a = body(LF_RMOVANA);
for (int i = a.last_row(); i > 0; i--)
@ -1896,6 +1925,26 @@ bool TAnal_mov::save_saldi(const int annoes)
saldi.put(fld_sez, saldo.sezione());
saldi.put(fld_val, saldo.valore());
const TImporto * ind = (const TImporto*) _saldind.objptr(key);
if (ind != NULL)
{
const TImporto& impind = *(const TImporto*)ind;
switch (tipo)
{
case 'P': fld_sez = SALDANA_SEZIONEIP; fld_val = SALDANA_SALDOIP; break;
case 'V': fld_sez = SALDANA_SEZIONEIV; fld_val = SALDANA_SALDOIV; break;
default : fld_sez = SALDANA_SEZIONEI; fld_val = SALDANA_SALDOI; break;
}
TImporto saldoind(saldi.get_char(fld_sez), saldi.get_real(fld_val));
saldoind += impind;
saldoind.normalize();
saldi.put(fld_sez, saldoind.sezione());
saldi.put(fld_val, saldoind.valore());
}
err = saldi.rewrite();
}

View File

@ -140,6 +140,7 @@ protected:
class TAnal_mov : public TMultiple_rectype
{
TAssoc_array _saldi;
TAssoc_array _saldind;
protected:
void saldo_set_reset(const TRectype& row, bool reset);

View File

@ -1,3 +1,3 @@
151
0
$saldana|0|0|132|0|Saldi contabilita' analitica|||
$saldana|0|0|189|0|Saldi contabilita' analitica|||

View File

@ -1,5 +1,5 @@
151
11
17
ANNO|9|4|0|Codice esercizio
COSTO|1|20|0|Centro Di costo
COMMESSA|1|20|0|Commessa
@ -9,8 +9,14 @@ SEZIONE|7|1|0|Sezione (Normale)
SALDO|4|18|3|Saldo (Normale)
SEZIONEP|7|1|0|Sezione (Preventivo)
SALDOP|4|18|3|Saldo (Preventivo)
SEZIONEV|7|1|0|Sezione (Variazione preventivo)
SALDOV|4|18|3|Saldo (Variazione preventivo)
SEZIONEV|7|1|0|Sezione (Variazione Preventivo)
SALDOV|4|18|3|Saldo (Variazione Preventivo)
SEZIONEI|7|1|0|Sezione Indiretto (Normale)
SALDOI|4|18|3|Saldo Indiretto (Normale)
SEZIONEIV|7|1|0|Sezione Indiretto (Preventivo)
SALDOIV|4|18|3|Saldo Indiretto (Preventivo)
SEZIONEIP|7|1|0|Sezione Indiretto (Variazione Preventivo)
SALDOIP|4|18|3|Saldo Indiretto (Variazione Preventivo)
2
ANNO+CONTO+COSTO+COMMESSA+FASE|
ANNO+CONTO+COSTO+COMMESSA+FASE|
CONTO+ANNO+COSTO+COMMESSA+FASE|

View File

@ -13,5 +13,11 @@
#define SALDANA_SALDOP "SALDOP"
#define SALDANA_SEZIONEV "SEZIONEV"
#define SALDANA_SALDOV "SALDOV"
#define SALDANA_SEZIONEI "SEZIONEI"
#define SALDANA_SALDOI "SALDOI"
#define SALDANA_SEZIONEIP "SEZIONEIP"
#define SALDANA_SALDOIP "SALDOIP"
#define SALDANA_SEZIONEIV "SEZIONEIV"
#define SALDANA_SALDOIV "SALDOIV"
#endif