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
187
cg/cgp1100.cpp
187
cg/cgp1100.cpp
@ -38,8 +38,6 @@ class TMastrini_application : public TPrintapp
|
|||||||
static bool memorizza_handler(TMask_field& f, KEY k);
|
static bool memorizza_handler(TMask_field& f, KEY k);
|
||||||
static bool scelte_notify(TSheet_field& s, int r, KEY k);
|
static bool scelte_notify(TSheet_field& s, int r, KEY k);
|
||||||
|
|
||||||
static bool filter_rmov(const TRelation *);
|
|
||||||
|
|
||||||
TDociva_array _b;
|
TDociva_array _b;
|
||||||
TRelation* _rel1,*_rel2;
|
TRelation* _rel1,*_rel2;
|
||||||
TMask* _msk;
|
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 ( 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);
|
TLocalisamfile pconti (LF_PCON);
|
||||||
pconti.zero();
|
pconti.zero();
|
||||||
@ -614,13 +612,6 @@ bool TMastrini_application::movcas_cdc_handler(TMask_field& f, KEY key)
|
|||||||
return TRUE;
|
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 TMastrini_application::scelte_notify(TSheet_field& s, int r, KEY k)
|
||||||
{
|
{
|
||||||
bool ok = TRUE;
|
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.
|
//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
|
//In quest'ultimo caso infatti quando vado a pagina nuova devo stampare l'intestazione
|
||||||
//ma senza il flag rischio di stamparla due volte.
|
//ma senza il flag rischio di stamparla due volte.
|
||||||
|
|
||||||
if (_nummast == 3)
|
if (_nummast == 3)
|
||||||
_gia_stampata_intestazione = FALSE;
|
_gia_stampata_intestazione = FALSE;
|
||||||
|
|
||||||
@ -1549,6 +1541,10 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
|||||||
_s_contr = rmov.get(RMV_SOTTOCONTOC);
|
_s_contr = rmov.get(RMV_SOTTOCONTOC);
|
||||||
_centrodicosto = rmov.get(RMV_NUMGIO);
|
_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
|
// Stampa solo quelli che hanno anno esercizio uguale a quello specificato
|
||||||
// nella maschera. Se non viene specificato li stampa tutti
|
// 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_CONTO,contofine);
|
||||||
a.put(SLD_SOTTOCONTO,sottocontofine);
|
a.put(SLD_SOTTOCONTO,sottocontofine);
|
||||||
current_cursor()->setregion(da, a);
|
current_cursor()->setregion(da, a);
|
||||||
if (_cdc != 0L)
|
|
||||||
current_cursor()->set_filterfunction(filter_rmov,TRUE);
|
|
||||||
else
|
|
||||||
current_cursor()->set_filterfunction(NULL);
|
|
||||||
if (_stampatotiva)
|
if (_stampatotiva)
|
||||||
_b.destroy();
|
_b.destroy();
|
||||||
|
|
||||||
@ -3200,8 +3192,6 @@ void TMastrini_application::calcola_progressivi()
|
|||||||
* non occorra considerare il saldo di chiusura (SALDOFIN) aggiunto al
|
* non occorra considerare il saldo di chiusura (SALDOFIN) aggiunto al
|
||||||
* record */
|
* record */
|
||||||
|
|
||||||
if (_cdc || _movcas_print)
|
|
||||||
return;
|
|
||||||
|
|
||||||
TLocalisamfile saldi(LF_SALDI, FALSE);
|
TLocalisamfile saldi(LF_SALDI, FALSE);
|
||||||
real progdare_attuale,progavere_attuale,progdare_prec,progavere_prec;
|
real progdare_attuale,progavere_attuale,progdare_prec,progavere_prec;
|
||||||
@ -3215,104 +3205,107 @@ void TMastrini_application::calcola_progressivi()
|
|||||||
// Ricerca sull'archivio saldi dei record con gruppo,conto,sottoconto
|
// Ricerca sull'archivio saldi dei record con gruppo,conto,sottoconto
|
||||||
// uguali a quelli di rmov per il calcolo dei progressivi precedenti
|
// uguali a quelli di rmov per il calcolo dei progressivi precedenti
|
||||||
|
|
||||||
saldi.setkey(2);
|
if (!_cdc && !_movcas_print)
|
||||||
saldi.zero();
|
|
||||||
saldi.put(SLD_GRUPPO, _gruppo);
|
|
||||||
saldi.put(SLD_CONTO, _conto);
|
|
||||||
saldi.put(SLD_SOTTOCONTO, _sottoc);
|
|
||||||
|
|
||||||
TRectype record(saldi.curr());
|
|
||||||
|
|
||||||
for (saldi.read(_isgteq); saldi.good() && saldi.curr() == record; saldi.next())
|
|
||||||
{
|
{
|
||||||
if (!saldi.get_bool(SLD_FLSCA))
|
saldi.setkey(2);
|
||||||
|
saldi.zero();
|
||||||
|
saldi.put(SLD_GRUPPO, _gruppo);
|
||||||
|
saldi.put(SLD_CONTO, _conto);
|
||||||
|
saldi.put(SLD_SOTTOCONTO, _sottoc);
|
||||||
|
|
||||||
|
TRectype record(saldi.curr());
|
||||||
|
|
||||||
|
for (saldi.read(_isgteq); saldi.good() && saldi.curr() == record; saldi.next())
|
||||||
{
|
{
|
||||||
int annoes_saldi = saldi.curr().get_int(SLD_ANNOES);
|
if (!saldi.get_bool(SLD_FLSCA))
|
||||||
|
|
||||||
//Calcola i progressivi dell'esercizio attuale
|
|
||||||
|
|
||||||
if (annoes_saldi == _anno_corrente)
|
|
||||||
{
|
{
|
||||||
progdare_attuale = saldi.get_real(SLD_PDARE);
|
int annoes_saldi = saldi.curr().get_int(SLD_ANNOES);
|
||||||
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
|
//Calcola i progressivi dell'esercizio attuale
|
||||||
|
|
||||||
if (annoes_saldi == _anno_precedente)
|
if (annoes_saldi == _anno_corrente)
|
||||||
{
|
|
||||||
pdarep = saldi.get_real(SLD_PDARE);
|
|
||||||
paverep = saldi.get_real(SLD_PAVERE);
|
|
||||||
|
|
||||||
if (_stampa_mov_prov)
|
|
||||||
{
|
{
|
||||||
progredare_eseprec = pdarep + saldi.get_real(SLD_PDAREPRO);
|
progdare_attuale = saldi.get_real(SLD_PDARE);
|
||||||
progreavere_eseprec = paverep + saldi.get_real(SLD_PAVEREPRO);
|
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
|
//Calcola i progressivi dell'esercizio precedente
|
||||||
}
|
|
||||||
|
|
||||||
// Se il saldo dell'esercizio attuale e' diverso da 0 allora significa che
|
if (annoes_saldi == _anno_precedente)
|
||||||
// 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;
|
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;
|
progdare_prec = saldo;
|
||||||
}
|
}
|
||||||
else if (salini == 'A')
|
else if (saldo < ZERO)
|
||||||
{
|
{
|
||||||
progreavere_eseprec = saldo;// + paverescap + paverep;
|
saldo = -saldo;
|
||||||
|
progreavere_eseprec = saldo;
|
||||||
progavere_prec = saldo;
|
progavere_prec = saldo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
} // If (!_movcas_print && !_cdc)
|
||||||
} // 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,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();
|
calcola_progressivi_al();
|
||||||
|
|
||||||
|
@ -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)
|
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;
|
int aep=0;
|
||||||
long s, items;
|
long s, items;
|
||||||
bool esiste_sc = FALSE;
|
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
|
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);
|
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
|
//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);
|
// movimentato = sld.ultima_immissione_bilancio(_annoes,g,c,s,indbil_conto,_stampa_mov_prov);
|
||||||
|
|
||||||
if (!movimentato)
|
if (!movimentato)
|
||||||
if (!sld.esiste_saldo() || !sld.significativo())
|
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
|
//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,TRUE);
|
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,FALSE);
|
||||||
movimentato = sld.significativo();
|
movimentato = sld.significativo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2524,7 +2524,7 @@ void TStampaBilanciCDC_application::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,TRUE);
|
saldo_iniziale = sld.saldofin_esprec(anno,g,c,codcf,FALSE);
|
||||||
|
|
||||||
if (movimentato)
|
if (movimentato)
|
||||||
saldo_iniziale = sld.saldoini();
|
saldo_iniziale = sld.saldoini();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user