Patch level : 12.0 618

Files correlati     :
Commento            : np0.exe npmenu.men

Corretti saldi iniziali  mastrini per contabilità separata.
Aggiunta chiusura al menu
This commit is contained in:
AlexBonazzi 2018-08-26 08:55:04 +02:00
parent 63a708a083
commit fb98823f08
3 changed files with 97 additions and 40 deletions

View File

@ -97,7 +97,7 @@ class TMastrini_application : public TPrintapp
TString _descrizione,_sezione,_numdoc,_descrizionemov,_numrivd,_descr; TString _descrizione,_sezione,_numdoc,_descrizionemov,_numrivd,_descr;
TString _dataregs, _datadocs; TString _dataregs, _datadocs;
int _gruppocontr,_contocontr,_nummast,_pagina; int _gruppocontr,_contocontr,_nummast,_pagina;
#ifdef _CONT_SEP #ifdef CONT_SEP
TString _cont_sep; TString _cont_sep;
#endif #endif
long _sottocontocontr; long _sottocontocontr;
@ -1451,7 +1451,10 @@ bool TMastrini_application::preprocess_page(int file, int counter)
_dataregs = _datareg_stampa.string(); _dataregs = _datareg_stampa.string();
#ifdef CONT_SEP
if (_cont_sep.full() && _cont_sep != mov.get(MOV_CONTSEP))
return false;
#endif
if ((_stampa_mov_prov)||((!_stampa_mov_prov)&&(provvis.blank()))) if ((_stampa_mov_prov)||((!_stampa_mov_prov)&&(provvis.blank())))
{ {
if ((_datareg >= _data_ini) && (_datareg <= _data_fine)) if ((_datareg >= _data_ini) && (_datareg <= _data_fine))
@ -2257,15 +2260,15 @@ bool TMastrini_application::set_print(int m)
// altrimenti estrae il primo elemento sovrascrivendo la maschera corrente. // altrimenti estrae il primo elemento sovrascrivendo la maschera corrente.
// Questa figata cerca di correggere gli errori MI6185 e MI3592 in una botta // Questa figata cerca di correggere gli errori MI6185 e MI3592 in una botta
#ifdef CONT_SEP #ifdef CONT_SEP
TString cont_sep = _msk->get(F_CONTSEP); _cont_sep = _msk->get(F_CONTSEP);
if (cont_sep.full()) /* if (_cont_sep.full())
{ {
TString filter("(FLSCA!=\" \")"); TString filter("(FLSCA!=\" \")");
filter << "&&(CONTSEP==\"" << cont_sep << "\")"; filter << "&&(" << LF_MOV << "->CONTSEP==\"" << _cont_sep << "\")";
current_cursor()->setfilter(filter); current_cursor()->setfilter(filter);
} } */
#endif #endif
TSheet_field& sht = _msk->sfield(F_SCELTE); TSheet_field& sht = _msk->sfield(F_SCELTE);
if (sht.items() != 0) if (sht.items() != 0)
@ -2933,13 +2936,15 @@ void TMastrini_application::calcola_progressivi_al(const TDate& data_fin)
const TDate data_inizio = _annomsk ? _data_inizioese : _inizioes; const TDate data_inizio = _annomsk ? _data_inizioese : _inizioes;
if (_annomsk == _last_year && data_inizio == _last_inizio && data_fin == _last_date && #ifndef CONT_SEP
if (_annomsk == _last_year && data_inizio == _last_inizio && data_fin == _last_date &&
_last_provv == _stampa_mov_prov && _last_bill == TBill(_gruppo, _conto, _sottoc)) _last_provv == _stampa_mov_prov && _last_bill == TBill(_gruppo, _conto, _sottoc))
{ {
_totale_prima_dare = _last_dare; _totale_prima_dare = _last_dare;
_totale_prima_avere = _last_avere; _totale_prima_avere = _last_avere;
return; return;
} }
#endif
TLocalisamfile& rmov_file = current_cursor()->file(LF_RMOV); TLocalisamfile& rmov_file = current_cursor()->file(LF_RMOV);
const TRecnotype record = rmov_file.recno(); const TRecnotype record = rmov_file.recno();
@ -2969,15 +2974,18 @@ void TMastrini_application::calcola_progressivi_al(const TDate& data_fin)
const TDate datareg = mov.get_date(_annomsk ? MOV_DATACOMP : RMV_DATAREG); const TDate datareg = mov.get_date(_annomsk ? MOV_DATACOMP : RMV_DATAREG);
//Legge movimenti con data > inizio esercizio e < data_fin //Legge movimenti con data > inizio esercizio e < data_fin
if (((annoes==_annomsk)||(_annomsk == 0))&&(datareg >= data_inizio)&&(datareg <= data_fin)) #ifdef CONT_SEP
{ if (_cont_sep.blank() || _cont_sep == mov.get(MOV_CONTSEP))
const char sezione = rmov.get_char(RMV_SEZIONE); #endif
const real importo = rmov.get_real(RMV_IMPORTO); if (((annoes==_annomsk)||(_annomsk == 0))&&(datareg >= data_inizio)&&(datareg <= data_fin))
if (sezione == 'D') {
_totale_prima_dare += importo; const char sezione = rmov.get_char(RMV_SEZIONE);
else const real importo = rmov.get_real(RMV_IMPORTO);
_totale_prima_avere += importo; if (sezione == 'D')
} _totale_prima_dare += importo;
else
_totale_prima_avere += importo;
}
} }
} }
@ -3026,6 +3034,15 @@ void TMastrini_application::calcola_progressivi(bool finali)
//Calcola i progressivi dell'esercizio attuale //Calcola i progressivi dell'esercizio attuale
if (annoes_saldi == _anno_corrente) if (annoes_saldi == _anno_corrente)
{ {
#ifdef CONT_SEP
TDate datalim;
_sld->saldo_cont_sep(_gruppo, _conto, _sottoc, annoes_saldi, esercizi().esercizio(annoes_saldi).fine(), _indbil, _cont_sep, _stampa_mov_prov);
saldo = _sld->saldo();
saldoini_attuale = saldo;
saldofine_attuale = _sld->saldofin();
#else
progdare_attuale = saldi.get_real(SLD_PDARE); progdare_attuale = saldi.get_real(SLD_PDARE);
progavere_attuale = saldi.get_real(SLD_PAVERE); progavere_attuale = saldi.get_real(SLD_PAVERE);
if (_stampa_mov_prov) if (_stampa_mov_prov)
@ -3035,13 +3052,14 @@ void TMastrini_application::calcola_progressivi(bool finali)
} }
saldo = saldi.get_real(SLD_SALDO); saldo = saldi.get_real(SLD_SALDO);
salini = saldi.get(SLD_FLAGSALINI)[0]; saldoini_attuale = saldi.get_real(SLD_SALDO);
_ultima_data_reg = saldi.get_date(SLD_DATAULMOV); saldofine_attuale = saldi.get_real(SLD_SALDOFIN);
saldoini_attuale = saldi.get_real(SLD_SALDO); #endif
salini_attuale = saldi.get_char(SLD_FLAGSALINI); salini = saldi.get(SLD_FLAGSALINI)[0];
saldofine_attuale = saldi.get_real(SLD_SALDOFIN); _ultima_data_reg = saldi.get_date(SLD_DATAULMOV);
salfine_attuale = saldi.get_char(SLD_FLAGSALFIN); salini_attuale = saldi.get_char(SLD_FLAGSALINI);
} salfine_attuale = saldi.get_char(SLD_FLAGSALFIN);
}
} // if (!saldi.get_bool(SLD_FLSCA)) } // if (!saldi.get_bool(SLD_FLSCA))
} // FOR } // FOR
@ -3051,24 +3069,38 @@ void TMastrini_application::calcola_progressivi(bool finali)
if (_annomsk != 0) if (_annomsk != 0)
{ {
if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5)) if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5))
{ {
const TRecnotype pos = saldi.recno(); const TRecnotype pos = saldi.recno();
#ifdef CONT_SEP
const int esp = esercizi().pred(_anno_corrente);
_sld->saldo_cont_sep(_gruppo, _conto, _sottoc, esp, esercizi().esercizio(esp).fine(), _indbil, _cont_sep, _stampa_mov_prov, true);
saldo = _sld->saldo();
#else
// 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, _stampa_mov_prov); saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE, _stampa_mov_prov);
saldi.readat(pos); #endif
saldi.readat(pos);
if (saldo > ZERO)
{ if (saldo > ZERO)
progredare_eseprec = saldo; {
progdare_prec = saldo; progredare_eseprec = saldo;
} progdare_prec = saldo;
else if (saldo < ZERO) progreavere_eseprec = ZERO;
{ progavere_prec = ZERO;
saldo = -saldo;
progreavere_eseprec = saldo; }
progavere_prec = saldo; else if (saldo < ZERO)
} {
progredare_eseprec = ZERO;
progdare_prec = ZERO;
saldo = -saldo;
progreavere_eseprec = saldo;
progavere_prec = saldo;
}
} }
} }
@ -3699,6 +3731,7 @@ bool TMastrini_application::user_create()
exp.add("CONTO=CONTO"); exp.add("CONTO=CONTO");
exp.add("SOTTOCONTO=SOTTOCONTO"); exp.add("SOTTOCONTO=SOTTOCONTO");
_rel->add(LF_RMOV,exp,2,LF_SALDI); _rel->add(LF_RMOV,exp,2,LF_SALDI);
_rel->add(LF_MOV, "NUMREG==NUMREG", 1, LF_RMOV);
_rel->add("CMS", "CODTAB==CODCMS", 1, LF_RMOV, 501); _rel->add("CMS", "CODTAB==CODCMS", 1, LF_RMOV, 501);
_rel->add("FSC", "CODTAB==FASCMS", 1, LF_RMOV, 502); _rel->add("FSC", "CODTAB==FASCMS", 1, LF_RMOV, 502);

