Patch level :4.0 656

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :sistemata stampa stima ricavi di competenza


git-svn-id: svn://10.65.10.50/trunk@15062 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2007-03-15 14:32:27 +00:00
parent c01719588e
commit 6a3392f645

View File

@ -391,6 +391,7 @@ int TPrint_saldana_recordset::estrai_saldi(const TRecordset& saldana, const int
TImporto& saldo, TImporto& saldop) const
{
int flag = 0;
//stampa bilancio di commessa (_tipo=8)
if (_tipo == 8)
{
if (_tipostima == 'C' && indbil == 3)
@ -416,6 +417,7 @@ int TPrint_saldana_recordset::estrai_saldi(const TRecordset& saldana, const int
else
saldop.reset();
}
// stampa stima ricavi (_tipo=9)
else
{
const TImporto imp_saldo(saldana.get(SALDANA_SEZIONE).as_string()[0],
@ -430,6 +432,12 @@ int TPrint_saldana_recordset::estrai_saldi(const TRecordset& saldana, const int
saldop = imp_saldop;
saldop += imp_saldov;
flag |= saldop.is_zero() ? 0 : 2;
/* correzione per ottenere la sezione in base all'indicatore di bilancio
inutile per ora...
const char sezione_positiva = (indbil == 2 || indbil == 3) ? 'D' : 'A';
saldo.normalize(sezione_positiva);
saldop.normalize(sezione_positiva);*/
}
return flag;
}
@ -458,11 +466,13 @@ TAssoc_array& TPrint_saldana_recordset::get_row(TAssoc_array& cms, const char* c
//senza questa inizializzazione, nel caso trovasse campi nulli (in realta' 0), il bastardo..
//..anziche' considerarli 0 ci mette l'ultimo valore != che ha in memoria nella stessa posizione..
//..facendo sballare tutti i conti!
//bilancio commessa (_tipo=8)
if (_tipo == 8)
{
riga_array->add("RICAVI", EMPTY_STRING);
riga_array->add("COSTI", EMPTY_STRING);
}
//stima ricavi (_tipo=9)
else
{
riga_array->add("COS_BDG", EMPTY_STRING);
@ -576,13 +586,14 @@ void TPrint_saldana_recordset::incrementa_importo(TAssoc_array& riga_array,
*str_imp = imp.valore().string();
}
//for ca3900 only!
//metodo usato solo per la stima ricavi (_tipo=9, ca3900)
void TPrint_saldana_recordset::aggiorna_importi(TAssoc_array& riga_array,
const int indbil, const TRecordset& saldana, const bool inverti) const
{
TString8 livello;
TImporto imp_saldo, imp_saldop;
estrai_saldi(saldana, indbil, imp_saldo, imp_saldop);
//saldi normali:Maturato
@ -661,6 +672,7 @@ void TPrint_saldana_recordset::requery()
indice++;
TString80 chiave = codcms;
//selezione fasi solo su bilancio commessa (_tipo=8)
if (_tipo == 8 && _use_fasi)
chiave << '|' << fase;
@ -671,6 +683,7 @@ void TPrint_saldana_recordset::requery()
const char* gruppo = indbil == 3 ? "COSTI" : "RICAVI";
TString80 conto;
parse_bill(conto_anale, conto);
//bilancio di commessa (_tipo=8)
if (_tipo == 8)
{
TAssoc_array& riga_array = get_row(cms[indice], chiave, indice, codcms, fase,
@ -679,6 +692,7 @@ void TPrint_saldana_recordset::requery()
aggiorna_importo(riga_array, gruppo, indbil, saldana);
aggiorna_importo(riga_array, conto, indbil, saldana);
}
//stima ricavi (_tipo=9)
else
{
TAssoc_array& riga_array = get_row(cms[indice], chiave, indice, codcms, EMPTY_STRING,