Correzione errori
git-svn-id: svn://10.65.10.50/trunk@2077 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0dc01b5fff
commit
64affc68db
@ -278,7 +278,7 @@ void CG0400_application::look_pim()
|
||||
if (tipoiva == "VE") continue; //i codici iva di tipo "VE"
|
||||
//Fine //non devono essere stampati
|
||||
|
||||
while (classify_pim(pim.curr(), imponibile, imposta, tipo))
|
||||
while (classify_pim(pim.curr(), imponibile, imposta, tipo, TRUE))
|
||||
{
|
||||
switch(tipo)
|
||||
{
|
||||
@ -352,7 +352,7 @@ void CG0400_application::cerca_i_pim()
|
||||
|
||||
impo = impos = ZERO;
|
||||
|
||||
while (classify_pim(pim.curr(), imponibile, imposta, tipo))
|
||||
while (classify_pim(pim.curr(), imponibile, imposta, tipo, FALSE))
|
||||
{
|
||||
switch(tipo)
|
||||
{
|
||||
@ -1014,7 +1014,7 @@ void CG0400_application::preprocess_header()
|
||||
/*
|
||||
set_header (soh++, "Riepilogo progressivi IVA del periodo %s %d Cod. Att. %s %s", itom(_mese), _anno, (const char*) _cod_att, (const char*) descr);
|
||||
set_header (soh++, (const char *) sep);
|
||||
*/
|
||||
*/
|
||||
if (_st_inizio_anno)
|
||||
{
|
||||
if (_prima_pagina)
|
||||
|
274
cg/cg1500.cpp
274
cg/cg1500.cpp
@ -130,6 +130,7 @@ public:
|
||||
bool calcola(int,int,long);
|
||||
void leggi_pcon(); // Inizializza i TArray C/F
|
||||
void crea_sort_clifo();
|
||||
void leggi_clifo(const TArray&);
|
||||
void init_sort();
|
||||
void leggi_sort();
|
||||
void riempi_record(char,int,int,long,const char*,const real&,
|
||||
@ -1646,7 +1647,7 @@ bool CG1500_application::calcola(int g, int c, long s)
|
||||
}
|
||||
}
|
||||
else if (_datada > _dataini) //calcolo i progressivi precedenti
|
||||
if ( (data_reg >= _dataini) && (data_reg <= _datada) )
|
||||
if ( (data_reg >= _dataini) && (data_reg < _datada) )
|
||||
{
|
||||
if (sezione == 'D')
|
||||
_prg_prec_dare += importo;
|
||||
@ -1977,6 +1978,7 @@ void CG1500_application::riempi_record(char t,int g,int c,long s,
|
||||
_sort->sort((const char*)_cf);
|
||||
}
|
||||
|
||||
/*
|
||||
void CG1500_application::crea_sort_clifo()
|
||||
{
|
||||
TSaldo sld;
|
||||
@ -2217,11 +2219,258 @@ void CG1500_application::crea_sort_clifo()
|
||||
riempi_record(tipocfp,_gp,_cp,999999L,"zzzz",prg_conto_dare,prg_conto_avere,
|
||||
mov_conto_dare,mov_conto_avere,saldo_conto);
|
||||
}
|
||||
*/
|
||||
|
||||
void CG1500_application::leggi_clifo(const TArray& gccf)
|
||||
{
|
||||
TSaldo sld;
|
||||
TLocalisamfile saldi(LF_SALDI, FALSE);
|
||||
int g=0, c=0;
|
||||
long codcf=0l;
|
||||
TString80 ragsoc;
|
||||
char tipocf,tipocfp,tipoa;
|
||||
real saldo_finale, saldo_conto, saldo_iniziale, saldodare, saldoavere,
|
||||
movdare, movavere;
|
||||
real mov_conto_dare, mov_conto_avere, prg_conto_dare, prg_conto_avere;
|
||||
bool esiste_sc = FALSE, movimentato = FALSE;
|
||||
TRecnotype items = _cur->items();
|
||||
|
||||
_gp=-1;
|
||||
_cp=-1;
|
||||
tipocfp = ' ';
|
||||
|
||||
_saldo_ini_conto_dare = ZERO;
|
||||
_saldo_ini_conto_avere = ZERO;
|
||||
saldo_conto = ZERO;
|
||||
mov_conto_dare = ZERO;
|
||||
mov_conto_avere = ZERO;
|
||||
prg_conto_dare = ZERO;
|
||||
prg_conto_avere = ZERO;
|
||||
_u_max = 0l;
|
||||
|
||||
int anno;
|
||||
if (_tipo_stampa1 == 1)
|
||||
anno = _annoapp;
|
||||
else anno = _annoes;
|
||||
|
||||
for (int i=0; i < gccf.items(); i++)
|
||||
{
|
||||
int g = ((TToken_string&)gccf[i]).get_int(0);
|
||||
int c = ((TToken_string&)gccf[i]).get_int(1);
|
||||
|
||||
*_cur = 0l;
|
||||
for (int i = 0; i < items; i++,++(*_cur))
|
||||
{
|
||||
_prog->addstatus(1);
|
||||
codcf = _cur->curr().get_long(CLI_CODCF);
|
||||
tipocf = _cur->curr().get(CLI_TIPOCF)[0];
|
||||
ragsoc = _cur->curr().get(CLI_RAGSOC);
|
||||
tipoa = _cur->curr().get_char(CLI_TIPOAPER);
|
||||
if (tipoa == 'F') //persona fisica
|
||||
{
|
||||
TString80 cognome, nome;
|
||||
cognome = ragsoc.mid(0,30);
|
||||
nome = ragsoc.mid(30,20);
|
||||
cognome.trim(); nome.trim();
|
||||
ragsoc = cognome;
|
||||
ragsoc << " " << nome;
|
||||
}
|
||||
int aprec = EsePre(anno);
|
||||
saldi.zero();
|
||||
saldi.put(SLD_ANNOES, anno);
|
||||
saldi.put(SLD_GRUPPO, g);
|
||||
saldi.put(SLD_CONTO, c);
|
||||
saldi.put(SLD_SOTTOCONTO, codcf);
|
||||
if (saldi.read() != NOERR)
|
||||
if (_tipo_stampa1 == 1) //bilancio per data limite
|
||||
continue;
|
||||
else if (_stampac == 2) //se sono richiesti i conti movimentati
|
||||
{ //esco, se no...
|
||||
_indbil = cerca_indbil(g,c);
|
||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||
{
|
||||
saldi.zero();
|
||||
saldi.put(SLD_ANNOES, aprec);
|
||||
saldi.put(SLD_GRUPPO, g);
|
||||
saldi.put(SLD_CONTO, c);
|
||||
saldi.put(SLD_SOTTOCONTO, codcf);
|
||||
if (saldi.read() != NOERR)
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( (((_cp != -1) && (c != _cp)) || ((_gp != -1) && (g != _gp))) &&
|
||||
esiste_sc )
|
||||
{
|
||||
//scrivo il record del conto;
|
||||
riempi_record(tipocfp,_gp,_cp,999999L,"zzzz",prg_conto_dare,
|
||||
prg_conto_avere,mov_conto_dare,mov_conto_avere,saldo_conto);
|
||||
tipocfp = tipocf;
|
||||
_cp = c;
|
||||
esiste_sc = FALSE;
|
||||
_saldo_ini_conto_dare = ZERO;
|
||||
_saldo_ini_conto_avere = ZERO;
|
||||
saldo_conto = ZERO;
|
||||
mov_conto_dare = ZERO;
|
||||
mov_conto_avere = ZERO;
|
||||
prg_conto_dare = ZERO;
|
||||
prg_conto_avere = ZERO;
|
||||
}
|
||||
|
||||
saldo_finale = ZERO;
|
||||
saldodare = ZERO;
|
||||
saldoavere = ZERO;
|
||||
movdare = ZERO;
|
||||
movavere = ZERO;
|
||||
|
||||
if (_tipo_stampa1 == 1) //bilancio di verifica per data limite
|
||||
{
|
||||
//modifica del 19/06/95
|
||||
_indbil = cerca_indbil(g,c);
|
||||
movimentato = calcola(g,c,codcf);
|
||||
if (_stampa_mov_prov != 3)
|
||||
if (!movimentato && _stampac!=1)
|
||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||
if (_annoes != 0) //cioe' se sto ragionando per competenza
|
||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,codcf);
|
||||
|
||||
if (movimentato)
|
||||
{
|
||||
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
|
||||
TLocalisamfile saldi(LF_SALDI);
|
||||
saldi.zero();
|
||||
saldi.put(SLD_ANNOES,_annoes);
|
||||
saldi.put(SLD_GRUPPO,g);
|
||||
saldi.put(SLD_CONTO,c);
|
||||
saldi.put(SLD_SOTTOCONTO,codcf);
|
||||
if (saldi.read() == NOERR)
|
||||
{
|
||||
real s = saldi.get_real(SLD_SALDO);
|
||||
if (_stampa_mov_prov != 3)
|
||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||
if (s == ZERO && _annoes != 0) //competenza!!!
|
||||
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,codcf);
|
||||
}
|
||||
}
|
||||
//fine modifica
|
||||
//movimentato = calcola(g,c,codcf);
|
||||
if (movimentato || _stampac != 1)
|
||||
{
|
||||
if (_datada == _dataini)
|
||||
saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
|
||||
else if (_datada > _dataini)
|
||||
{
|
||||
//modifica del 19/06
|
||||
if (saldo_iniziale > 0)
|
||||
_prg_prec_dare += saldo_iniziale;
|
||||
else _prg_prec_avere -= saldo_iniziale;
|
||||
//fine modifica
|
||||
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare
|
||||
-_mov_periodo_avere;
|
||||
}
|
||||
}
|
||||
//if (saldo_finale == ZERO)
|
||||
// if (_stampac == 2)
|
||||
// continue;
|
||||
|
||||
//se saldo_finale < 0 verra' stampato con una A, se no con una D
|
||||
}
|
||||
else //bilancio di verifica all'ultima immissione
|
||||
{
|
||||
_indbil = cerca_indbil(g,c);
|
||||
movimentato = sld.ultima_immissione_verifica(anno,g,c,codcf,_indbil,_stampa_mov_prov);
|
||||
|
||||
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);
|
||||
|
||||
if (movimentato)
|
||||
saldo_iniziale = sld.saldoini();
|
||||
|
||||
if (movimentato || _stampac != 1)
|
||||
{
|
||||
_mov_periodo_dare = sld.prgdare();
|
||||
_mov_periodo_avere = sld.prgavere();
|
||||
_prg_prec_dare = ZERO;
|
||||
_prg_prec_avere = ZERO;
|
||||
|
||||
saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
|
||||
}
|
||||
//if (saldo_finale == ZERO)
|
||||
// if (_stampac == 2)
|
||||
// continue;
|
||||
}
|
||||
if (movimentato || _stampac != 1)
|
||||
if (!(saldo_finale == ZERO && _stampac == 2))
|
||||
{
|
||||
esiste_sc = TRUE;
|
||||
|
||||
if (saldo_iniziale < ZERO)
|
||||
_saldo_ini_conto_avere += saldo_iniziale;
|
||||
else
|
||||
_saldo_ini_conto_dare += saldo_iniziale;
|
||||
mov_conto_dare += _mov_periodo_dare;
|
||||
mov_conto_avere += _mov_periodo_avere;
|
||||
prg_conto_dare += _prg_prec_dare;
|
||||
prg_conto_avere += _prg_prec_avere;
|
||||
saldo_conto += saldo_finale; // somma algebrica!!!
|
||||
|
||||
if ( (_datada == _dataini)||(_tipo_stampa1 != 1) )
|
||||
{
|
||||
if (saldo_iniziale > ZERO) //va stampato in Dare
|
||||
saldodare = saldo_iniziale;
|
||||
else if (saldo_iniziale < ZERO)
|
||||
{
|
||||
saldo_iniziale = -saldo_iniziale;
|
||||
saldoavere = saldo_iniziale;
|
||||
}
|
||||
}
|
||||
else if (_datada > _dataini)
|
||||
{
|
||||
saldodare = _prg_prec_dare;
|
||||
saldoavere = _prg_prec_avere;
|
||||
}
|
||||
|
||||
movdare = _mov_periodo_dare;
|
||||
movavere = _mov_periodo_avere;
|
||||
|
||||
riempi_record(tipocf,g,c,codcf,ragsoc,saldodare,saldoavere,movdare,
|
||||
movavere,saldo_finale);
|
||||
tipocfp = tipocf;
|
||||
_gp = g;
|
||||
_cp = c;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (esiste_sc)
|
||||
riempi_record(tipocfp,_gp,_cp,999999L,"zzzz",prg_conto_dare,prg_conto_avere,
|
||||
mov_conto_dare,mov_conto_avere,saldo_conto);
|
||||
}
|
||||
|
||||
void CG1500_application::crea_sort_clifo()
|
||||
{
|
||||
long ncur = _cur->items();
|
||||
//serve solo per la progind: stima alla meno peggio
|
||||
if (_situazione.empty()) ncur /= 2;
|
||||
long nitems = ncur*(_clienti.items()+_fornitori.items());
|
||||
_prog = new TProgind(nitems,"Elaborazione in corso... prego attendere",FALSE);
|
||||
_prog->addstatus(1);
|
||||
init_sort();
|
||||
if (_situazione == "C") leggi_clifo(_clienti);
|
||||
else if (_situazione == "F") leggi_clifo(_fornitori);
|
||||
else
|
||||
{
|
||||
_cur->setfilter("TIPOCF = \"C\"");
|
||||
leggi_clifo(_clienti);
|
||||
_cur->setfilter("TIPOCF = \"F\"");
|
||||
leggi_clifo(_fornitori);
|
||||
}
|
||||
}
|
||||
|
||||
int CG1500_application::cerca_indbil(int g, int c)
|
||||
{
|
||||
TLocalisamfile pconti(LF_PCON);
|
||||
|
||||
pconti.zero();
|
||||
pconti.put(PCN_GRUPPO,g);
|
||||
if (c != 0)
|
||||
@ -3320,18 +3569,20 @@ void CG1500_application::leggi_pcon()
|
||||
if ( (sottoconto == 0l) && (conto != 0) ) //si tratta di un conto
|
||||
{
|
||||
char tipocf = pconti.get_char(PCN_TMCF);
|
||||
if (tipocf == 'C')
|
||||
if ( tipocf == 'C' &&
|
||||
(_situazione.empty() || _situazione == "C") )
|
||||
{
|
||||
gc.add(gruppo,0);
|
||||
gc.add(conto,1);
|
||||
_clienti.add(gc);
|
||||
}
|
||||
else if (tipocf == 'F')
|
||||
gc.add(gruppo,0);
|
||||
gc.add(conto,1);
|
||||
_clienti.add(gc);
|
||||
}
|
||||
else if ( tipocf == 'F' &&
|
||||
(_situazione.empty() || _situazione == "F") )
|
||||
{
|
||||
gc.add(gruppo,0);
|
||||
gc.add(conto,1);
|
||||
_fornitori.add(gc);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3347,7 +3598,7 @@ bool CG1500_application::set_print(int)
|
||||
_causale_ap = conf.get("CoCaAp");
|
||||
_causale_chi = conf.get("CoCaCh");
|
||||
}
|
||||
*/
|
||||
*/
|
||||
m.set_handler (F_VERIFICA, my_handler);
|
||||
m.set_handler (F_BILANCIO, mask_bilancio);
|
||||
m.set_handler (F_STAMPA1, mask_bilancio);
|
||||
@ -3383,6 +3634,7 @@ bool CG1500_application::set_print(int)
|
||||
}
|
||||
else
|
||||
{
|
||||
printer().footerlen(5);
|
||||
_stampa_width = atoi(m.get(F_MODULO));
|
||||
if (_stampa_width == 1)
|
||||
_stampa_width = 132;
|
||||
@ -3418,7 +3670,7 @@ bool CG1500_application::set_print(int)
|
||||
else
|
||||
_cur->setfilter("");
|
||||
|
||||
_prog = new TProgind(_cur->items(),"Elaborazione in corso... prego attendere",FALSE);
|
||||
//_prog = new TProgind(_cur->items(),"Elaborazione in corso... prego attendere",FALSE);
|
||||
|
||||
_clienti.destroy();
|
||||
_fornitori.destroy();
|
||||
|
@ -2824,52 +2824,54 @@ void TMastrini_application::calcola_progressivi_al()
|
||||
real importo;
|
||||
TDate data;
|
||||
|
||||
|
||||
record = rmov.recno();
|
||||
rmov.zero();
|
||||
rmov.put(RMV_GRUPPO, _gruppo);
|
||||
rmov.put(RMV_CONTO, _conto);
|
||||
rmov.put(RMV_SOTTOCONTO, _sottoc);
|
||||
for (rmov.read();!rmov.eof() ;rmov.next())
|
||||
_totale_prima_dare = ZERO;
|
||||
_totale_prima_avere = ZERO;
|
||||
|
||||
record = rmov.recno();
|
||||
rmov.zero();
|
||||
rmov.put(RMV_GRUPPO, _gruppo);
|
||||
rmov.put(RMV_CONTO, _conto);
|
||||
rmov.put(RMV_SOTTOCONTO, _sottoc);
|
||||
for (rmov.read();!rmov.eof() ;rmov.next())
|
||||
{
|
||||
annoes = rmov.get_int (RMV_ANNOES);
|
||||
datareg = rmov.get_date(RMV_DATAREG);
|
||||
sezione = rmov.get (RMV_SEZIONE)[0];
|
||||
importo = rmov.get_real(RMV_IMPORTO);
|
||||
long numreg = rmov.get_long(RMV_NUMREG);
|
||||
|
||||
_mov->setkey(1);
|
||||
_mov->curr().zero();
|
||||
_mov->curr().put(MOV_NUMREG,numreg);
|
||||
_mov->read();
|
||||
if (_mov->bad())
|
||||
_mov->zero();
|
||||
datacomp = (_mov->curr().get(MOV_DATACOMP));
|
||||
|
||||
if (_annomsk == 0)
|
||||
{
|
||||
annoes = rmov.get_int (RMV_ANNOES);
|
||||
datareg = rmov.get_date(RMV_DATAREG);
|
||||
sezione = rmov.get (RMV_SEZIONE)[0];
|
||||
importo = rmov.get_real(RMV_IMPORTO);
|
||||
long numreg = rmov.get_long(RMV_NUMREG);
|
||||
|
||||
_mov->setkey(1);
|
||||
_mov->curr().zero();
|
||||
_mov->curr().put(MOV_NUMREG,numreg);
|
||||
_mov->read();
|
||||
if (_mov->bad())
|
||||
_mov->zero();
|
||||
datacomp = (_mov->curr().get(MOV_DATACOMP));
|
||||
|
||||
if (_annomsk == 0)
|
||||
datareg = rmov.get_date(RMV_DATAREG);
|
||||
data = _inizioes;
|
||||
}
|
||||
else
|
||||
if (_annomsk != 0)
|
||||
{
|
||||
datareg = rmov.get_date(RMV_DATAREG);
|
||||
data = _inizioes;
|
||||
}
|
||||
else
|
||||
if (_annomsk != 0)
|
||||
{
|
||||
datareg = datacomp;
|
||||
data = _data_inizioese;
|
||||
}
|
||||
datareg = datacomp;
|
||||
data = _data_inizioese;
|
||||
}
|
||||
|
||||
gruppo = rmov.get_int(RMV_GRUPPO);
|
||||
conto = rmov.get_int(RMV_CONTO);
|
||||
sottoc = rmov.get_long(RMV_SOTTOCONTO);
|
||||
if ((gruppo != _gruppo)||(conto != _conto)||(sottoc != _sottoc))
|
||||
break;
|
||||
else if (((annoes==_annomsk)||(_annomsk == 0))&&(datareg >= data)&&(datareg < _data_ini)) //Legge movimenti con data < data iniziale
|
||||
if (sezione == 'D')
|
||||
_totale_prima_dare += importo;
|
||||
else if (sezione == 'A')
|
||||
_totale_prima_avere += importo;
|
||||
}
|
||||
rmov.readat(record);
|
||||
gruppo = rmov.get_int(RMV_GRUPPO);
|
||||
conto = rmov.get_int(RMV_CONTO);
|
||||
sottoc = rmov.get_long(RMV_SOTTOCONTO);
|
||||
if ((gruppo != _gruppo)||(conto != _conto)||(sottoc != _sottoc))
|
||||
break;
|
||||
else if (((annoes==_annomsk)||(_annomsk == 0))&&(datareg >= data)&&(datareg < _data_ini)) //Legge movimenti con data < data iniziale
|
||||
if (sezione == 'D')
|
||||
_totale_prima_dare += importo;
|
||||
else if (sezione == 'A')
|
||||
_totale_prima_avere += importo;
|
||||
}
|
||||
rmov.readat(record);
|
||||
}
|
||||
|
||||
void TMastrini_application::calcola_progressivi()
|
||||
|
@ -1678,8 +1678,9 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
* Ulteriormente smentito e rettificato
|
||||
*/
|
||||
//if (_isintr && month < 13)
|
||||
if ((_isintr && ( (month == 13 && !(_isbenzinaro && _gest4)) ||
|
||||
(month != 12 || (_isbenzinaro && _gest4)) )))
|
||||
bool true_trim = (month == 3 || month == 6 || month == 9);
|
||||
if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
|
||||
|| (month == 13 && !(_isbenzinaro && _gest4)) ))
|
||||
{
|
||||
real interesse = interesse_trimestrale(_month);
|
||||
real ivi = risultato * (interesse / CENTO);
|
||||
@ -1689,8 +1690,8 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
|
||||
//questo serve anche per la visualizzazione e per l'estrazione deleghe
|
||||
//if (_isintr && month < 13)
|
||||
if ((_isintr && ( (month == 13 && !(_isbenzinaro && _gest4)) ||
|
||||
(month != 12 || (_isbenzinaro && _gest4)) )))
|
||||
if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
|
||||
|| (month == 13 && !(_isbenzinaro && _gest4)) ))
|
||||
_lim->put("R10",interesse_trimestrale(_month));
|
||||
|
||||
// totale conguaglio su tutte le attivita'
|
||||
|
@ -854,6 +854,7 @@ _DescrItem* TLiquidazione_app::describe_deleghe(int month)
|
||||
|
||||
if (look_del(month,month == 13 ? 2 : 1,TRUE))
|
||||
{
|
||||
d->_f0 = (_del->get("S7").not_empty() || _del->get("S8").not_empty());
|
||||
if (_del->get_bool("B0"))
|
||||
{
|
||||
d->_s0 = _del->get("S2"); // ufficio iva/concessione
|
||||
@ -869,7 +870,8 @@ _DescrItem* TLiquidazione_app::describe_deleghe(int month)
|
||||
|| (_isannual && _freqviva == "T" && !(_isbenzinaro && _gest4)) )
|
||||
if (look_del(12,7,TRUE))
|
||||
{
|
||||
d->_s4 = "ACC";
|
||||
d->_s4 = "ACC";
|
||||
d->_f0 = (_del->get("S7").not_empty() || _del->get("S8").not_empty());
|
||||
TToken_string t;
|
||||
if (_del->get_bool("B0"))
|
||||
{
|
||||
@ -1641,7 +1643,7 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
|
||||
set_row(rw, "Versamento di L. %s effettuato il %s",
|
||||
(const char*)vr,
|
||||
(const char*)dt);
|
||||
if (abi.not_empty() || cab.not_empty())
|
||||
if (di._f0)
|
||||
{
|
||||
set_row(rw++, "@68gdiretto all'ufficio IVA di %s", (const char*)loc);
|
||||
set_row(rw++, "@68gtramite %s", (const char*)ban);
|
||||
@ -1661,7 +1663,7 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
|
||||
set_row(rw, "Versamento di L. %s effettuato il %s",
|
||||
(const char*)vr,
|
||||
(const char*)dt);
|
||||
if ((di._s2).not_empty() || (di._s3).not_empty())
|
||||
if (di._f0)
|
||||
{
|
||||
set_row(rw++, "@68gdiretto all'ufficio IVA di %s",
|
||||
(const char*)(di._s0));
|
||||
|
384
cg/cg4600.cpp
384
cg/cg4600.cpp
@ -58,9 +58,11 @@ public:
|
||||
void costi ();
|
||||
void ricavi();
|
||||
void chiudi_attivita();
|
||||
void chiudi_passivita();
|
||||
void chiudi_passivita();
|
||||
void chiudi_conti_ordine();
|
||||
void apri_attivita();
|
||||
void apri_passivita();
|
||||
void apri_passivita();
|
||||
void apri_conti_ordine();
|
||||
void rmov_proper (int, long, TDate&, TRectype&, TConto&, real&, bool);
|
||||
void ultima_registrazione();
|
||||
void compila_testata(int,TDate&,TString&);
|
||||
@ -563,7 +565,7 @@ bool CG4600_application::set()
|
||||
_tcutile.set (gutile,cutile,sutile);
|
||||
_tcperde.set (gperde,cperde,sperde);
|
||||
|
||||
long cicli = (_cur->items() * 6) + 4;
|
||||
long cicli = (_cur->items() * 8) + 4;
|
||||
_prog = new TProgind(cicli,"Chiusura/Apertura conti in corso... Prego attendere",FALSE);
|
||||
|
||||
//ultima_registrazione();
|
||||
@ -576,13 +578,13 @@ bool CG4600_application::set()
|
||||
_sld->set_anno_es(_annoesch);
|
||||
_sld->set_movprovv(FALSE);
|
||||
_sld->set_movap(FALSE);
|
||||
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
// _pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
costi ();
|
||||
|
||||
//_sld->reset(); //Azzera la tabella dei conti dell'oggetto TSaldo_agg
|
||||
//ultima_registrazione();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
// _pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
*_cur = 0l;
|
||||
|
||||
ricavi();
|
||||
@ -593,33 +595,44 @@ bool CG4600_application::set()
|
||||
//_sld->reset();
|
||||
|
||||
//ultima_registrazione();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
// _pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
*_cur = 0l;
|
||||
|
||||
chiudi_attivita();
|
||||
//_sld->reset();
|
||||
|
||||
//ultima_registrazione();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
// _pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
*_cur = 0l;
|
||||
|
||||
chiudi_passivita();
|
||||
//_sld->reset();
|
||||
//_sld->reset();
|
||||
|
||||
// _pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
*_cur = 0l;
|
||||
|
||||
chiudi_conti_ordine();
|
||||
|
||||
chiusura_conto_patrimoniale();
|
||||
_totale_saldo = ZERO;
|
||||
|
||||
_sld->set_anno_es(_annoesap);
|
||||
_sld->set_movap(TRUE);
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
// _pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
*_cur = 0l;
|
||||
|
||||
apri_attivita();
|
||||
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
// _pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
*_cur = 0l;
|
||||
|
||||
apri_passivita();
|
||||
|
||||
// _pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
*_cur = 0l;
|
||||
|
||||
apri_conti_ordine();
|
||||
|
||||
apertura_capitale_netto();
|
||||
|
||||
_sld->registra();
|
||||
@ -774,7 +787,7 @@ void CG4600_application::costi()
|
||||
if (tot_saldo != ZERO)
|
||||
rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE);
|
||||
_pn->write();
|
||||
_pn->destroy_rows(0); //Azzero l'oggetto pn.
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
j = 0;
|
||||
numrig = 1;
|
||||
@ -834,7 +847,7 @@ void CG4600_application::costi()
|
||||
_pn->write();
|
||||
//_sld->registra();
|
||||
j = 0;
|
||||
_pn->destroy_rows(0); //Azzero l'oggetto pn.
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
}
|
||||
} // if (indbil == 3)
|
||||
} // for pcon
|
||||
@ -926,7 +939,7 @@ void CG4600_application::ricavi()
|
||||
if (tot_saldo != ZERO)
|
||||
rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE);
|
||||
_pn->write();
|
||||
_pn->destroy_rows(0); //Azzero l'oggetto pn.
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
j = 0;
|
||||
numrig = 1;
|
||||
@ -986,7 +999,7 @@ void CG4600_application::ricavi()
|
||||
_pn->write();
|
||||
//_sld->registra();
|
||||
j = 0;
|
||||
_pn->destroy_rows(0); //Azzero l'oggetto pn.
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
}
|
||||
} // if (indbil == 4)
|
||||
} // for pcon
|
||||
@ -1015,7 +1028,8 @@ void CG4600_application::chiusura_conto_economico()
|
||||
TRectype& rmov2 = _pn->cg(j);
|
||||
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperde,_totale_saldo,FALSE);
|
||||
|
||||
_pn->write();
|
||||
_pn->write();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
//_sld->registra();
|
||||
//_sld->reset();
|
||||
|
||||
@ -1024,7 +1038,6 @@ void CG4600_application::chiusura_conto_economico()
|
||||
|
||||
j = 0;
|
||||
ultima_registrazione();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 4 Chiusura Capitale netto
|
||||
|
||||
@ -1037,6 +1050,7 @@ void CG4600_application::chiusura_conto_economico()
|
||||
rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcperdp,_totale_saldo,FALSE);
|
||||
|
||||
_pn->write();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
}
|
||||
else
|
||||
if (_totale_saldo < ZERO)
|
||||
@ -1048,7 +1062,6 @@ void CG4600_application::chiusura_conto_economico()
|
||||
|
||||
j = 0;
|
||||
ultima_registrazione();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 3 Chiusura Conto Economico
|
||||
|
||||
TRectype& rmov1 = _pn->cg(j);
|
||||
@ -1059,7 +1072,8 @@ void CG4600_application::chiusura_conto_economico()
|
||||
TRectype& rmov2 = _pn->cg(j);
|
||||
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcproper,_totale_saldo,TRUE);
|
||||
|
||||
_pn ->write();
|
||||
_pn ->write();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
//_sld->registra();
|
||||
//_sld->reset();
|
||||
|
||||
@ -1068,7 +1082,6 @@ void CG4600_application::chiusura_conto_economico()
|
||||
|
||||
j = 0;
|
||||
ultima_registrazione();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 4 Chiusura Capitale netto
|
||||
|
||||
TRectype& rmov3 = _pn->cg(j);
|
||||
@ -1079,7 +1092,8 @@ void CG4600_application::chiusura_conto_economico()
|
||||
TRectype& rmov4 = _pn->cg(j);
|
||||
rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcutile,_totale_saldo,TRUE);
|
||||
|
||||
_pn ->write();
|
||||
_pn ->write();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
}
|
||||
}
|
||||
|
||||
@ -1172,7 +1186,7 @@ void CG4600_application::chiudi_attivita()
|
||||
if (tot_saldo != ZERO)
|
||||
rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura
|
||||
_pn->write();
|
||||
_pn->destroy_rows(0); //Azzero l'oggetto pn.
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
j = 0;
|
||||
numrig = 1;
|
||||
@ -1234,7 +1248,7 @@ void CG4600_application::chiudi_attivita()
|
||||
//_sld->registra();
|
||||
//_sld->reset();
|
||||
j = 0;
|
||||
_pn->destroy_rows(0); //Azzero l'oggetto pn.
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
}
|
||||
} // if (indbil == 1)
|
||||
} // for pcon
|
||||
@ -1324,7 +1338,7 @@ void CG4600_application::chiudi_passivita()
|
||||
if (tot_saldo != ZERO)
|
||||
rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura
|
||||
_pn->write();
|
||||
_pn->destroy_rows(0); //Azzero l'oggetto pn.
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
j = 0;
|
||||
numrig = 1;
|
||||
@ -1386,12 +1400,162 @@ void CG4600_application::chiudi_passivita()
|
||||
//_sld->registra();
|
||||
//_sld->reset();
|
||||
j = 0;
|
||||
_pn->destroy_rows(0);
|
||||
_pn->destroy_rows(_numreg);
|
||||
}
|
||||
} // if (indbil == 2)
|
||||
} // for pcon
|
||||
}
|
||||
|
||||
void CG4600_application::chiudi_conti_ordine()
|
||||
{
|
||||
bool compila_mov = TRUE;
|
||||
long s;
|
||||
char sez_rmov = ' ', sezione = ' ';
|
||||
real tot_saldo;
|
||||
long numrig = 0;
|
||||
TSaldo& sale = *_sale;
|
||||
int j = 0;
|
||||
|
||||
tot_saldo = ZERO;
|
||||
|
||||
TRecnotype items_pcon = _cur->items();
|
||||
|
||||
for (int i = 0; i < items_pcon; i++, ++(*_cur))
|
||||
{
|
||||
int indbil = _cur->curr().get_int(PCN_INDBIL);
|
||||
int g = _cur->curr().get_int(PCN_GRUPPO);
|
||||
int c = _cur->curr().get_int(PCN_CONTO);
|
||||
TString tmcf = _cur->curr().get (PCN_TMCF);
|
||||
|
||||
_prog->addstatus(1);
|
||||
|
||||
if (indbil == 5)
|
||||
{
|
||||
compila_mov = TRUE;
|
||||
|
||||
_saldi->setkey(1);
|
||||
_saldi->zero();
|
||||
_saldi->put(SLD_ANNOES, _annoesch);
|
||||
_saldi->put(SLD_GRUPPO, g);
|
||||
_saldi->put(SLD_CONTO, c);
|
||||
|
||||
// TRectype rec (_saldi->curr());
|
||||
*_rec = _saldi->curr();
|
||||
|
||||
j = 0;
|
||||
numrig = 0;
|
||||
|
||||
for (_saldi->read(_isgteq); ; _saldi->next())
|
||||
{
|
||||
if (_saldi->curr() > (*_rec) || _saldi->eof())
|
||||
{
|
||||
// Aggiungo un ulteriore riga di movimento contenente la somma
|
||||
// di tutti i saldi aventi lo stesso conto, indicandola
|
||||
// con una sezione opposta al risultato (della somma).
|
||||
|
||||
if (j >= 1)
|
||||
{
|
||||
numrig++;
|
||||
if (tot_saldo != ZERO)
|
||||
rmov_proper(_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura
|
||||
|
||||
tot_saldo = ZERO;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (compila_mov)
|
||||
{
|
||||
ultima_registrazione();
|
||||
compila_testata(_annoesch,_dataregch,_codcausch);
|
||||
compila_mov = FALSE;
|
||||
}
|
||||
|
||||
s = _saldi->get_long(SLD_SOTTOCONTO);
|
||||
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1);
|
||||
_saldo = sale.saldo();
|
||||
const int dbkey = _saldi->getkey();
|
||||
_saldi->setkey(1);
|
||||
|
||||
if (_saldo == ZERO) continue;
|
||||
|
||||
numrig++;
|
||||
|
||||
if (j >= MAX || _saldi->eof())
|
||||
{
|
||||
// Aggiungo un ulteriore riga di movimento contenente la somma
|
||||
// di tutti i saldi aventi lo stesso sottoconto, indicandola
|
||||
// con una sezione opposta al risultato (della somma).
|
||||
|
||||
if (tot_saldo != ZERO)
|
||||
rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura
|
||||
_pn->write();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
j = 0;
|
||||
numrig = 1;
|
||||
ultima_registrazione();
|
||||
compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 5 Chiusura Attivita'
|
||||
compila_mov = FALSE;
|
||||
tot_saldo = ZERO;
|
||||
}
|
||||
|
||||
if (_saldo > ZERO)
|
||||
sezione = 'D';
|
||||
else
|
||||
if (_saldo < ZERO)
|
||||
{
|
||||
sezione = 'A';
|
||||
_saldo = -_saldo;
|
||||
}
|
||||
|
||||
if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli
|
||||
{ // importi trovati sui saldi. Quando ho
|
||||
sez_rmov = 'A'; // finito di leggere i sottoconti, oppure
|
||||
tot_saldo += _saldo; // quando ho raggiunto un massimo di 99
|
||||
_totale_saldo += _saldo;
|
||||
} // righe di movimento, genero un' altra
|
||||
else // riga con importo di sezione opposta
|
||||
if (sezione == 'A') // alla somma, mandando a zero
|
||||
{ // il saldo di quel movimento.
|
||||
sez_rmov = 'D';
|
||||
tot_saldo -= _saldo;
|
||||
_totale_saldo -= _saldo;
|
||||
}
|
||||
|
||||
if (!_saldi->eof())
|
||||
{
|
||||
TRectype& rmov = _pn->cg(j);
|
||||
|
||||
rmov.zero();
|
||||
rmov.put(RMV_ANNOES, _annoesch); //Compilo una riga di movimento
|
||||
rmov.put(RMV_DATAREG, _dataregch); //per ogni sottoconto che leggo
|
||||
rmov.put(RMV_GRUPPO, g); //sui saldi. Siccome queste
|
||||
rmov.put(RMV_CONTO, c); //righe servono per mandare a 0
|
||||
rmov.put(RMV_SOTTOCONTO, s); //il saldo dei movimenti, la
|
||||
rmov.put(RMV_SEZIONE, sez_rmov); //sezione sara' opposta a
|
||||
rmov.put(RMV_IMPORTO, _saldo); //quella letta sui saldi.
|
||||
rmov.put(RMV_NUMREG, _numreg);
|
||||
rmov.put(RMV_NUMRIG, numrig);
|
||||
rmov.put(RMV_TIPOC, tmcf);
|
||||
|
||||
TBill tc(g,c,s);
|
||||
_sld->aggiorna(tc,TImporto(sez_rmov,_saldo)); //l'oggetto TSaldo_agg
|
||||
|
||||
j++;
|
||||
}
|
||||
if (_saldi->eof()) break;
|
||||
} //for saldi
|
||||
if (j >= 1)
|
||||
{
|
||||
_pn->write();
|
||||
j = 0;
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
}
|
||||
} // if (indbil == 1)
|
||||
} // for pcon
|
||||
}
|
||||
|
||||
void CG4600_application::chiusura_conto_patrimoniale()
|
||||
{
|
||||
int j;
|
||||
@ -1404,7 +1568,6 @@ void CG4600_application::chiusura_conto_patrimoniale()
|
||||
|
||||
j = 0;
|
||||
ultima_registrazione();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 7 Chiusura Conto Patrimoniale
|
||||
|
||||
TRectype& rmov1 = _pn->cg(j);
|
||||
@ -1415,7 +1578,8 @@ void CG4600_application::chiusura_conto_patrimoniale()
|
||||
TRectype& rmov2 = _pn->cg(j);
|
||||
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcbilch,_totale_saldo,TRUE);
|
||||
|
||||
_pn->write();
|
||||
_pn->write();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
//_sld->registra();
|
||||
|
||||
}
|
||||
@ -1427,7 +1591,6 @@ else
|
||||
|
||||
j = 0;
|
||||
ultima_registrazione();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 7 Chiusura Conto Patrimoniale
|
||||
|
||||
TRectype& rmov1 = _pn->cg(j);
|
||||
@ -1438,7 +1601,8 @@ else
|
||||
TRectype& rmov2 = _pn->cg(j);
|
||||
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperdp,_totale_saldo,FALSE);
|
||||
|
||||
_pn ->write();
|
||||
_pn ->write();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
//_sld->registra();
|
||||
}
|
||||
}
|
||||
@ -1525,7 +1689,7 @@ void CG4600_application::apri_attivita()
|
||||
if (tot_saldo != ZERO)
|
||||
rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Chiusura
|
||||
_pn->write();
|
||||
_pn->destroy_rows(0); //Azzero l'oggetto pn.
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
j = 0;
|
||||
numrig = 1;
|
||||
@ -1583,7 +1747,7 @@ void CG4600_application::apri_attivita()
|
||||
{
|
||||
_pn->write();
|
||||
j = 0;
|
||||
_pn->destroy_rows(0); //Azzero l'oggetto pn.
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
}
|
||||
} // if (indbil == 1)
|
||||
} // for pcon
|
||||
@ -1671,7 +1835,7 @@ void CG4600_application::apri_passivita()
|
||||
if (tot_saldo != ZERO)
|
||||
rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Apertura
|
||||
_pn->write();
|
||||
_pn->destroy_rows(0); //Azzero l'oggetto pn.
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
j = 0;
|
||||
numrig = 1;
|
||||
@ -1729,12 +1893,158 @@ void CG4600_application::apri_passivita()
|
||||
{
|
||||
_pn->write();
|
||||
j = 0;
|
||||
_pn->destroy_rows(0);
|
||||
_pn->destroy_rows(_numreg);
|
||||
}
|
||||
} // if (indbil == 2)
|
||||
} // for pcon
|
||||
}
|
||||
|
||||
void CG4600_application::apri_conti_ordine()
|
||||
{
|
||||
bool compila_mov = TRUE;
|
||||
long s;
|
||||
char sezione = ' ';
|
||||
real tot_saldo;
|
||||
long numrig = 0;
|
||||
TSaldo& sale = *_sale;
|
||||
int j = 0;
|
||||
|
||||
tot_saldo = ZERO;
|
||||
|
||||
TRecnotype items_pcon = _cur->items();
|
||||
|
||||
for (int i = 0; i < items_pcon; i++, ++(*_cur))
|
||||
{
|
||||
int indbil = _cur->curr().get_int(PCN_INDBIL);
|
||||
int g = _cur->curr().get_int(PCN_GRUPPO);
|
||||
int c = _cur->curr().get_int(PCN_CONTO);
|
||||
TString tmcf = _cur->curr().get (PCN_TMCF);
|
||||
|
||||
_prog->addstatus(1);
|
||||
|
||||
if (indbil == 5)
|
||||
{
|
||||
compila_mov = TRUE;
|
||||
|
||||
_saldi->setkey(1);
|
||||
_saldi->zero();
|
||||
_saldi->put(SLD_ANNOES, _annoesch);
|
||||
_saldi->put(SLD_GRUPPO, g);
|
||||
_saldi->put(SLD_CONTO, c);
|
||||
|
||||
TRectype rec (_saldi->curr());
|
||||
|
||||
j = 0;
|
||||
numrig = 0;
|
||||
|
||||
for (_saldi->read(); ; _saldi->next())
|
||||
{
|
||||
if (_saldi->curr() > rec || _saldi->eof())
|
||||
{
|
||||
// Aggiungo un ulteriore riga di movimento contenente la somma
|
||||
// di tutti i saldi aventi lo stesso conto, indicandola
|
||||
// con una sezione opposta al risultato (della somma).
|
||||
|
||||
if (j >= 1)
|
||||
{
|
||||
numrig++;
|
||||
if (tot_saldo != ZERO)
|
||||
rmov_proper(_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Apertura
|
||||
|
||||
tot_saldo = ZERO;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (compila_mov)
|
||||
{
|
||||
ultima_registrazione();
|
||||
compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 8 Apertura Attivita'
|
||||
compila_mov = FALSE;
|
||||
}
|
||||
|
||||
//numrig++;
|
||||
s = _saldi->get_long(SLD_SOTTOCONTO);
|
||||
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1);
|
||||
_saldo = sale.saldo();
|
||||
|
||||
if (_saldo == ZERO) continue;
|
||||
|
||||
numrig++;
|
||||
|
||||
if (j >= MAX || _saldi->eof())
|
||||
{
|
||||
// Aggiungo un ulteriore riga di movimento contenente la somma
|
||||
// di tutti i saldi aventi lo stesso sottoconto, indicandola
|
||||
// con una sezione opposta al risultato (della somma).
|
||||
|
||||
if (tot_saldo != ZERO)
|
||||
rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Chiusura
|
||||
_pn->write();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
j = 0;
|
||||
numrig = 1;
|
||||
ultima_registrazione();
|
||||
compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 8 Apertura Attivita'
|
||||
compila_mov = FALSE;
|
||||
tot_saldo = ZERO;
|
||||
}
|
||||
|
||||
if (_saldo > ZERO)
|
||||
sezione = 'D';
|
||||
else
|
||||
if (_saldo < ZERO)
|
||||
{
|
||||
sezione = 'A';
|
||||
_saldo = -_saldo;
|
||||
}
|
||||
|
||||
if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli
|
||||
{ // importi trovati sui saldi. Quando ho
|
||||
tot_saldo += _saldo; // quando ho raggiunto un massimo di 99
|
||||
_totale_saldo += _saldo;
|
||||
} // righe di movimento, genero un' altra
|
||||
else // riga con importo di sezione opposta
|
||||
if (sezione == 'A') // alla somma, mandando a zero
|
||||
{ // il saldo di quel movimento.
|
||||
tot_saldo -= _saldo;
|
||||
_totale_saldo -= _saldo;
|
||||
}
|
||||
|
||||
if (!_saldi->eof())
|
||||
{
|
||||
TRectype& rmov = _pn->cg(j);
|
||||
|
||||
rmov.zero();
|
||||
rmov.put(RMV_ANNOES, _annoesap); //Compilo una riga di movimento
|
||||
rmov.put(RMV_DATAREG, _dataregap); //per ogni sottoconto che leggo
|
||||
rmov.put(RMV_GRUPPO, g); //sui saldi. Siccome queste
|
||||
rmov.put(RMV_CONTO, c); //righe servono per mandare a 0
|
||||
rmov.put(RMV_SOTTOCONTO, s); //il saldo dei movimenti, la
|
||||
rmov.put(RMV_SEZIONE, sezione); //sezione sara' opposta a
|
||||
rmov.put(RMV_IMPORTO, _saldo); //quella letta sui saldi.
|
||||
rmov.put(RMV_NUMREG, _numreg);
|
||||
rmov.put(RMV_NUMRIG, numrig);
|
||||
rmov.put(RMV_TIPOC, tmcf);
|
||||
|
||||
TBill tc(g,c,s);
|
||||
_sld->aggiorna(tc,TImporto(sezione,_saldo)); //l'oggetto TSaldo_agg
|
||||
|
||||
j++;
|
||||
}
|
||||
if (_saldi->eof()) break;
|
||||
} //for saldi
|
||||
if (j >= 1)
|
||||
{
|
||||
_pn->write();
|
||||
j = 0;
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
}
|
||||
} // if (indbil == 1)
|
||||
} // for pcon
|
||||
}
|
||||
|
||||
void CG4600_application::apertura_capitale_netto()
|
||||
{
|
||||
int numrig;
|
||||
@ -1746,7 +2056,6 @@ void CG4600_application::apertura_capitale_netto()
|
||||
|
||||
int j = 0;
|
||||
ultima_registrazione();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 10 Apertura Capitale netto
|
||||
|
||||
@ -1758,7 +2067,8 @@ void CG4600_application::apertura_capitale_netto()
|
||||
TRectype& rmov2 = _pn->cg(j);
|
||||
rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcperdp,_capitale_netto,FALSE);
|
||||
|
||||
_pn->write();
|
||||
_pn->write();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
}
|
||||
else
|
||||
if (_capitale_netto < ZERO)
|
||||
@ -1768,7 +2078,6 @@ void CG4600_application::apertura_capitale_netto()
|
||||
|
||||
int j = 0;
|
||||
ultima_registrazione();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
|
||||
compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 10 Apertura Capitale netto
|
||||
|
||||
@ -1780,7 +2089,8 @@ void CG4600_application::apertura_capitale_netto()
|
||||
TRectype& rmov2 = _pn->cg(j);
|
||||
rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcutilp,_capitale_netto,FALSE);
|
||||
|
||||
_pn->write();
|
||||
_pn->write();
|
||||
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "classpim.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t)
|
||||
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t, bool tipost)
|
||||
{
|
||||
static int last_checked = -1;
|
||||
|
||||
@ -38,8 +38,16 @@ bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t)
|
||||
tipodet == 5 || tipodet == 9 */);
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0") /* - pimr.get_real("R9") */; // comprese BD!
|
||||
iva = pimr.get_real("R1") /* - pimr.get_real("R10") */; // yuk yuk!
|
||||
if (tipost) //stampa
|
||||
{
|
||||
imp = pimr.get_real("R0") - pimr.get_real("R9");
|
||||
iva = pimr.get_real("R1") - pimr.get_real("R10");
|
||||
}
|
||||
else //visualizza
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case vend_norm:
|
||||
|
@ -81,6 +81,6 @@ const int MAX_TIPOREC = 18;
|
||||
// CONTENTA? ciao, f. :)
|
||||
// -----------------------------------------------------------
|
||||
|
||||
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t);
|
||||
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t, bool ts);
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user