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:
|
case 2:
|
||||||
cg1300(argc,argv); break; // Aggiornamenti
|
cg1300(argc,argv); break; // Aggiornamenti
|
||||||
case 3:
|
case 3:
|
||||||
cg1400(argc,argv); break; // Stampa deleghe iva
|
cg1400(argc,argv); break; // Stampa deleghe iva
|
||||||
case 4:
|
case 4:
|
||||||
cg1500(argc,argv); break; // Stampa bilanci
|
cg1500(argc,argv); break; // Stampa bilanci
|
||||||
case 5:
|
case 5:
|
||||||
@ -20,7 +20,7 @@ int main(int argc,char** argv)
|
|||||||
case 6:
|
case 6:
|
||||||
cg1700(argc,argv); break; // Stampa causali
|
cg1700(argc,argv); break; // Stampa causali
|
||||||
default:
|
default:
|
||||||
cg1100(argc,argv); break; // Stampa Piano dei conti
|
cg1100(argc,argv); break; // Stampa Piano dei conti
|
||||||
}
|
}
|
||||||
exit(0); // Altrimenti non esce mai!
|
exit(0); // Altrimenti non esce mai!
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -392,8 +392,8 @@ bool TStampa_bilanci::mask_bilancio(TMask_field& f, KEY k)
|
|||||||
f.mask().set (F_QUADRATURA,"");
|
f.mask().set (F_QUADRATURA,"");
|
||||||
f.mask().hide(F_QUADRATURA);
|
f.mask().hide(F_QUADRATURA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TStampa_bilanci::mask_datalim (TMask_field& f, KEY k)
|
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))
|
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
|
//modifica del 21/11/95
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_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))
|
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
|
//modifica del 21/11/95
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_saldo_ini_dare = saldo_iniziale;
|
||||||
@ -1535,8 +1535,7 @@ bool TStampa_bilanci::bil_verifica()
|
|||||||
if (saldo_iniziale > 0)
|
if (saldo_iniziale > 0)
|
||||||
_prg_prec_dare += saldo_iniziale;
|
_prg_prec_dare += saldo_iniziale;
|
||||||
else _prg_prec_avere -= saldo_iniziale;
|
else _prg_prec_avere -= saldo_iniziale;
|
||||||
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare-
|
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare-_mov_periodo_avere;
|
||||||
_mov_periodo_avere;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//if (saldo_finale == ZERO)
|
//if (saldo_finale == ZERO)
|
||||||
@ -1557,7 +1556,7 @@ bool TStampa_bilanci::bil_verifica()
|
|||||||
{
|
{
|
||||||
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
|
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())
|
if (_stampav == 1 && sld.significativo())
|
||||||
movimentato = TRUE;
|
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))
|
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
|
//modifica del 21/11/1995
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_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))
|
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
|
//modifica del 21/11/1995
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_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
|
//solo se e' un conto patrimoniale
|
||||||
if (ib == 1 || ib == 2 || ib == 5)
|
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();
|
movimentato = sld.significativo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2349,7 +2348,7 @@ void TStampa_bilanci::leggi_clifo(const TArray& gccf)
|
|||||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||||
if (_annoes != 0) //cioe' se sto ragionando per competenza
|
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)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_saldo_ini_dare = saldo_iniziale;
|
||||||
else _saldo_ini_avere = -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 (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||||
if (s.is_zero() && _annoes != 0) //competenza!!!
|
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
|
//modifica del 21/11/1995
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_saldo_ini_dare = saldo_iniziale;
|
||||||
@ -2414,7 +2413,7 @@ void TStampa_bilanci::leggi_clifo(const TArray& gccf)
|
|||||||
if (_stampa_mov_prov != 3)
|
if (_stampa_mov_prov != 3)
|
||||||
if (!movimentato /* && _stampac!=1 */ )
|
if (!movimentato /* && _stampac!=1 */ )
|
||||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
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)
|
if (movimentato)
|
||||||
saldo_iniziale = sld.saldoini();
|
saldo_iniziale = sld.saldoini();
|
||||||
@ -3982,10 +3981,9 @@ void TStampa_bilanci::preprocess_header()
|
|||||||
//modifica del 20/04/1995
|
//modifica del 20/04/1995
|
||||||
if (_print_exercise)
|
if (_print_exercise)
|
||||||
{
|
{
|
||||||
TString d1(InizioEsercizio(_annoes).string());
|
const TString16 d1(InizioEsercizio(_annoes).string());
|
||||||
TString d2(FineEsercizio(_annoes).string());
|
const TString16 d2(FineEsercizio(_annoes).string());
|
||||||
set_header(r, "@84g%s %s %s", TR("Esercizio"), (const char*)d1, (const char*)d2); /**/
|
set_header(r, "@84g%s %s %s", TR("Esercizio"), (const char*)d1, (const char*)d2); /**/
|
||||||
|
|
||||||
}
|
}
|
||||||
r++;
|
r++;
|
||||||
header_cdc(r);
|
header_cdc(r);
|
||||||
|
@ -160,20 +160,12 @@ BEGIN
|
|||||||
PROMPT 60 10 ""
|
PROMPT 60 10 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
/*
|
|
||||||
BOOLEAN F_STAMPAMPROV
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 11 "Stampa movimenti provvisori "
|
|
||||||
HELP "Indicare se stampare i movimenti provvisori"
|
|
||||||
END
|
|
||||||
*/
|
|
||||||
|
|
||||||
LIST F_STAMPAMPROV 15
|
LIST F_STAMPAMPROV 15
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Bilancio "
|
PROMPT 2 11 "Bilancio "
|
||||||
ITEM "1|Normale"
|
ITEM "1|Normale"
|
||||||
ITEM "2|Globale"
|
ITEM "2|Globale"
|
||||||
ITEM "3|Solo provvisori"
|
ITEM "3|Solo provvisori"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_MODULO 1 12
|
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, 14, ini, RMV_CODCMS); // Commessa 115
|
||||||
add_not_empty(riga, 15, ini, RMV_FASCMS); // Fase 116
|
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())
|
if (is_fattura())
|
||||||
|
@ -1425,8 +1425,9 @@ bool TGrid_control::event_handler(XI_OBJ* itf, XI_EVENT *xiev)
|
|||||||
{
|
{
|
||||||
if (xiev->v.select.column == 0)
|
if (xiev->v.select.column == 0)
|
||||||
{
|
{
|
||||||
_cur_rec = rec; // Assegno subito il record corrente
|
// _cur_rec = rec; // A 16 bit era condizionato a XI_R4
|
||||||
_grid->on_record_button(rec);
|
if (rec == _cur_rec) // Aggiunto a 32 bit
|
||||||
|
_grid->on_record_button(rec);
|
||||||
if (_read_only)
|
if (_read_only)
|
||||||
refused = TRUE;
|
refused = TRUE;
|
||||||
}
|
}
|
||||||
@ -2324,9 +2325,7 @@ void TMastrini_grid::on_grid_button()
|
|||||||
|
|
||||||
void TMastrini_grid::on_record_button(long rec)
|
void TMastrini_grid::on_record_button(long rec)
|
||||||
{
|
{
|
||||||
TWait_cursor hourglass;
|
|
||||||
const TRectype& testata = _mastrino.testata(rec);
|
const TRectype& testata = _mastrino.testata(rec);
|
||||||
|
|
||||||
bool refresh = testata.edit();
|
bool refresh = testata.edit();
|
||||||
if (refresh && yesno_box(TR("Si desidera aggiornare il mastrino?")))
|
if (refresh && yesno_box(TR("Si desidera aggiornare il mastrino?")))
|
||||||
reread();
|
reread();
|
||||||
|
@ -93,7 +93,7 @@ void TParametri_ditta::check_registers(int year)
|
|||||||
if (flags < R_ALL)
|
if (flags < R_ALL)
|
||||||
{
|
{
|
||||||
TString wrn(TR("I seguenti registri non esistono per l'attivita' "));
|
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_VEN) == 0x00) wrn << TR("\n\tregistro vendite");
|
||||||
if ((flags & R_ACQ) == 0x00) wrn << TR("\n\tregistro acquisti");
|
if ((flags & R_ACQ) == 0x00) wrn << TR("\n\tregistro acquisti");
|
||||||
warning_box(wrn);
|
warning_box(wrn);
|
||||||
@ -102,8 +102,7 @@ void TParametri_ditta::check_registers(int year)
|
|||||||
|
|
||||||
// libro giornale non si controlla per attivita'
|
// libro giornale non si controlla per attivita'
|
||||||
if(!is_giornale)
|
if(!is_giornale)
|
||||||
warning_box(FR("Non esiste probabilmente nessun "
|
warning_box(FR("Non esiste probabilmente nessun libro giornale per l'anno %d"), year);
|
||||||
"libro giornale per l'anno %d"), year);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
109
cg/cglib02.cpp
109
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)
|
real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusura, bool provvis)
|
||||||
{
|
{
|
||||||
const int annoesprec = EsePre(annoes);
|
|
||||||
_significativo = FALSE;
|
_significativo = FALSE;
|
||||||
|
|
||||||
|
const int annoesprec = EsePre(annoes);
|
||||||
if (!ricerca_progr_prec(annoesprec, g, c, s)) // non ci sono esercizi prima del primo
|
if (!ricerca_progr_prec(annoesprec, g, c, s)) // non ci sono esercizi prima del primo
|
||||||
return ZERO;
|
return ZERO;
|
||||||
|
|
||||||
@ -127,13 +127,13 @@ real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusu
|
|||||||
tot -= paverepro;
|
tot -= paverepro;
|
||||||
}
|
}
|
||||||
|
|
||||||
_significativo = (tot != 0);
|
_significativo = !tot.is_zero();
|
||||||
return tot;
|
return tot;
|
||||||
}
|
}
|
||||||
|
|
||||||
//richiamata nel bilancio a sez.contr per data limite
|
//richiamata nel bilancio a sez.contr per data limite
|
||||||
//in realta' calcola il saldo finale es.prec
|
//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;
|
real saldoini;
|
||||||
_significativo = TRUE;
|
_significativo = TRUE;
|
||||||
@ -146,7 +146,7 @@ real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil)
|
|||||||
_saldi.put(SLD_FLSCA,"");
|
_saldi.put(SLD_FLSCA,"");
|
||||||
|
|
||||||
if (_rec_presente_ec = (_saldi.read() == NOERR))
|
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;
|
_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)
|
if (indbil == 1 || indbil == 2 || indbil == 5)
|
||||||
{
|
{
|
||||||
_prec = TRUE;
|
_prec = TRUE;
|
||||||
saldoini = saldofin_esprec(_annoes, g, c, s);
|
saldoini = saldofin_esprec(_annoes, g, c, s, false, provvis);
|
||||||
}
|
}
|
||||||
_saldo_iniziale = saldoini;
|
_saldo_iniziale = saldoini;
|
||||||
}
|
}
|
||||||
return _saldo_iniziale;
|
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)
|
bool TSaldo::leggi_mov(long nr)
|
||||||
{
|
{
|
||||||
const TRectype& mov = cache().get(LF_MOV, 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
|
// Anche se non movimentato vado a vedere il saldo
|
||||||
if (stp_prov != 3 && (filter == NULL || *filter == '\0'))
|
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)
|
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
|
//Si considerano i saldi e non piu' i movimenti
|
||||||
char sezione;
|
char sezione;
|
||||||
int gruppo, conto, annoe;
|
|
||||||
long sottoconto;
|
|
||||||
real pdarepro, paverepro;
|
real pdarepro, paverepro;
|
||||||
bool esito = FALSE;
|
bool esito = FALSE;
|
||||||
|
|
||||||
@ -316,10 +296,10 @@ bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil
|
|||||||
|
|
||||||
if (_saldi.read() == NOERR)
|
if (_saldi.read() == NOERR)
|
||||||
{
|
{
|
||||||
annoe = _saldi.get_int(SLD_ANNOES);
|
// int annoe = _saldi.get_int(SLD_ANNOES);
|
||||||
gruppo = _saldi.get_int(SLD_GRUPPO);
|
// int gruppo = _saldi.get_int(SLD_GRUPPO);
|
||||||
conto = _saldi.get_int(SLD_CONTO);
|
// int conto = _saldi.get_int(SLD_CONTO);
|
||||||
sottoconto = _saldi.get_long(SLD_SOTTOCONTO);
|
// long sottoconto = _saldi.get_long(SLD_SOTTOCONTO);
|
||||||
_saldo_iniziale = _saldi.get_real(SLD_SALDO);
|
_saldo_iniziale = _saldi.get_real(SLD_SALDO);
|
||||||
_prg_dare = _saldi.get_real(SLD_PDARE);
|
_prg_dare = _saldi.get_real(SLD_PDARE);
|
||||||
_prg_avere = _saldi.get_real(SLD_PAVERE);
|
_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
|
_saldofin = _saldi.get_real(SLD_SALDOFIN); // da PATRIZIA
|
||||||
|
|
||||||
if (stp_prov == 1) //bilancio normale (senza provvisori)
|
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;
|
return esito;
|
||||||
// if (stp_prov == 0 && paverepro == ZERO)
|
// 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!!!!!!
|
_saldo = _prg_dare = _prg_avere = ZERO; // N.B. Non e' detto che funzioni sempre!!!!!!
|
||||||
return esito;
|
return esito;
|
||||||
}
|
}
|
||||||
|
if (sezione == 'A')
|
||||||
if (sezione == 'A') _saldo_iniziale = -_saldo_iniziale;
|
_saldo_iniziale = -_saldo_iniziale;
|
||||||
|
if (_sezsf == 'A')
|
||||||
if (_sezsf == 'A') _saldofin = -_saldofin; // W96SALDI del 19-06-96
|
_saldofin = -_saldofin; // W96SALDI del 19-06-96
|
||||||
|
|
||||||
_saldoiniziale = _saldo_iniziale; //saldo iniziale presente sul record saldi
|
_saldoiniziale = _saldo_iniziale; //saldo iniziale presente sul record saldi
|
||||||
//non comprensivo del saldo finale es.precedente
|
//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 (indbil == 1 || indbil == 2 || indbil == 5)
|
||||||
if (_saldo_iniziale == ZERO)
|
_saldo_iniziale += saldofin_esprec(annoes,g,c,s, false, stp_prov == 2);
|
||||||
_saldo_iniziale += saldofin_esprec(annoes,gruppo,conto,sottoconto);
|
}
|
||||||
|
|
||||||
esito = TRUE;
|
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
|
//Si considerano i saldi e non piu' i movimenti
|
||||||
char sezione;
|
char sezione;
|
||||||
int gruppo, conto, annoe;
|
// int gruppo, conto, annoe;
|
||||||
long sottoconto;
|
// long sottoconto;
|
||||||
real pdarepro, paverepro;
|
real pdarepro, paverepro;
|
||||||
bool esito = FALSE;
|
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)
|
if (_saldi.read() == NOERR)
|
||||||
{
|
{
|
||||||
annoe = _saldi.get_int(SLD_ANNOES);
|
// annoe = _saldi.get_int(SLD_ANNOES);
|
||||||
gruppo = _saldi.get_int(SLD_GRUPPO);
|
// gruppo = _saldi.get_int(SLD_GRUPPO);
|
||||||
conto = _saldi.get_int(SLD_CONTO);
|
// conto = _saldi.get_int(SLD_CONTO);
|
||||||
sottoconto = _saldi.get_long(SLD_SOTTOCONTO);
|
// sottoconto = _saldi.get_long(SLD_SOTTOCONTO);
|
||||||
_saldo_iniziale = _saldi.get_real(SLD_SALDO);
|
_saldo_iniziale = _saldi.get_real(SLD_SALDO);
|
||||||
_prg_dare = _saldi.get_real(SLD_PDARE);
|
_prg_dare = _saldi.get_real(SLD_PDARE);
|
||||||
_prg_avere = _saldi.get_real(SLD_PAVERE);
|
_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
|
if (stp_prov == 3) //bilancio dei soli mov. provvisori
|
||||||
esito = (pdarepro != ZERO || paverepro != ZERO);
|
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 (saldo_chiusura) // W96SALDI modifica inserita per il discorso di inclusione oppure
|
||||||
if (_sezsf == 'A') // no del saldo di chiusura inserita il 09-07-96
|
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;
|
_rec_presente_ec = esito;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stp_prov != 3)
|
if (_saldo_iniziale.is_zero() && stp_prov != 3)
|
||||||
if (indbil == 1 || indbil == 2 || indbil == 5)
|
if (indbil == 1 || indbil == 2 || indbil == 5)
|
||||||
if (_saldo_iniziale == ZERO)
|
{
|
||||||
{
|
_prec = TRUE;
|
||||||
_prec = TRUE;
|
_saldo_iniziale += saldofin_esprec(annoes,g,c,s,false,stp_prov==2);
|
||||||
_saldo_iniziale += saldofin_esprec(annoes,g,c,s);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (stp_prov == 1)
|
if (stp_prov == 1)
|
||||||
_saldo = _saldo_iniziale + _prg_dare - _prg_avere;
|
_saldo = _saldo_iniziale + _prg_dare - _prg_avere;
|
||||||
@ -623,7 +604,7 @@ bool TSaldo::prg_saldo(int annoes, TConto& conto, real& prgdare, real& prgavere,
|
|||||||
// TContoExt
|
// TContoExt
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
class TContoExt : public TConto
|
class TContoExt : public TConto
|
||||||
{
|
{
|
||||||
bool _scaricato;
|
bool _scaricato;
|
||||||
|
|
||||||
@ -638,11 +619,16 @@ public:
|
|||||||
virtual ~TContoExt() {}
|
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)
|
TConto* TTab_conti::add(const TBill& c, int anno, bool scar)
|
||||||
{
|
{
|
||||||
TString80 key;
|
const TString& key = build_key(c, anno, scar);
|
||||||
key.format("%4d%3d%3d%6ld", anno, c.gruppo(), c.conto(), c.sottoconto());
|
|
||||||
if (scar) key << "X";
|
|
||||||
TContoExt* tc = new TContoExt(c.gruppo(), c.conto(), c.sottoconto(),
|
TContoExt* tc = new TContoExt(c.gruppo(), c.conto(), c.sottoconto(),
|
||||||
c.tipo(), NULL, scar);
|
c.tipo(), NULL, scar);
|
||||||
TAssoc_array::add(key, tc);
|
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)
|
TConto* TTab_conti::find(const TBill& c, int anno, bool scar)
|
||||||
{
|
{
|
||||||
TString80 key;
|
const TString& key = build_key(c, anno, scar);
|
||||||
key.format("%4d%3d%3d%6ld", anno, c.gruppo(), c.conto(), c.sottoconto());
|
|
||||||
if (scar) key << "X";
|
|
||||||
TContoExt* tc = (TContoExt*)objptr(key);
|
TContoExt* tc = (TContoExt*)objptr(key);
|
||||||
return tc;
|
return tc;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TTab_conti::remove(const TBill& c, int anno, bool scar)
|
void TTab_conti::remove(const TBill& c, int anno, bool scar)
|
||||||
{
|
{
|
||||||
TString80 key;
|
const TString& key = build_key(c, anno, scar);
|
||||||
key.format("%4d%3d%3d%6ld", anno, c.gruppo(), c.conto(), c.sottoconto());
|
|
||||||
if (scar) key << "X";
|
|
||||||
TAssoc_array::remove(key);
|
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,
|
void TSaldo_agg::aggiorna(int gruppo, int conto, long sottoconto, const real& importo, char sezione,
|
||||||
bool somma, bool scaricato)
|
bool somma, bool scaricato)
|
||||||
{
|
{
|
||||||
|
const TBill bill(gruppo, conto, sottoconto);
|
||||||
const TImporto imp(sezione, importo);
|
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);
|
_provv, somma, _movimentato, scaricato);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ class TSaldo : public TObject
|
|||||||
protected:
|
protected:
|
||||||
void InFinEs(int);
|
void InFinEs(int);
|
||||||
bool leggi_mov(long numreg); // Leggi testata
|
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);
|
bool prg_saldo(int, TConto&, real&, real&, bool);
|
||||||
const real& iniziale() const { return _saldo_iniziale;}
|
const real& iniziale() const { return _saldo_iniziale;}
|
||||||
void set_iniziale(const real& val) { _saldo_iniziale = val; }
|
void set_iniziale(const real& val) { _saldo_iniziale = val; }
|
||||||
@ -136,6 +136,9 @@ public:
|
|||||||
|
|
||||||
class TTab_conti : public TAssoc_array
|
class TTab_conti : public TAssoc_array
|
||||||
{
|
{
|
||||||
|
protected:
|
||||||
|
const TString& build_key(const TBill& c, int anno, bool scar) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void aggiorna_conto(const TBill& tc, int anno_es, const TImporto& importo,
|
void aggiorna_conto(const TBill& tc, int anno_es, const TImporto& importo,
|
||||||
tiposal movap, bool provv, bool somma, bool movimentato, bool scaricato);
|
tiposal movap, bool provv, bool somma, bool movimentato, bool scaricato);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user