View File

@ -344,7 +344,29 @@ void TMastrino::read(const TBill& conto,
// vanno dall'inizio dell'esercizio al giorno precedente // vanno dall'inizio dell'esercizio al giorno precedente
// la data di inizio stampa // la data di inizio stampa
TBalance saldo(_conto, ae, true, provvis); #ifdef CONT_SEP
TSaldo saldo;
int aep = esercizi.pred(ae);
saldo.saldo_cont_sep(_conto.gruppo(), _conto.conto(), _conto.sottoconto(), aep, esercizi.esercizio(aep).fine(), _conto.indicatore_bilancio(), app().query_mask().get(F_CONTSEP), provvis, true);
real saldoini = saldo.saldo();
if (saldoini > ZERO)
{
_pdare_ini = saldoini;
_pavere_ini = ZERO;
}
else
{
_pdare_ini = ZERO;
_pavere_ini = -saldoini;
}
// Valori dei saldi finali:
// Comprendono i movimenti di apertura, chiusura ed i progressivi attuali
_pdare_fin = saldo.prgdare();
_pavere_fin = saldo.prgavere();
#else
TBalance saldo(_conto, ae, true, provvis);
_pdare_ini = saldo.progressivo_dare_iniziale(); _pdare_ini = saldo.progressivo_dare_iniziale();
_pavere_ini = saldo.progressivo_avere_iniziale(); _pavere_ini = saldo.progressivo_avere_iniziale();
@ -353,6 +375,7 @@ void TMastrino::read(const TBill& conto,
saldo.read(_conto, ae, false, provvis); saldo.read(_conto, ae, false, provvis);
_pdare_fin = saldo.progressivo_dare_finale(); _pdare_fin = saldo.progressivo_dare_finale();
_pavere_fin = saldo.progressivo_avere_finale(); _pavere_fin = saldo.progressivo_avere_finale();
#endif
// Valori dei saldi del perido in esame: // Valori dei saldi del perido in esame:
// Vengono inizializzati a zero e poi si incrementa man mano // Vengono inizializzati a zero e poi si incrementa man mano

View File

@ -4,7 +4,8 @@ Picture = <cg01>
Module = 2 Module = 2
Flags = "" Flags = ""
Item_01 = "Tabelle ditta", [NPMENU_002] Item_01 = "Tabelle ditta", [NPMENU_002]
Item_01 = "Stampe", [NPMENU_003] Item_02 = "Stampe", [NPMENU_003]
Item_03 = "Apertura/Chiusura", "np0 -1", "F"
[NPMENU_002] [NPMENU_002]
Caption = "Tabelle ditta" Caption = "Tabelle ditta"