Patch level : 2.0 670
Files correlati : cg1.exe cg1500a.msk Ricompilazione Demo : [ ] Commento : CM20076 Stampa bilancio di verifica. Ditta con esercizio 2003 ancora aperto e 2004 in corso. Nel 2003 ho dei movimenti provvisori. Se richiedo la stampa del bilancio di verifica con esercizio 2004 in forma globale, nella colonna dei progressivi precedenti mi deve dare la somma dei valori del 2003 compresi i valori provvisori gestiti nello stesso esercizio. CM20077 Stampa bilancio sezioni contrapposte Ditta con esercizio 2003 ancora aperto e 2004 in corso. Nel 2003 ho dei movimenti provvisori. Se richiedo la stampa del bilancio sezioni contrapposte con esercizio 2004 in forma globale, deve dare la somma dei valori del 2003 compresi i valori provvisori gestiti nello stesso esercizio. git-svn-id: svn://10.65.10.50/trunk@11712 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
29c81ccebc
commit
b549435a00
@ -12,7 +12,7 @@ int main(int argc,char** argv)
|
||||
case 2:
|
||||
cg1300(argc,argv); break; // Aggiornamenti
|
||||
case 3:
|
||||
cg1400(argc,argv); break; // Stampa deleghe iva
|
||||
cg1400(argc,argv); break; // Stampa deleghe iva
|
||||
case 4:
|
||||
cg1500(argc,argv); break; // Stampa bilanci
|
||||
case 5:
|
||||
@ -20,7 +20,7 @@ int main(int argc,char** argv)
|
||||
case 6:
|
||||
cg1700(argc,argv); break; // Stampa causali
|
||||
default:
|
||||
cg1100(argc,argv); break; // Stampa Piano dei conti
|
||||
cg1100(argc,argv); break; // Stampa Piano dei conti
|
||||
}
|
||||
exit(0); // Altrimenti non esce mai!
|
||||
return 0;
|
||||
|
@ -392,8 +392,8 @@ bool TStampa_bilanci::mask_bilancio(TMask_field& f, KEY k)
|
||||
f.mask().set (F_QUADRATURA,"");
|
||||
f.mask().hide(F_QUADRATURA);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TStampa_bilanci::mask_datalim (TMask_field& f, KEY k)
|
||||
@ -1477,7 +1477,7 @@ bool TStampa_bilanci::bil_verifica()
|
||||
{
|
||||
if (_annoes != 0 && (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5))
|
||||
{
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov == 2);
|
||||
//modifica del 21/11/95
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
@ -1507,7 +1507,7 @@ bool TStampa_bilanci::bil_verifica()
|
||||
{
|
||||
if (_annoes != 0 && (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5))
|
||||
{
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov == 2);
|
||||
//modifica del 21/11/95
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
@ -1535,8 +1535,7 @@ bool TStampa_bilanci::bil_verifica()
|
||||
if (saldo_iniziale > 0)
|
||||
_prg_prec_dare += saldo_iniziale;
|
||||
else _prg_prec_avere -= saldo_iniziale;
|
||||
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare-
|
||||
_mov_periodo_avere;
|
||||
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare-_mov_periodo_avere;
|
||||
|
||||
}
|
||||
//if (saldo_finale == ZERO)
|
||||
@ -1557,7 +1556,7 @@ bool TStampa_bilanci::bil_verifica()
|
||||
{
|
||||
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
|
||||
{
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,FALSE);
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,FALSE,_stampa_mov_prov == 2);
|
||||
if (_stampav == 1 && sld.significativo())
|
||||
movimentato = TRUE;
|
||||
}
|
||||
@ -1893,7 +1892,7 @@ bool TStampa_bilanci::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_fin
|
||||
{
|
||||
if (_annoes != 0 && (ib == 1 || ib == 2 || ib == 5))
|
||||
{
|
||||
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,s);
|
||||
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov==2);
|
||||
//modifica del 21/11/1995
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
@ -1923,7 +1922,7 @@ bool TStampa_bilanci::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_fin
|
||||
{
|
||||
if (_annoes != 0 && (ib == 1 || ib == 2 || ib == 5))
|
||||
{
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov==2);
|
||||
//modifica del 21/11/1995
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
@ -1981,7 +1980,7 @@ bool TStampa_bilanci::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_fin
|
||||
//solo se e' un conto patrimoniale
|
||||
if (ib == 1 || ib == 2 || ib == 5)
|
||||
{
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,FALSE);
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov==2);
|
||||
movimentato = sld.significativo();
|
||||
}
|
||||
}
|
||||
@ -2349,7 +2348,7 @@ void TStampa_bilanci::leggi_clifo(const TArray& gccf)
|
||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||
if (_annoes != 0) //cioe' se sto ragionando per competenza
|
||||
{
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,codcf);
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,codcf,false,_stampa_mov_prov==2);
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else _saldo_ini_avere = -saldo_iniziale;
|
||||
@ -2376,7 +2375,7 @@ void TStampa_bilanci::leggi_clifo(const TArray& gccf)
|
||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||
if (s.is_zero() && _annoes != 0) //competenza!!!
|
||||
{
|
||||
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,codcf);
|
||||
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,codcf,false,_stampa_mov_prov==2);
|
||||
//modifica del 21/11/1995
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
@ -2414,7 +2413,7 @@ void TStampa_bilanci::leggi_clifo(const TArray& gccf)
|
||||
if (_stampa_mov_prov != 3)
|
||||
if (!movimentato /* && _stampac!=1 */ )
|
||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||
saldo_iniziale = sld.saldofin_esprec(anno,g,c,codcf,FALSE);
|
||||
saldo_iniziale = sld.saldofin_esprec(anno,g,c,codcf,false,_stampa_mov_prov==2);
|
||||
|
||||
if (movimentato)
|
||||
saldo_iniziale = sld.saldoini();
|
||||
@ -3982,10 +3981,9 @@ void TStampa_bilanci::preprocess_header()
|
||||
//modifica del 20/04/1995
|
||||
if (_print_exercise)
|
||||
{
|
||||
TString d1(InizioEsercizio(_annoes).string());
|
||||
TString d2(FineEsercizio(_annoes).string());
|
||||
const TString16 d1(InizioEsercizio(_annoes).string());
|
||||
const TString16 d2(FineEsercizio(_annoes).string());
|
||||
set_header(r, "@84g%s %s %s", TR("Esercizio"), (const char*)d1, (const char*)d2); /**/
|
||||
|
||||
}
|
||||
r++;
|
||||
header_cdc(r);
|
||||
|
@ -160,20 +160,12 @@ BEGIN
|
||||
PROMPT 60 10 ""
|
||||
END
|
||||
|
||||
/*
|
||||
BOOLEAN F_STAMPAMPROV
|
||||
BEGIN
|
||||
PROMPT 2 11 "Stampa movimenti provvisori "
|
||||
HELP "Indicare se stampare i movimenti provvisori"
|
||||
END
|
||||
*/
|
||||
|
||||
LIST F_STAMPAMPROV 15
|
||||
BEGIN
|
||||
PROMPT 2 11 "Bilancio "
|
||||
ITEM "1|Normale"
|
||||
ITEM "2|Globale"
|
||||
ITEM "3|Solo provvisori"
|
||||
PROMPT 2 11 "Bilancio "
|
||||
ITEM "1|Normale"
|
||||
ITEM "2|Globale"
|
||||
ITEM "3|Solo provvisori"
|
||||
END
|
||||
|
||||
LIST F_MODULO 1 12
|
||||
|
@ -1613,7 +1613,7 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
|
||||
add_not_empty(riga, 14, ini, RMV_CODCMS); // Commessa 115
|
||||
add_not_empty(riga, 15, ini, RMV_FASCMS); // Fase 116
|
||||
|
||||
riga.add(tipo, 16); // Tipo di riga 116
|
||||
riga.add(tipo, cg.cid2index(CG_ROWTYPE)); // Tipo di riga 119
|
||||
}
|
||||
|
||||
if (is_fattura())
|
||||
|
@ -1340,13 +1340,13 @@ void TGrid_control::update_selection(XI_EVENT* xiev)
|
||||
{
|
||||
const bool is_curr = xiev->v.rec_request.data_rec == _cur_rec;
|
||||
if (_read_only)
|
||||
{
|
||||
/*
|
||||
{
|
||||
/*
|
||||
if (is_curr)
|
||||
xiev->v.rec_request.attrib |= XI_ATR_SELECTED;
|
||||
else
|
||||
xiev->v.rec_request.attrib &= ~XI_ATR_SELECTED;
|
||||
*/
|
||||
*/
|
||||
}
|
||||
else
|
||||
xiev->v.rec_request.has_focus = is_curr;
|
||||
@ -1425,9 +1425,10 @@ bool TGrid_control::event_handler(XI_OBJ* itf, XI_EVENT *xiev)
|
||||
{
|
||||
if (xiev->v.select.column == 0)
|
||||
{
|
||||
_cur_rec = rec; // Assegno subito il record corrente
|
||||
_grid->on_record_button(rec);
|
||||
if (_read_only)
|
||||
// _cur_rec = rec; // A 16 bit era condizionato a XI_R4
|
||||
if (rec == _cur_rec) // Aggiunto a 32 bit
|
||||
_grid->on_record_button(rec);
|
||||
if (_read_only)
|
||||
refused = TRUE;
|
||||
}
|
||||
else
|
||||
@ -1441,7 +1442,7 @@ bool TGrid_control::event_handler(XI_OBJ* itf, XI_EVENT *xiev)
|
||||
_cur_rec = rec; // Assegno solo ora il record corrente
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
refused = TRUE;
|
||||
}
|
||||
}
|
||||
@ -2324,9 +2325,7 @@ void TMastrini_grid::on_grid_button()
|
||||
|
||||
void TMastrini_grid::on_record_button(long rec)
|
||||
{
|
||||
TWait_cursor hourglass;
|
||||
const TRectype& testata = _mastrino.testata(rec);
|
||||
|
||||
bool refresh = testata.edit();
|
||||
if (refresh && yesno_box(TR("Si desidera aggiornare il mastrino?")))
|
||||
reread();
|
||||
|
@ -93,7 +93,7 @@ void TParametri_ditta::check_registers(int year)
|
||||
if (flags < R_ALL)
|
||||
{
|
||||
TString wrn(TR("I seguenti registri non esistono per l'attivita' "));
|
||||
wrn << att << "(" << year << "):";
|
||||
wrn << att << " (" << year << "):";
|
||||
if ((flags & R_VEN) == 0x00) wrn << TR("\n\tregistro vendite");
|
||||
if ((flags & R_ACQ) == 0x00) wrn << TR("\n\tregistro acquisti");
|
||||
warning_box(wrn);
|
||||
@ -102,8 +102,7 @@ void TParametri_ditta::check_registers(int year)
|
||||
|
||||
// libro giornale non si controlla per attivita'
|
||||
if(!is_giornale)
|
||||
warning_box(FR("Non esiste probabilmente nessun "
|
||||
"libro giornale per l'anno %d"), year);
|
||||
warning_box(FR("Non esiste probabilmente nessun libro giornale per l'anno %d"), year);
|
||||
}
|
||||
|
||||
|
||||
|
115
cg/cglib02.cpp
115
cg/cglib02.cpp
@ -93,9 +93,9 @@ TSaldo::TSaldo() : _saldi(LF_SALDI), _saldoiniziale(ZERO), _saldo_iniziale(ZERO)
|
||||
|
||||
real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusura, bool provvis)
|
||||
{
|
||||
const int annoesprec = EsePre(annoes);
|
||||
_significativo = FALSE;
|
||||
|
||||
const int annoesprec = EsePre(annoes);
|
||||
if (!ricerca_progr_prec(annoesprec, g, c, s)) // non ci sono esercizi prima del primo
|
||||
return ZERO;
|
||||
|
||||
@ -127,13 +127,13 @@ real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusu
|
||||
tot -= paverepro;
|
||||
}
|
||||
|
||||
_significativo = (tot != 0);
|
||||
_significativo = !tot.is_zero();
|
||||
return tot;
|
||||
}
|
||||
|
||||
//richiamata nel bilancio a sez.contr per data limite
|
||||
//in realta' calcola il saldo finale es.prec
|
||||
real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil)
|
||||
real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil, bool provvis)
|
||||
{
|
||||
real saldoini;
|
||||
_significativo = TRUE;
|
||||
@ -146,7 +146,7 @@ real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil)
|
||||
_saldi.put(SLD_FLSCA,"");
|
||||
|
||||
if (_rec_presente_ec = (_saldi.read() == NOERR))
|
||||
saldoini = _saldi.get_real(SLD_SALDO);
|
||||
saldoini = _saldi.get_real(SLD_SALDO);
|
||||
|
||||
_significativo = _rec_presente_ec && saldoini != ZERO;
|
||||
|
||||
@ -158,31 +158,13 @@ real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil)
|
||||
if (indbil == 1 || indbil == 2 || indbil == 5)
|
||||
{
|
||||
_prec = TRUE;
|
||||
saldoini = saldofin_esprec(_annoes, g, c, s);
|
||||
saldoini = saldofin_esprec(_annoes, g, c, s, false, provvis);
|
||||
}
|
||||
_saldo_iniziale = saldoini;
|
||||
}
|
||||
return _saldo_iniziale;
|
||||
}
|
||||
|
||||
/*
|
||||
const TString& TSaldo::causale_chiusura_es() const
|
||||
{
|
||||
TConfig conf(CONFIG_DITTA, "cg");
|
||||
TString& tmp = get_tmp_string();
|
||||
tmp = conf.get("CoCaCh");
|
||||
return tmp;
|
||||
}
|
||||
|
||||
const TString& TSaldo::causale_apertura_es() const
|
||||
{
|
||||
TConfig conf(CONFIG_DITTA, "cg");
|
||||
TString& tmp = get_tmp_string();
|
||||
tmp = conf.get("CoCaAp");
|
||||
return tmp;
|
||||
}
|
||||
*/
|
||||
|
||||
bool TSaldo::leggi_mov(long nr)
|
||||
{
|
||||
const TRectype& mov = cache().get(LF_MOV, nr);
|
||||
@ -223,7 +205,7 @@ bool TSaldo::data_limite_bilancio(int bilancio, int g, int c, long s, const TDat
|
||||
|
||||
// Anche se non movimentato vado a vedere il saldo
|
||||
if (stp_prov != 3 && (filter == NULL || *filter == '\0'))
|
||||
_saldo = calcola_saldo_iniziale(g,c,s,indbil);
|
||||
_saldo = calcola_saldo_iniziale(g,c,s,indbil,stp_prov == 2);
|
||||
|
||||
for (cur = 0L; cur.pos() < items; ++cur)
|
||||
{
|
||||
@ -294,8 +276,6 @@ bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil
|
||||
{
|
||||
//Si considerano i saldi e non piu' i movimenti
|
||||
char sezione;
|
||||
int gruppo, conto, annoe;
|
||||
long sottoconto;
|
||||
real pdarepro, paverepro;
|
||||
bool esito = FALSE;
|
||||
|
||||
@ -313,13 +293,13 @@ bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil
|
||||
_saldi.put(SLD_CONTO,c);
|
||||
_saldi.put(SLD_SOTTOCONTO,s);
|
||||
_saldi.put(SLD_FLSCA, "");
|
||||
|
||||
|
||||
if (_saldi.read() == NOERR)
|
||||
{
|
||||
annoe = _saldi.get_int(SLD_ANNOES);
|
||||
gruppo = _saldi.get_int(SLD_GRUPPO);
|
||||
conto = _saldi.get_int(SLD_CONTO);
|
||||
sottoconto = _saldi.get_long(SLD_SOTTOCONTO);
|
||||
// int annoe = _saldi.get_int(SLD_ANNOES);
|
||||
// int gruppo = _saldi.get_int(SLD_GRUPPO);
|
||||
// int conto = _saldi.get_int(SLD_CONTO);
|
||||
// long sottoconto = _saldi.get_long(SLD_SOTTOCONTO);
|
||||
_saldo_iniziale = _saldi.get_real(SLD_SALDO);
|
||||
_prg_dare = _saldi.get_real(SLD_PDARE);
|
||||
_prg_avere = _saldi.get_real(SLD_PAVERE);
|
||||
@ -330,26 +310,27 @@ bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil
|
||||
_saldofin = _saldi.get_real(SLD_SALDOFIN); // da PATRIZIA
|
||||
|
||||
if (stp_prov == 1) //bilancio normale (senza provvisori)
|
||||
if (_saldo_iniziale == ZERO && _prg_dare == ZERO && _prg_avere == ZERO)
|
||||
if (_saldo_iniziale.is_zero() && _prg_dare.is_zero() && _prg_avere.is_zero())
|
||||
return esito;
|
||||
// if (stp_prov == 0 && paverepro == ZERO)
|
||||
if (stp_prov == 3 && paverepro == ZERO && pdarepro == ZERO) // Modifica del 24-09-96 errore MI0890.
|
||||
if (stp_prov == 3 && paverepro.is_zero() && pdarepro.is_zero()) // Modifica del 24-09-96 errore MI0890.
|
||||
{
|
||||
_saldo = _prg_dare = _prg_avere = ZERO; // N.B. Non e' detto che funzioni sempre!!!!!!
|
||||
return esito;
|
||||
}
|
||||
|
||||
if (sezione == 'A') _saldo_iniziale = -_saldo_iniziale;
|
||||
|
||||
if (_sezsf == 'A') _saldofin = -_saldofin; // W96SALDI del 19-06-96
|
||||
}
|
||||
if (sezione == 'A')
|
||||
_saldo_iniziale = -_saldo_iniziale;
|
||||
if (_sezsf == 'A')
|
||||
_saldofin = -_saldofin; // W96SALDI del 19-06-96
|
||||
|
||||
_saldoiniziale = _saldo_iniziale; //saldo iniziale presente sul record saldi
|
||||
//non comprensivo del saldo finale es.precedente
|
||||
|
||||
if (stp_prov != 3)
|
||||
if (_saldo_iniziale.is_zero() && stp_prov != 3)
|
||||
{
|
||||
if (indbil == 1 || indbil == 2 || indbil == 5)
|
||||
if (_saldo_iniziale == ZERO)
|
||||
_saldo_iniziale += saldofin_esprec(annoes,gruppo,conto,sottoconto);
|
||||
_saldo_iniziale += saldofin_esprec(annoes,g,c,s, false, stp_prov == 2);
|
||||
}
|
||||
|
||||
esito = TRUE;
|
||||
|
||||
@ -388,8 +369,8 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil
|
||||
{
|
||||
//Si considerano i saldi e non piu' i movimenti
|
||||
char sezione;
|
||||
int gruppo, conto, annoe;
|
||||
long sottoconto;
|
||||
// int gruppo, conto, annoe;
|
||||
// long sottoconto;
|
||||
real pdarepro, paverepro;
|
||||
bool esito = FALSE;
|
||||
|
||||
@ -412,10 +393,10 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil
|
||||
|
||||
if (_saldi.read() == NOERR)
|
||||
{
|
||||
annoe = _saldi.get_int(SLD_ANNOES);
|
||||
gruppo = _saldi.get_int(SLD_GRUPPO);
|
||||
conto = _saldi.get_int(SLD_CONTO);
|
||||
sottoconto = _saldi.get_long(SLD_SOTTOCONTO);
|
||||
// annoe = _saldi.get_int(SLD_ANNOES);
|
||||
// gruppo = _saldi.get_int(SLD_GRUPPO);
|
||||
// conto = _saldi.get_int(SLD_CONTO);
|
||||
// sottoconto = _saldi.get_long(SLD_SOTTOCONTO);
|
||||
_saldo_iniziale = _saldi.get_real(SLD_SALDO);
|
||||
_prg_dare = _saldi.get_real(SLD_PDARE);
|
||||
_prg_avere = _saldi.get_real(SLD_PAVERE);
|
||||
@ -435,7 +416,8 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil
|
||||
if (stp_prov == 3) //bilancio dei soli mov. provvisori
|
||||
esito = (pdarepro != ZERO || paverepro != ZERO);
|
||||
|
||||
if (sezione == 'A') _saldo_iniziale = -_saldo_iniziale;
|
||||
if (sezione == 'A')
|
||||
_saldo_iniziale = -_saldo_iniziale;
|
||||
|
||||
if (saldo_chiusura) // W96SALDI modifica inserita per il discorso di inclusione oppure
|
||||
if (_sezsf == 'A') // no del saldo di chiusura inserita il 09-07-96
|
||||
@ -444,13 +426,12 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil
|
||||
_rec_presente_ec = esito;
|
||||
}
|
||||
|
||||
if (stp_prov != 3)
|
||||
if (_saldo_iniziale.is_zero() && stp_prov != 3)
|
||||
if (indbil == 1 || indbil == 2 || indbil == 5)
|
||||
if (_saldo_iniziale == ZERO)
|
||||
{
|
||||
_prec = TRUE;
|
||||
_saldo_iniziale += saldofin_esprec(annoes,g,c,s);
|
||||
}
|
||||
{
|
||||
_prec = TRUE;
|
||||
_saldo_iniziale += saldofin_esprec(annoes,g,c,s,false,stp_prov==2);
|
||||
}
|
||||
|
||||
if (stp_prov == 1)
|
||||
_saldo = _saldo_iniziale + _prg_dare - _prg_avere;
|
||||
@ -623,10 +604,10 @@ bool TSaldo::prg_saldo(int annoes, TConto& conto, real& prgdare, real& prgavere,
|
||||
// TContoExt
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TContoExt : public TConto
|
||||
class TContoExt : public TConto
|
||||
{
|
||||
bool _scaricato;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
bool scaricato() const { return _scaricato; }
|
||||
@ -637,12 +618,17 @@ public:
|
||||
: TConto(tgcsd, from, mode), _scaricato(sc) {}
|
||||
virtual ~TContoExt() {}
|
||||
};
|
||||
|
||||
const TString& TTab_conti::build_key(const TBill& c, int anno, bool scar) const
|
||||
{
|
||||
static TString80 key;
|
||||
key.format("%4d%3d%3d%6ld%c", anno, c.gruppo(), c.conto(), c.sottoconto(), scar ? 'X' : '\0');
|
||||
return key;
|
||||
}
|
||||
|
||||
TConto* TTab_conti::add(const TBill& c, int anno, bool scar)
|
||||
{
|
||||
TString80 key;
|
||||
key.format("%4d%3d%3d%6ld", anno, c.gruppo(), c.conto(), c.sottoconto());
|
||||
if (scar) key << "X";
|
||||
const TString& key = build_key(c, anno, scar);
|
||||
TContoExt* tc = new TContoExt(c.gruppo(), c.conto(), c.sottoconto(),
|
||||
c.tipo(), NULL, scar);
|
||||
TAssoc_array::add(key, tc);
|
||||
@ -651,18 +637,14 @@ TConto* TTab_conti::add(const TBill& c, int anno, bool scar)
|
||||
|
||||
TConto* TTab_conti::find(const TBill& c, int anno, bool scar)
|
||||
{
|
||||
TString80 key;
|
||||
key.format("%4d%3d%3d%6ld", anno, c.gruppo(), c.conto(), c.sottoconto());
|
||||
if (scar) key << "X";
|
||||
const TString& key = build_key(c, anno, scar);
|
||||
TContoExt* tc = (TContoExt*)objptr(key);
|
||||
return tc;
|
||||
}
|
||||
|
||||
void TTab_conti::remove(const TBill& c, int anno, bool scar)
|
||||
{
|
||||
TString80 key;
|
||||
key.format("%4d%3d%3d%6ld", anno, c.gruppo(), c.conto(), c.sottoconto());
|
||||
if (scar) key << "X";
|
||||
const TString& key = build_key(c, anno, scar);
|
||||
TAssoc_array::remove(key);
|
||||
}
|
||||
|
||||
@ -736,8 +718,9 @@ void TSaldo_agg::aggiorna(const TBill& tc, const TImporto& imp, bool somma, bool
|
||||
void TSaldo_agg::aggiorna(int gruppo, int conto, long sottoconto, const real& importo, char sezione,
|
||||
bool somma, bool scaricato)
|
||||
{
|
||||
const TBill bill(gruppo, conto, sottoconto);
|
||||
const TImporto imp(sezione, importo);
|
||||
_tab_conti.aggiorna_conto(TBill(gruppo, conto, sottoconto), _anno_es, imp, _movap,
|
||||
_tab_conti.aggiorna_conto(bill, _anno_es, imp, _movap,
|
||||
_provv, somma, _movimentato, scaricato);
|
||||
}
|
||||
|
||||
|
@ -88,7 +88,7 @@ class TSaldo : public TObject
|
||||
protected:
|
||||
void InFinEs(int);
|
||||
bool leggi_mov(long numreg); // Leggi testata
|
||||
real calcola_saldo_iniziale(int g, int c, long s, int indbil);
|
||||
real calcola_saldo_iniziale(int g, int c, long s, int indbil, bool provvis);
|
||||
bool prg_saldo(int, TConto&, real&, real&, bool);
|
||||
const real& iniziale() const { return _saldo_iniziale;}
|
||||
void set_iniziale(const real& val) { _saldo_iniziale = val; }
|
||||
@ -136,6 +136,9 @@ public:
|
||||
|
||||
class TTab_conti : public TAssoc_array
|
||||
{
|
||||
protected:
|
||||
const TString& build_key(const TBill& c, int anno, bool scar) const;
|
||||
|
||||
public:
|
||||
void aggiorna_conto(const TBill& tc, int anno_es, const TImporto& importo,
|
||||
tiposal movap, bool provv, bool somma, bool movimentato, bool scaricato);
|
||||
|
Loading…
x
Reference in New Issue
Block a user