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 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,6 +3205,8 @@ 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
if (!_cdc && !_movcas_print)
{
saldi.setkey(2); saldi.setkey(2);
saldi.zero(); saldi.zero();
saldi.put(SLD_GRUPPO, _gruppo); saldi.put(SLD_GRUPPO, _gruppo);
@ -3297,7 +3289,7 @@ void TMastrini_application::calcola_progressivi()
const TRecnotype pos = saldi.recno(); const TRecnotype pos = saldi.recno();
// W96SALDI del 18-07-96 saldofin_esprec usa il flag TRUE xche' deve // W96SALDI del 18-07-96 saldofin_esprec usa il flag TRUE xche' deve
// considerare anche il saldo finale // 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); saldi.readat(pos);
if (saldo> ZERO) if (saldo> ZERO)
@ -3313,6 +3305,7 @@ void TMastrini_application::calcola_progressivi()
} }
} }
} }
} // If (!_movcas_print && !_cdc)
calcola_progressivi_al(); 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) 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();