Prime correzioni alla personalizzazione CGP1
git-svn-id: svn://10.65.10.50/trunk@5001 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
71067401ae
commit
ace3ea0609
195
cg/cgp1100.cpp
195
cg/cgp1100.cpp
@ -38,8 +38,6 @@ class TMastrini_application : public TPrintapp
|
||||
static bool memorizza_handler(TMask_field& f, KEY k);
|
||||
static bool scelte_notify(TSheet_field& s, int r, KEY k);
|
||||
|
||||
static bool filter_rmov(const TRelation *);
|
||||
|
||||
TDociva_array _b;
|
||||
TRelation* _rel1,*_rel2;
|
||||
TMask* _msk;
|
||||
@ -338,7 +336,7 @@ bool TMastrini_application::sottoc_handler_fine(TMask_field& f, KEY key)
|
||||
|
||||
if ( key == K_TAB && f.mask().is_running())
|
||||
{
|
||||
if (id == F_SOTTOCFINE_CONTO)
|
||||
if (id == F_SOTTOCFINE_CONTO && (gruppo != 0 || conto != 0 || sottoconto != 0L))
|
||||
{
|
||||
TLocalisamfile pconti (LF_PCON);
|
||||
pconti.zero();
|
||||
@ -614,13 +612,6 @@ bool TMastrini_application::movcas_cdc_handler(TMask_field& f, KEY key)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TMastrini_application::filter_rmov(const TRelation *r)
|
||||
{
|
||||
TLocalisamfile& rmov = r->lfile(-RMOV_ALIAS);
|
||||
const long cdc = rmov.get_long(RMV_NUMGIO);
|
||||
return cdc == app()._cdc;
|
||||
}
|
||||
|
||||
bool TMastrini_application::scelte_notify(TSheet_field& s, int r, KEY k)
|
||||
{
|
||||
bool ok = TRUE;
|
||||
@ -1528,6 +1519,7 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
//per i mastrini che si trovano a cavallo fra una pagina e quella successiva.
|
||||
//In quest'ultimo caso infatti quando vado a pagina nuova devo stampare l'intestazione
|
||||
//ma senza il flag rischio di stamparla due volte.
|
||||
|
||||
if (_nummast == 3)
|
||||
_gia_stampata_intestazione = FALSE;
|
||||
|
||||
@ -1549,6 +1541,10 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
_s_contr = rmov.get(RMV_SOTTOCONTOC);
|
||||
_centrodicosto = rmov.get(RMV_NUMGIO);
|
||||
|
||||
// Se non ha il richiesto numero di centro di costo salta la stampa di questa riga di movimento
|
||||
if (_cdc != 0L && _cdc != atol(_centrodicosto))
|
||||
return FALSE;
|
||||
|
||||
// Stampa solo quelli che hanno anno esercizio uguale a quello specificato
|
||||
// nella maschera. Se non viene specificato li stampa tutti
|
||||
|
||||
@ -2480,10 +2476,6 @@ bool TMastrini_application::set_print(int)
|
||||
a.put(SLD_CONTO,contofine);
|
||||
a.put(SLD_SOTTOCONTO,sottocontofine);
|
||||
current_cursor()->setregion(da, a);
|
||||
if (_cdc != 0L)
|
||||
current_cursor()->set_filterfunction(filter_rmov,TRUE);
|
||||
else
|
||||
current_cursor()->set_filterfunction(NULL);
|
||||
if (_stampatotiva)
|
||||
_b.destroy();
|
||||
|
||||
@ -3200,8 +3192,6 @@ void TMastrini_application::calcola_progressivi()
|
||||
* non occorra considerare il saldo di chiusura (SALDOFIN) aggiunto al
|
||||
* record */
|
||||
|
||||
if (_cdc || _movcas_print)
|
||||
return;
|
||||
|
||||
TLocalisamfile saldi(LF_SALDI, FALSE);
|
||||
real progdare_attuale,progavere_attuale,progdare_prec,progavere_prec;
|
||||
@ -3215,105 +3205,108 @@ void TMastrini_application::calcola_progressivi()
|
||||
// Ricerca sull'archivio saldi dei record con gruppo,conto,sottoconto
|
||||
// uguali a quelli di rmov per il calcolo dei progressivi precedenti
|
||||
|
||||
saldi.setkey(2);
|
||||
saldi.zero();
|
||||
saldi.put(SLD_GRUPPO, _gruppo);
|
||||
saldi.put(SLD_CONTO, _conto);
|
||||
saldi.put(SLD_SOTTOCONTO, _sottoc);
|
||||
|
||||
TRectype record(saldi.curr());
|
||||
if (!_cdc && !_movcas_print)
|
||||
{
|
||||
saldi.setkey(2);
|
||||
saldi.zero();
|
||||
saldi.put(SLD_GRUPPO, _gruppo);
|
||||
saldi.put(SLD_CONTO, _conto);
|
||||
saldi.put(SLD_SOTTOCONTO, _sottoc);
|
||||
|
||||
for (saldi.read(_isgteq); saldi.good() && saldi.curr() == record; saldi.next())
|
||||
{
|
||||
if (!saldi.get_bool(SLD_FLSCA))
|
||||
{
|
||||
int annoes_saldi = saldi.curr().get_int(SLD_ANNOES);
|
||||
|
||||
//Calcola i progressivi dell'esercizio attuale
|
||||
|
||||
if (annoes_saldi == _anno_corrente)
|
||||
TRectype record(saldi.curr());
|
||||
|
||||
for (saldi.read(_isgteq); saldi.good() && saldi.curr() == record; saldi.next())
|
||||
{
|
||||
if (!saldi.get_bool(SLD_FLSCA))
|
||||
{
|
||||
progdare_attuale = saldi.get_real(SLD_PDARE);
|
||||
progavere_attuale = saldi.get_real(SLD_PAVERE);
|
||||
saldo = saldi.get_real(SLD_SALDO);
|
||||
salini = saldi.get(SLD_FLAGSALINI)[0];
|
||||
_ultima_data_reg = saldi.get_date(SLD_DATAULMOV);
|
||||
saldoini_attuale = saldi.get_real(SLD_SALDO);
|
||||
salini_attuale = saldi.get_char(SLD_FLAGSALINI);
|
||||
saldofine_attuale = saldi.get_real(SLD_SALDOFIN);
|
||||
salfine_attuale = saldi.get_char(SLD_FLAGSALFIN);
|
||||
}
|
||||
|
||||
//Calcola i progressivi dell'esercizio precedente
|
||||
|
||||
if (annoes_saldi == _anno_precedente)
|
||||
{
|
||||
pdarep = saldi.get_real(SLD_PDARE);
|
||||
paverep = saldi.get_real(SLD_PAVERE);
|
||||
|
||||
if (_stampa_mov_prov)
|
||||
int annoes_saldi = saldi.curr().get_int(SLD_ANNOES);
|
||||
|
||||
//Calcola i progressivi dell'esercizio attuale
|
||||
|
||||
if (annoes_saldi == _anno_corrente)
|
||||
{
|
||||
progredare_eseprec = pdarep + saldi.get_real(SLD_PDAREPRO);
|
||||
progreavere_eseprec = paverep + saldi.get_real(SLD_PAVEREPRO);
|
||||
progdare_attuale = saldi.get_real(SLD_PDARE);
|
||||
progavere_attuale = saldi.get_real(SLD_PAVERE);
|
||||
saldo = saldi.get_real(SLD_SALDO);
|
||||
salini = saldi.get(SLD_FLAGSALINI)[0];
|
||||
_ultima_data_reg = saldi.get_date(SLD_DATAULMOV);
|
||||
saldoini_attuale = saldi.get_real(SLD_SALDO);
|
||||
salini_attuale = saldi.get_char(SLD_FLAGSALINI);
|
||||
saldofine_attuale = saldi.get_real(SLD_SALDOFIN);
|
||||
salfine_attuale = saldi.get_char(SLD_FLAGSALFIN);
|
||||
}
|
||||
|
||||
// cerca eventuale record scaricati
|
||||
}
|
||||
|
||||
// Se il saldo dell'esercizio attuale e' diverso da 0 allora significa che
|
||||
// quello corrisponde al saldo finale dell'esercizio precedente. Per ottenere
|
||||
// i progressivi dell'esercizio precedente devo a questo punto sommare i
|
||||
// progressivi dell'esercizio e i progressivi di quelli scaricati, tenendo
|
||||
// conto del flag salini per sapere se il saldo e' dare oppure avere.
|
||||
|
||||
/*
|
||||
if (_annomsk != 0 && _anno_corrente == annoes_saldi)
|
||||
{
|
||||
if (saldo != ZERO)
|
||||
{
|
||||
if (salini == 'D')
|
||||
//Calcola i progressivi dell'esercizio precedente
|
||||
|
||||
if (annoes_saldi == _anno_precedente)
|
||||
{
|
||||
progredare_eseprec = saldo;// + pdarescap + pdarep;
|
||||
pdarep = saldi.get_real(SLD_PDARE);
|
||||
paverep = saldi.get_real(SLD_PAVERE);
|
||||
|
||||
if (_stampa_mov_prov)
|
||||
{
|
||||
progredare_eseprec = pdarep + saldi.get_real(SLD_PDAREPRO);
|
||||
progreavere_eseprec = paverep + saldi.get_real(SLD_PAVEREPRO);
|
||||
}
|
||||
|
||||
// cerca eventuale record scaricati
|
||||
}
|
||||
|
||||
// Se il saldo dell'esercizio attuale e' diverso da 0 allora significa che
|
||||
// quello corrisponde al saldo finale dell'esercizio precedente. Per ottenere
|
||||
// i progressivi dell'esercizio precedente devo a questo punto sommare i
|
||||
// progressivi dell'esercizio e i progressivi di quelli scaricati, tenendo
|
||||
// conto del flag salini per sapere se il saldo e' dare oppure avere.
|
||||
|
||||
/*
|
||||
if (_annomsk != 0 && _anno_corrente == annoes_saldi)
|
||||
{
|
||||
if (saldo != ZERO)
|
||||
{
|
||||
if (salini == 'D')
|
||||
{
|
||||
progredare_eseprec = saldo;// + pdarescap + pdarep;
|
||||
progdare_prec = saldo;
|
||||
}
|
||||
else if (salini == 'A')
|
||||
{
|
||||
progreavere_eseprec = saldo;// + paverescap + paverep;
|
||||
progavere_prec = saldo;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
} // if (!saldi.get_bool(SLD_FLSCA))
|
||||
} // FOR
|
||||
|
||||
//Se il saldo dell'esercizio attuale non e' diverso da zero, allora il saldo
|
||||
// finale dell'esercizio precedente devo calcolarmelo tenendo conto dell'indbil
|
||||
|
||||
if (_annomsk != 0 /*&& saldo == ZERO*/) // Guy: Non capisco perche' sia commentato!
|
||||
{
|
||||
if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5))
|
||||
{
|
||||
const TRecnotype pos = saldi.recno();
|
||||
// W96SALDI del 18-07-96 saldofin_esprec usa il flag TRUE xche' deve
|
||||
// considerare anche il saldo finale
|
||||
saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE);
|
||||
saldi.readat(pos);
|
||||
|
||||
if (saldo> ZERO)
|
||||
{
|
||||
progredare_eseprec = saldo;
|
||||
progdare_prec = saldo;
|
||||
}
|
||||
else if (salini == 'A')
|
||||
else if (saldo < ZERO)
|
||||
{
|
||||
progreavere_eseprec = saldo;// + paverescap + paverep;
|
||||
saldo = -saldo;
|
||||
progreavere_eseprec = saldo;
|
||||
progavere_prec = saldo;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
} // if (!saldi.get_bool(SLD_FLSCA))
|
||||
} // FOR
|
||||
} // If (!_movcas_print && !_cdc)
|
||||
|
||||
//Se il saldo dell'esercizio attuale non e' diverso da zero, allora il saldo
|
||||
// finale dell'esercizio precedente devo calcolarmelo tenendo conto dell'indbil
|
||||
|
||||
if (_annomsk != 0 /*&& saldo == ZERO*/) // Guy: Non capisco perche' sia commentato!
|
||||
{
|
||||
if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5))
|
||||
{
|
||||
const TRecnotype pos = saldi.recno();
|
||||
// W96SALDI del 18-07-96 saldofin_esprec usa il flag TRUE xche' deve
|
||||
// considerare anche il saldo finale
|
||||
saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE,FALSE);
|
||||
saldi.readat(pos);
|
||||
|
||||
if (saldo> ZERO)
|
||||
{
|
||||
progredare_eseprec = saldo;
|
||||
progdare_prec = saldo;
|
||||
}
|
||||
else if (saldo < ZERO)
|
||||
{
|
||||
saldo = -saldo;
|
||||
progreavere_eseprec = saldo;
|
||||
progavere_prec = saldo;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
calcola_progressivi_al();
|
||||
|
||||
//Calcolo dei progressivi precedenti: somma di tutti quei movimenti di rmov
|
||||
|
@ -1227,7 +1227,7 @@ bool TStampaBilanciCDC_application::bil_sez_contr()
|
||||
|
||||
bool TStampaBilanciCDC_application::ricerca_sottoc_clifo(int g,int c, bool compensa, int indbil_conto,real& saldo)
|
||||
{
|
||||
TSaldo sld;
|
||||
TCGPSaldo sld(_movcas_print, _cdc_cod);
|
||||
int aep=0;
|
||||
long s, items;
|
||||
bool esiste_sc = FALSE;
|
||||
@ -1253,8 +1253,8 @@ bool TStampaBilanciCDC_application::ricerca_sottoc_clifo(int g,int c, bool compe
|
||||
|
||||
if (_tipo_stampa == 1) //bil. a sez. contrapposte per data limite
|
||||
movimentato = sld.data_limite_bilancio(_bilancio,g,c,s,_dataini,_datalim,indbil_conto,_stampa_mov_prov);
|
||||
else if (_tipo_stampa == 2) //bil. a sez. contrapposte all'ultima immissione es. in corso
|
||||
movimentato = sld.ultima_immissione_bilancio(_annoes,g,c,s,indbil_conto,_stampa_mov_prov);
|
||||
//else if (_tipo_stampa == 2) //bil. a sez. contrapposte all'ultima immissione es. in corso
|
||||
// movimentato = sld.ultima_immissione_bilancio(_annoes,g,c,s,indbil_conto,_stampa_mov_prov);
|
||||
|
||||
if (!movimentato)
|
||||
if (!sld.esiste_saldo() || !sld.significativo())
|
||||
@ -2076,7 +2076,7 @@ bool TStampaBilanciCDC_application::ricerca_cf(int g,int c,char tipocf,int ib, r
|
||||
//solo se e' un conto patrimoniale
|
||||
if (ib == 1 || ib == 2 || ib == 5)
|
||||
{
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,FALSE,TRUE);
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,FALSE);
|
||||
movimentato = sld.significativo();
|
||||
}
|
||||
}
|
||||
@ -2524,7 +2524,7 @@ void TStampaBilanciCDC_application::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,TRUE);
|
||||
saldo_iniziale = sld.saldofin_esprec(anno,g,c,codcf,FALSE);
|
||||
|
||||
if (movimentato)
|
||||
saldo_iniziale = sld.saldoini();
|
||||
|
Loading…
x
Reference in New Issue
Block a user