Patch level : 12.0 1030
Files correlati : cg1.exe Commento : Corretta stampa bilanci di verifica
This commit is contained in:
parent
0bc9462312
commit
e5c7066e37
@ -245,8 +245,8 @@ bool TStampa_bilanci::mask_datalim (TMask_field& f, KEY k)
|
||||
if (!esercizi().exist(data) || (esercizio(data).codice() != anno))
|
||||
return f.error_box (TR("La data limite deve appartenere all'esercizio indicato"));
|
||||
}
|
||||
else
|
||||
m.field(F_DATALIM).set(esercizio(anno).fine());
|
||||
// else
|
||||
// m.field(F_DATALIM).set(esercizio(anno).fine());
|
||||
app()._annoapp = anno;
|
||||
}
|
||||
else //anno == 0
|
||||
@ -280,8 +280,8 @@ bool TStampa_bilanci::mask_dataini(TMask_field& f, KEY k)
|
||||
if (!esercizi().exist(data) || (esercizio(data).codice() != anno))
|
||||
return f.error_box(TR("La data iniziale deve appartenere all'esercizio indicato"));
|
||||
}
|
||||
else
|
||||
m.field(F_DATALIM).set(esercizio(anno).inizio());
|
||||
// else
|
||||
// m.field(F_DATAINI).set(esercizio(anno).inizio());
|
||||
app()._annoapp = anno;
|
||||
}
|
||||
else //anno == 0
|
||||
@ -707,7 +707,7 @@ bool TStampa_bilanci::bil_sez_contr()
|
||||
if (_tipo_stampa == 1) //bil. a sez. contrapposte per data limite
|
||||
{
|
||||
#ifdef CONT_SEP
|
||||
movimentato = sld.saldo_cont_sep(_tipo_data,g, c, s, _annoes, _datalim, indbil_conto, _cont_sep, _stampa_mov_prov) ;
|
||||
movimentato = sld.saldo_cont_sep(_tipo_data,g, c, s, _annoes, _al, indbil_conto, _cont_sep, _stampa_mov_prov) ;
|
||||
#else
|
||||
movimentato = sld.data_limite_bilancio(_tipo_data, g, c, s, _dataini, _al, indbil_conto, _stampa_mov_prov);
|
||||
#endif
|
||||
@ -881,7 +881,7 @@ bool TStampa_bilanci::ricerca_sottoc_clifo(int g,int c, bool compensa, int indbi
|
||||
if (_tipo_stampa == 1) //bil. a sez. contrapposte per data limite
|
||||
{
|
||||
#ifdef CONT_SEP
|
||||
movimentato = sld.saldo_cont_sep(_tipo_data, g, c, s, _annoes, _datalim, indbil_conto, _cont_sep, _stampa_mov_prov);
|
||||
movimentato = sld.saldo_cont_sep(_tipo_data, g, c, s, _annoes, _al, indbil_conto, _cont_sep, _stampa_mov_prov);
|
||||
#else
|
||||
movimentato = sld.data_limite_bilancio(_tipo_data ,g,c,s,_dataini,_al,indbil_conto,_stampa_mov_prov);
|
||||
#endif
|
||||
@ -1212,7 +1212,7 @@ bool TStampa_bilanci::bil_verifica()
|
||||
_indbil = indbil_conto;
|
||||
if (_tipo_stampa == 1) //bil. di verifica per data limite
|
||||
{
|
||||
//modifica del 21/11/95
|
||||
|
||||
_mov_ap = false;
|
||||
//modifica del 19/06/95
|
||||
movimentato = calcola(g,c,s);
|
||||
@ -1225,67 +1225,31 @@ bool TStampa_bilanci::bil_verifica()
|
||||
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
|
||||
else //discorso flag "movimentato" (video)
|
||||
{
|
||||
TLocalisamfile saldi(LF_SALDI); // W96SALDI
|
||||
saldi.zero(); // Modifica SALDI per movimenti
|
||||
saldi.put(SLD_ANNOES, _annoes); // scaricati del 05-06-96
|
||||
saldi.put(SLD_FLSCA, false); // Ho aggiunto saldi.put(SLD_FLSCA, false);
|
||||
saldi.put(SLD_GRUPPO, g); // In questo modo considero il record con
|
||||
saldi.put(SLD_CONTO, c); // la somma fra progressivi normali e scaricati
|
||||
saldi.put(SLD_SOTTOCONTO, s);
|
||||
if (saldi.read() == NOERR)
|
||||
{
|
||||
const real ss = saldi.get_real(SLD_SALDO);
|
||||
|
||||
if (ss.is_zero())
|
||||
{
|
||||
if (_annoes != 0 && (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5))
|
||||
{
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov);
|
||||
//modifica del 21/11/95
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else
|
||||
_saldo_ini_avere = -saldo_iniziale;
|
||||
//fine
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
const char fsi = saldi.get_char(SLD_FLAGSALINI);
|
||||
if (fsi == 'D')
|
||||
{
|
||||
saldo_iniziale = ss;
|
||||
_saldo_ini_dare = ss;
|
||||
}
|
||||
else
|
||||
{
|
||||
saldo_iniziale = -ss;
|
||||
_saldo_ini_avere = ss;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
sld.ultima_immissione_verifica(_annoes, g, c, s, _indbil, _stampa_mov_prov);
|
||||
saldo_iniziale = sld.saldoini();
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else
|
||||
_saldo_ini_avere = -saldo_iniziale;
|
||||
}
|
||||
}
|
||||
else // !movimentato -> _mov_ap e' di sicuro false
|
||||
{
|
||||
if (_annoes != 0 && (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5))
|
||||
{
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov);
|
||||
//modifica del 21/11/95
|
||||
sld.ultima_immissione_verifica(g, c, s, _indbil, _stampa_mov_prov);
|
||||
saldo_iniziale = sld.saldoini();
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else _saldo_ini_avere = -saldo_iniziale;
|
||||
//fine
|
||||
else
|
||||
_saldo_ini_avere = -saldo_iniziale;
|
||||
if (_stampav == 1 && sld.significativo())
|
||||
movimentato = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (movimentato || _stampav != 1)
|
||||
{
|
||||
|
||||
_nuovo_tot_saldo_d += _mov_periodo_dare;
|
||||
_nuovo_tot_saldo_a += _mov_periodo_avere;
|
||||
_nuovo_tot_saldo_d += _saldo_ini_dare;
|
||||
@ -1474,6 +1438,7 @@ bool TStampa_bilanci::calcola(int g, int c, long s)
|
||||
int annoe;
|
||||
bool conto_mov = false;
|
||||
TDecoder causali(LF_CAUSALI, CAU_MOVAP);
|
||||
|
||||
|
||||
_mov_periodo_dare = ZERO;
|
||||
_mov_periodo_avere = ZERO;
|
||||
@ -1486,12 +1451,14 @@ bool TStampa_bilanci::calcola(int g, int c, long s)
|
||||
// TDate data_start = _dataini;
|
||||
// Calcolo progressivi precedenti:
|
||||
// e non è indicato l'anno esercizio, prende il primo giorno dell'anno indicato da _datada
|
||||
if (_annoes == 0 && !_dataini.ok())
|
||||
{
|
||||
_dataini = _dal;
|
||||
_dataini.set_day(1);
|
||||
_dataini.set_month(1);
|
||||
}
|
||||
if (_annoes == 0)
|
||||
{
|
||||
_dataini = _dal;
|
||||
_dataini.set_day(1);
|
||||
_dataini.set_month(1);
|
||||
}
|
||||
else
|
||||
_dataini = esercizi().esercizio(_annoes).inizio();
|
||||
|
||||
TCursor cur(new TRelation(LF_RMOV), "", 2);
|
||||
TRectype& rmov = cur.file().curr();
|
||||
@ -1517,67 +1484,55 @@ bool TStampa_bilanci::calcola(int g, int c, long s)
|
||||
const TDate data = get_date_mov(mov, _tipo_data);
|
||||
const TString4 provvis = mov.get(MOV_PROVVIS);
|
||||
const TString& codcaus = mov.get(MOV_CODCAUS);
|
||||
const TCausale & caus = cached_causale(codcaus);
|
||||
const char causap = causali.decode(codcaus)[0];
|
||||
|
||||
if (!_quadratura && causap == 'C')
|
||||
if (_quadratura || !caus.chiusura())
|
||||
{
|
||||
// Si tratta di causale di chiusura:
|
||||
// Non e' richiesta la quadratura con il Libro Giornale (Modifica
|
||||
// del 18-06-96 richiesta da Patrizia in seguito alla modifica dei SALDI)
|
||||
continue;
|
||||
}
|
||||
const char sezione = rmov.get_char(RMV_SEZIONE);
|
||||
const real importo = rmov.get_real(RMV_IMPORTO);
|
||||
|
||||
const char sezione = rmov.get_char(RMV_SEZIONE);
|
||||
const real importo = rmov.get_real(RMV_IMPORTO);
|
||||
|
||||
if (importo.is_zero())
|
||||
continue;
|
||||
|
||||
//calcolo i movimenti del periodo
|
||||
if ( data >= _dal && data <= _al)
|
||||
if ((causap == 'A' && _dataini.ok() && _dataini != _dal) ||
|
||||
(causap != 'A'))
|
||||
if (check_mov(_stampa_mov_prov, provvis))
|
||||
{
|
||||
conto_mov = true;
|
||||
if (sezione == 'D')
|
||||
_mov_periodo_dare += importo;
|
||||
else
|
||||
_mov_periodo_avere += importo;
|
||||
_u_max = fnc_max(_u_max, data);
|
||||
if (causap == 'A')
|
||||
_mov_ap = true;
|
||||
}
|
||||
|
||||
//il saldo inizio es. e' dato dall'importo dare - importo avere di quei movimenti che hanno causale == apertura e data reg >= data inizio es. e <= data limite sup.
|
||||
if (_dal == _dataini) //calcolo il saldo iniziale
|
||||
{
|
||||
if ((_stampa_mov_prov & 0x1) && (causap == 'A'))
|
||||
if (importo != ZERO)
|
||||
{
|
||||
if ( (data >= _dataini) && (data <= _al) )
|
||||
//calcolo i movimenti del periodo
|
||||
if (check_mov(_stampa_mov_prov, provvis))
|
||||
{
|
||||
if (sezione == 'D')
|
||||
_saldo_ini_dare += importo;
|
||||
else
|
||||
_saldo_ini_avere += importo;
|
||||
conto_mov = true;
|
||||
_u_max = fnc_max(_u_max, data);
|
||||
conto_mov = _mov_ap = true;
|
||||
if ((data >= _dataini) && (data < _dal)) //calcolo i progressivi precedenti
|
||||
{
|
||||
_mov_ap |= caus.apertura();
|
||||
if (sezione == 'D')
|
||||
_prg_prec_dare += importo;
|
||||
else
|
||||
_prg_prec_avere += importo;
|
||||
}
|
||||
else
|
||||
if (data >= _dal && data <= _al && !caus.apertura())
|
||||
{
|
||||
if (sezione == 'D')
|
||||
_mov_periodo_dare += importo;
|
||||
else
|
||||
_mov_periodo_avere += importo;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
if ( (data >= _dataini) && (data < _dal) ) //calcolo i progressivi precedenti
|
||||
if (check_mov(_stampa_mov_prov, provvis))
|
||||
{
|
||||
if (sezione == 'D')
|
||||
_prg_prec_dare += importo;
|
||||
else
|
||||
_prg_prec_avere += importo;
|
||||
_u_max = fnc_max(_u_max, data);
|
||||
conto_mov = true;
|
||||
if (causap == 'A')
|
||||
_mov_ap = true;
|
||||
}
|
||||
//il saldo inizio es. e' dato dall'importo dare - importo avere di quei movimenti che hanno causale == apertura e data reg >= data inizio es. e <= data limite sup.
|
||||
if (_dal == _dataini) //calcolo il saldo iniziale
|
||||
{
|
||||
if ((_stampa_mov_prov & 0x1) && caus.apertura() &&
|
||||
(data >= _dataini) && (data <= _al))
|
||||
{
|
||||
_mov_ap = true;
|
||||
conto_mov = true;
|
||||
_u_max = fnc_max(_u_max, data);
|
||||
if (sezione == 'D')
|
||||
_saldo_ini_dare += importo;
|
||||
else
|
||||
_saldo_ini_avere += importo;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return conto_mov;
|
||||
}
|
||||
@ -1603,9 +1558,8 @@ bool TStampa_bilanci::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_fin
|
||||
|
||||
if (_tipo_stampa == 1) //bil. di verifica per data limite
|
||||
{
|
||||
//modifica del 21/11/1995
|
||||
|
||||
_mov_ap = false;
|
||||
//modifica del 19/06. Vedi appunti per capire
|
||||
bool movimentato = calcola(g,c,s);
|
||||
|
||||
if (_stampa_mov_prov & 0x1)
|
||||
@ -1613,77 +1567,27 @@ bool TStampa_bilanci::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_fin
|
||||
if (movimentato)
|
||||
{
|
||||
if (_mov_ap)
|
||||
{
|
||||
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
|
||||
}
|
||||
else
|
||||
{
|
||||
TLocalisamfile saldi(LF_SALDI);
|
||||
saldi.zero();
|
||||
saldi.put(SLD_ANNOES,_annoes);
|
||||
saldi.put(SLD_FLSCA, false); // W96SALDI del 05-06-96
|
||||
saldi.put(SLD_GRUPPO,g); // Ho aggiunto in chiave saldi.put(SLD_FLSCA, false);
|
||||
saldi.put(SLD_CONTO,c); // in questa maniera reperisco il record dei saldi
|
||||
saldi.put(SLD_SOTTOCONTO,s); // contenente la somma degli scaricati e non scaricati
|
||||
if (saldi.read() == NOERR)
|
||||
{
|
||||
//se il saldo iniziale e' diverso da zero non lo devo considerare
|
||||
//perche' l'ho gia' considerato nella funzione calcola
|
||||
const real ss = saldi.get_real(SLD_SALDO);
|
||||
|
||||
if (ss.is_zero())
|
||||
{
|
||||
if (_annoes != 0 && (ib == 1 || ib == 2 || ib == 5))
|
||||
{
|
||||
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov);
|
||||
//modifica del 21/11/1995
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else
|
||||
_saldo_ini_avere = -saldo_iniziale;
|
||||
//fine
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
const char fsi = saldi.get_char(SLD_FLAGSALINI);
|
||||
if (fsi == 'D')
|
||||
{
|
||||
saldo_iniziale = ss;
|
||||
_saldo_ini_dare = ss;
|
||||
}
|
||||
else
|
||||
{
|
||||
saldo_iniziale = -ss;
|
||||
_saldo_ini_avere = ss;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
if (_annoes != 0 && (ib == 1 || ib == 2 || ib == 5))
|
||||
{
|
||||
saldo_iniziale += sld.saldofin_esprec(_annoes, g, c, s, false, _stampa_mov_prov);
|
||||
//modifica del 21/11/1995
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else
|
||||
_saldo_ini_avere = -saldo_iniziale;
|
||||
//fine
|
||||
}
|
||||
|
||||
sld.ultima_immissione_verifica(_annoes, g, c, s, _indbil, _stampa_mov_prov);
|
||||
saldo_iniziale = sld.saldoini();
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else
|
||||
_saldo_ini_avere = -saldo_iniziale;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_annoes != 0 && (ib == 1 || ib == 2 || ib == 5))
|
||||
{
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov);
|
||||
//modifica del 21/11/1995
|
||||
sld.ultima_immissione_verifica(g, c, s, _indbil, _stampa_mov_prov);
|
||||
saldo_iniziale = sld.saldoini();
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else
|
||||
_saldo_ini_avere = -saldo_iniziale;
|
||||
//fine
|
||||
else
|
||||
_saldo_ini_avere = -saldo_iniziale;
|
||||
movimentato = sld.significativo();
|
||||
}
|
||||
}
|
||||
@ -2109,9 +2013,8 @@ void TStampa_bilanci::leggi_clifo(const TArray& gccf)
|
||||
|
||||
if (_tipo_stampa == 1) //bilancio di verifica per data limite
|
||||
{
|
||||
//modifica del 21/11/1995
|
||||
|
||||
_mov_ap = false;
|
||||
|
||||
//modifica del 19/06/95
|
||||
_indbil = cerca_indbil(g,c);
|
||||
movimentato = calcola(g,c,codcf);
|
||||
@ -2120,12 +2023,13 @@ 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,false,_stampa_mov_prov);
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else _saldo_ini_avere = -saldo_iniziale;
|
||||
sld.ultima_immissione_verifica(_annoes, g, c, codcf, _indbil, _stampa_mov_prov);
|
||||
saldo_iniziale = sld.saldoini();
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else
|
||||
_saldo_ini_avere = -saldo_iniziale;
|
||||
}
|
||||
|
||||
if (movimentato)
|
||||
{
|
||||
//modifica del 21/11/1995
|
||||
@ -2133,33 +2037,14 @@ void TStampa_bilanci::leggi_clifo(const TArray& gccf)
|
||||
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
|
||||
else
|
||||
{
|
||||
TLocalisamfile saldi(LF_SALDI);
|
||||
saldi.zero();
|
||||
saldi.put(SLD_ANNOES, _annoes); // W96SALDI del 05-06-96
|
||||
saldi.put(SLD_FLSCA, false);
|
||||
saldi.put(SLD_GRUPPO, g);
|
||||
saldi.put(SLD_CONTO, c);
|
||||
saldi.put(SLD_SOTTOCONTO, codcf);
|
||||
if (saldi.read() == NOERR)
|
||||
{
|
||||
const real s = saldi.get_real(SLD_SALDO);
|
||||
|
||||
if (_stampa_mov_prov & 0x1)
|
||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||
if (s.is_zero() && _annoes != 0) //competenza!!!
|
||||
{
|
||||
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,codcf,false,_stampa_mov_prov);
|
||||
//modifica del 21/11/1995
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else _saldo_ini_avere = -saldo_iniziale;
|
||||
//fine
|
||||
}
|
||||
}
|
||||
sld.ultima_immissione_verifica(g, c, codcf, _indbil, _stampa_mov_prov);
|
||||
saldo_iniziale = sld.saldoini();
|
||||
if (saldo_iniziale > ZERO)
|
||||
_saldo_ini_dare = saldo_iniziale;
|
||||
else
|
||||
_saldo_ini_avere = -saldo_iniziale;
|
||||
}
|
||||
}
|
||||
//fine modifica del 19/06/95
|
||||
//movimentato = calcola(g,c,codcf);
|
||||
if (movimentato || _stampac != 1 || saldo_iniziale != ZERO)
|
||||
{
|
||||
if (_dal == _dataini)
|
||||
@ -3468,11 +3353,7 @@ void TStampa_bilanci::stampa_un_bilancio(const TMask& m)
|
||||
_verifica = m.get_int(F_VERIFICA); //tipo di bilancio di verifica da stampare
|
||||
_print_full_code = _verifica == 1 && m.get_bool(F_PRINT_FULL_CODE);
|
||||
_tipo_stampa = m.get_int(F_STAMPA);
|
||||
if (_tipo_stampa == 1)
|
||||
{
|
||||
_dal = m.get_date(F_DATAINI);
|
||||
_al = m.get_date(F_DATALIM);
|
||||
}
|
||||
|
||||
if ((_verifica == 1) || (_verifica == 2)) //bilancio di verifica:1bilancio,2saldi mastro
|
||||
{
|
||||
_stampav = atoi(m.get(F_STAMPAV));
|
||||
@ -3527,6 +3408,16 @@ bool TStampa_bilanci::set_print(int)
|
||||
_quadratura = m.get_bool(F_QUADRATURA);
|
||||
_hide_clifo = m.get_bool(F_HIDE_CLIFO);
|
||||
_noseparator = m.get_bool(F_SEPARATOR);
|
||||
_dal = m.get_date(F_DATAINI);
|
||||
_al = m.get_date(F_DATALIM);
|
||||
if (_annoes != 0)
|
||||
{
|
||||
if (!_dal.ok())
|
||||
_dal = esercizi().esercizio(_annoes).inizio();
|
||||
if (!_al.ok())
|
||||
_al = esercizi().esercizio(_annoes).fine();
|
||||
}
|
||||
|
||||
_tipo_data = (_annoes == 0 ? Registrazione : (m.get_bool(F_COMPCR) ? CostiRicavi : Competenza));
|
||||
#ifdef CONT_SEP
|
||||
_cont_sep = m.get(F_CONTSEP);
|
||||
|
Loading…
x
Reference in New Issue
Block a user