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:
parent
c01719588e
commit
6a3392f645
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user