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:
angelo 1997-07-31 14:43:20 +00:00
parent 71067401ae
commit ace3ea0609
2 changed files with 99 additions and 106 deletions

View File

@ -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,6 +3205,8 @@ 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
if (!_cdc && !_movcas_print)
{
saldi.setkey(2);
saldi.zero();
saldi.put(SLD_GRUPPO, _gruppo);
@ -3297,7 +3289,7 @@ void TMastrini_application::calcola_progressivi()
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);
saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE);
saldi.readat(pos);
if (saldo> ZERO)
@ -3313,6 +3305,7 @@ void TMastrini_application::calcola_progressivi()
}
}
}
} // If (!_movcas_print && !_cdc)
calcola_progressivi_al();

View File

@ -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();