Corretti vari errori in cg3200 (stampa mastrini) e completato Ap/Ch conti

git-svn-id: svn://10.65.10.50/trunk@177 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1994-09-07 10:40:05 +00:00
parent adcc68289d
commit 001e2c8a10
5 changed files with 3757 additions and 3618 deletions

View File

@ -60,9 +60,10 @@ class CG3200_application : public TPrintapp
bool _stampaprogre,_stampatotiva,_stampatot,_prima_volta,_stampa_mov_prov;
int _annomsk,_annoesmsk,_annomsksucc,_annoes;
long _numgio,_protiva,_sottoc,_numreg;
long _annomsk,_annoesmsk,_sottoc,_numreg,_annoes;
long _annomsksucc,_numgio,_protiva;
bool _stampa_progressivi_si,_competenza,_inizio_stampa,_puoi_stampare;
int _tipocf;
char _ricerca;
TDate _dataregrmov;
@ -197,7 +198,7 @@ void CG3200_application::saldi_zero()
while (!rmov->eof())
{
rmov->read();
// char sezione = *(_rmov->curr().get(RMV_SEZIONE));
// char sezione = *(_rmov->curr().get(RMV_SEZIONE));
TString sezione = rmov->curr().get(RMV_SEZIONE);
real importo = rmov->curr().get_real(RMV_IMPORTO);
int gruppo = atoi(rmov->get(RMV_GRUPPO));
@ -228,12 +229,7 @@ void CG3200_application::fai_stampa132()
set_row (1,"@19g#t", &_datadocs);
set_row (1,"@30g#7t", &_numdoc);
set_row (1,"@38g#3t", &_codcaus);
set_row (1,"@42g#.18t", &_descrcaus);
_descrizione = current_cursor()->curr(LF_RMOV).get(RMV_DESCR);
if (_descrizione == "")
set_row (1,"@61g%.23s", (const char*) _descrizionemov);
else
set_row (1,"@61g%.23s", (const char*) _descrizione);
_sezione = current_cursor()->curr(LF_RMOV).get(RMV_SEZIONE);
if (_sezione == "D")
set_row (1,"@85g#t", &_importo_str);
@ -262,20 +258,14 @@ void CG3200_application::fai_stampa198()
set_row (1,"@19g#t", &_datadocs);
set_row (1,"@30g#7t", &_numdoc);
set_row (1,"@38g#3t", &_codcaus);
set_row (1,"@42g#.25t", &_descrcaus);
_descrizione = current_cursor()->curr(LF_RMOV).get(RMV_DESCR);
if (_descrizione == "")
set_row (1,"@68g%.32s", (const char*) _descrizionemov);
else
set_row (1,"@68g%.32s", (const char*) _descrizione);
_sezione = current_cursor()->curr(LF_RMOV).get(RMV_SEZIONE);
if (_sezione == "D")
set_row (1,"@102g#t", &_importo_str);
else if (_sezione == "A")
set_row (1,"@119g#t", &_importo_str);
// Stampa saldo movimenti
// Stampa saldo movimenti
set_row (1,"@153g#t", &_saldo_movimenti_str);
@ -289,7 +279,7 @@ void CG3200_application::fai_stampa198()
_dataregrmov = current_cursor()->curr(LF_RMOV).get_date(RMV_DATAREG);
dataregrmovstring=_dataregrmov.string();
//Gestire la stampa di saldo_progressivi nella postprocess_page di RMOV
//Gestire la stampa di saldo_progressivi nella postprocess_page di RMOV
rmov = current_cursor()->file(LF_RMOV);
rec = rmov->recno();
@ -369,7 +359,7 @@ bool CG3200_application::preprocess_pconti(int file, int counter)
switch (file)
{
case LF_PCON:
// Usati in crea_intestazione()
// Usati in crea_intestazione()
_gruppo = atoi(current_cursor()->curr(LF_PCON).get(PCN_GRUPPO));
_conto = atoi(current_cursor()->curr(LF_PCON).get(PCN_CONTO));
_sottoc = atol(current_cursor()->curr(LF_PCON).get(PCN_SOTTOCONTO));
@ -436,7 +426,9 @@ bool CG3200_application::preprocess_pconti(int file, int counter)
_mov->curr().zero();
_mov->curr().put(MOV_NUMREG,_numreg);
_mov->read();
_annoes = _mov->curr().get_int(MOV_ANNOES);
if (_mov->bad())
_mov->zero();
_annoes = atol(_mov->curr().get(MOV_ANNOES));
_regiva = _mov->curr().get(MOV_REG);
// Controlla se saldo e' diverso da 0
@ -467,6 +459,53 @@ bool CG3200_application::preprocess_pconti(int file, int counter)
descrizione_causale();
_descrizionemov = _mov->curr().get(MOV_DESCR);
_numgio = atol(_mov->curr().get(MOV_NUMGIO));
_descrizione = current_cursor()->curr(LF_RMOV).get(RMV_DESCR);
if (_numcarat == 1) // Stampa 132 caratteri
{
if (_descrizione != "")
{
if (_descrizionemov != "")
{
set_row (1,"@42g%.18s", (const char*) _descrizionemov);
set_row (1,"@61g%.23s", (const char*) _descrizione);
}
else if (_descrizionemov == "")
{
set_row (1,"@42g%.18s", (const char*) _descrcaus);
set_row (1,"@61g%.23s", (const char*) _descrizione);
}
}
else if (_descrizione == "")
{
set_row (1,"@42g%.18s", (const char*) _descrcaus);
set_row (1,"@61g%.23s", (const char*) _descrizionemov);
}
}
else
if (_numcarat == 2) // Stampa 198 caratteri
{
if (_descrizione != "")
{
if (_descrizionemov != "")
{
set_row (1,"@42g%.25s", (const char*) _descrizionemov);
set_row (1,"@68g%.32s", (const char*) _descrizione);
}
else if (_descrizionemov == "")
{
set_row (1,"@42g%.25s", (const char*) _descrcaus);
set_row (1,"@68g%.32s", (const char*) _descrizione);
}
}
else if (_descrizione == "")
{
set_row (1,"@42g%.25s", (const char*) _descrcaus);
set_row (1,"@68g%.32s", (const char*) _descrizionemov);
}
}
if (_sezione == "D")
{
_totale_periodo_dare += _importo;
@ -522,7 +561,7 @@ bool CG3200_application::preprocess_clifo(int file, int counter)
switch (file)
{
case LF_CLIFO:
// Usati in crea_intestazione()
// Usati in crea_intestazione()
_gruppo = atoi(current_cursor()->curr(LF_CLIFO).get(CLI_GRUPPO));
_conto = atoi(current_cursor()->curr(LF_CLIFO).get(CLI_CONTO));
_sottoc = atol(current_cursor()->curr(LF_CLIFO).get(CLI_CODCF));
@ -590,7 +629,9 @@ bool CG3200_application::preprocess_clifo(int file, int counter)
_mov->curr().zero();
_mov->curr().put(MOV_NUMREG,_numreg);
_mov->read();
_annoes = _mov->curr().get_int(MOV_ANNOES);
if (_mov->bad())
_mov->zero();
_annoes = atol(_mov->curr().get(MOV_ANNOES));
_regiva = _mov->curr().get(MOV_REG);
// Controlla se saldo e' diverso da 0
@ -621,6 +662,53 @@ bool CG3200_application::preprocess_clifo(int file, int counter)
descrizione_causale();
_descrizionemov = _mov->curr().get(MOV_DESCR);
_numgio = atol(_mov->curr().get(MOV_NUMGIO));
_descrizione = current_cursor()->curr(LF_RMOV).get(RMV_DESCR);
if (_numcarat == 1) // Stampa 132 caratteri
{
if (_descrizione != "")
{
if (_descrizionemov != "")
{
set_row (1,"@42g%.18s", (const char*) _descrizionemov);
set_row (1,"@61g%.23s", (const char*) _descrizione);
}
else if (_descrizionemov == "")
{
set_row (1,"@42g%.18s", (const char*) _descrcaus);
set_row (1,"@61g%.23s", (const char*) _descrizione);
}
}
else if (_descrizione == "")
{
set_row (1,"@42g%.18s", (const char*) _descrcaus);
set_row (1,"@61g%.23s", (const char*) _descrizionemov);
}
}
else
if (_numcarat == 2) // Stampa 198 caratteri
{
if (_descrizione != "")
{
if (_descrizionemov != "")
{
set_row (1,"@42g%.25s", (const char*) _descrizionemov);
set_row (1,"@68g%.32s", (const char*) _descrizione);
}
else if (_descrizionemov == "")
{
set_row (1,"@42g%.25s", (const char*) _descrcaus);
set_row (1,"@68g%.32s", (const char*) _descrizione);
}
}
else if (_descrizione == "")
{
set_row (1,"@42g%.25s", (const char*) _descrcaus);
set_row (1,"@68g%.32s", (const char*) _descrizionemov);
}
}
if (_sezione == "D")
{
_totale_periodo_dare += _importo;
@ -886,7 +974,7 @@ void CG3200_application::descrizione_causale()
void CG3200_application::documenti_iva()
{
TString dep;
// _tipodoc = _mov->curr().get(MOV_TIPODOC);
// _tipodoc = _mov->curr().get(MOV_TIPODOC);
_tabtpd->curr().zero();
dep << format ("%2s",(const char*) _tipodoc);
@ -901,7 +989,8 @@ void CG3200_application::ricerca_regiva()
TString dep;
_tabreg->curr().zero();
dep << format("%04d%3s", _annoes, (const char*) _regiva);
dep << format("%04d", _annoes);
dep << format("%3s" , (const char*) _regiva);
_tabreg->curr().put("CODTAB", (const char*) dep);
_tabreg->read();
_tipo = atoi(_tabreg->curr().get("I0"));
@ -927,7 +1016,7 @@ bool CG3200_application::set_print(int)
_data_ini = (_msk->get(F_DATAINI));
_data_fine = (_msk->get(F_DATAFINE));
_annomsk = _msk->get_int(F_ANNO);
_annomsk = atol(_msk->get(F_ANNO));
if (_annomsk == 0)
if (_data_fine == botime) //Se data_fine e' vuota
@ -966,7 +1055,7 @@ bool CG3200_application::set_print(int)
ricerca_dati_ditta();
// Scelta del formato e del numero di mastrini per pagina 1 o 2
// Scelta del formato e del numero di mastrini per pagina 1 o 2
if (nummast == 1)
crt = formato;
@ -975,7 +1064,7 @@ bool CG3200_application::set_print(int)
printer().formlen(crt);
//Crea il cursore su gruppo, conto e sottoconto del file RMOV
//Crea il cursore su gruppo, conto e sottoconto del file RMOV
if (_ricerca == 'P')
{
reset_files(); //resetta l'albero di stampa
@ -1064,7 +1153,7 @@ bool CG3200_application::set_print(int)
return TRUE;
}
else
else
return FALSE;
}
@ -1114,7 +1203,7 @@ void CG3200_application::ricerca_dati_ditta()
long app;
_nditte->setkey(1);
// _codice_ditta << get_firm();
// _codice_ditta << get_firm();
_nditte->curr().zero();
_nditte->curr().put(NDT_CODDITTA,_codice_ditta);
_nditte->read();
@ -1176,12 +1265,23 @@ void CG3200_application::crea_intestazione()
set_header (3, "@16g%d", _conto);
set_header (3, "@20g%d", _sottoc);
const char tipocf = toupper(_msk->get(F_RICERCA)[0]);
if (tipocf == 'P')
ricerca_gruppo();
else
ricerca_clifo();
TString tipocf = (_msk->get(F_RICERCA));
if (tipocf == "C")
_tipocf = 1;
else if (tipocf == "F")
_tipocf = 2;
else if (tipocf == "P")
_tipocf = 3;
switch (_tipocf)
{
case 1: ricerca_clifo();
break;
case 2: ricerca_clifo();
break;
case 3: ricerca_gruppo();
break;
default: break;
}
if (_numcarat == 1)
{
@ -1294,8 +1394,8 @@ void CG3200_application::calcola_progressivi()
paveresca = 0.00;
pdarescap = 0.00;
paverescap = 0.00;
// Ricerca sull'archivio saldi dei record con gruppo,conto,sottoconto
// uguali a quelli di rmov per il calcolo dei progressivi precedenti
// Ricerca sull'archivio saldi dei record con gruppo,conto,sottoconto
// uguali a quelli di rmov per il calcolo dei progressivi precedenti
record.zero();
record.put(SLD_GRUPPO, _gruppo);
@ -1333,7 +1433,7 @@ void CG3200_application::calcola_progressivi()
{
long annoes_saldi = saldi.curr().get_long(SLD_ANNOES);
//Calcola i progressivi dell'esercizio attuale
//Calcola i progressivi dell'esercizio attuale
if (annoes_saldi == _annomsk)
{
@ -1343,7 +1443,7 @@ void CG3200_application::calcola_progressivi()
salini = saldi.curr().get(SLD_FLAGSALINI)[0];
}
//Calcola i progressivi dell'esercizio precedente
//Calcola i progressivi dell'esercizio precedente
if (annoes_saldi == _annoesmsk)
{
@ -1352,11 +1452,11 @@ void CG3200_application::calcola_progressivi()
paverescap = saldi.curr().get_real(SLD_PAVERESCA);
paverep = saldi.curr().get_real(SLD_PAVERE);
// 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.
// 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 (saldo != 0)
{
@ -1374,8 +1474,8 @@ void CG3200_application::calcola_progressivi()
else
{
//Se il saldo dell'esercizio attuale non e' diverso da zero, allora il saldo
// finale dell'esercizio precedente devo calcolarmelo tenendo conto dell'indbil
//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 ((indbil == 1) || (indbil == 2) || (indbil == 5))
{
@ -1395,10 +1495,10 @@ void CG3200_application::calcola_progressivi()
}
}
//Calcolo dei progressivi precedenti: somma di tutti quei movimenti di rmov
//che hanno la data di registrazione inferiore alla data di inizio stampa,
//dei progressivi dell'anno esercizio precedente, e dei progressivi dei
//movimenti scaricati dell'esercizio attuale.
//Calcolo dei progressivi precedenti: somma di tutti quei movimenti di rmov
//che hanno la data di registrazione inferiore alla data di inizio stampa,
//dei progressivi dell'anno esercizio precedente, e dei progressivi dei
//movimenti scaricati dell'esercizio attuale.
calcola_progressivi_al();
@ -1424,12 +1524,12 @@ void CG3200_application::calcola_progressivi()
string = _progreavere.string("###############");
set_header (10,"@119g%15s",(const char*) string);
}
//Calcolo dei progressivi al <ultima data registrazione>
//Calcolo dei progressivi al <ultima data registrazione>
//Se sulla maschera e' stato selezionato il controllo competenza esercizio
//Sommo i progressivi dell'esercizio precedente e quelli dell'esercizio attuale
//altrimenti solo quelli dell'esercizio attuale
//Se sulla maschera e' stato selezionato il controllo competenza esercizio
//Sommo i progressivi dell'esercizio precedente e quelli dell'esercizio attuale
//altrimenti solo quelli dell'esercizio attuale
if (_competenza)
{
@ -1450,6 +1550,7 @@ void CG3200_application::ricerca_clifo()
TString ragsoc,paiv,cofi,indcf,capcf,ptel,tel,statocf,comcf,dencom,provcom,dep;
TLocalisamfile pconti(LF_PCON);
TString dataini,datafine;
int numrivd;
ragsoc = (current_cursor()->curr(LF_CLIFO).get(CLI_RAGSOC));
paiv = (current_cursor()->curr(LF_CLIFO).get(CLI_PAIV));
@ -1477,13 +1578,16 @@ void CG3200_application::ricerca_clifo()
pconti.read();
_sezivd = pconti.curr().get(PCN_SEZIVD);
_lettivd = pconti.curr().get(PCN_LETTIVD);
_numrivd = atoi(pconti.curr().get(PCN_NUMRIVD));
numrivd = atoi(pconti.curr().get(PCN_NUMRIVD));
_numrivd = itor(numrivd);
_numivd = atoi(pconti.curr().get(PCN_NUMIVD));
_tabivd->curr().zero();
dep << format ("%1s%1s%8d%2d",(const char*)_sezivd,(const char*)_lettivd,(const char*)_numrivd,_numivd);
dep << format ("%1s%1s%-8d%2d",(const char*)_sezivd,(const char*)_lettivd,numrivd,_numivd);
_tabivd->curr().put("CODTAB", (const char*) dep);
_tabivd->read();
if (_tabivd->bad())
_tabivd->zero();
TString descriz = _tabivd->curr().get("S0");
if (_ricerca == 'P')
@ -1500,6 +1604,7 @@ void CG3200_application::ricerca_clifo()
set_header(3, "@91g%-30s",(const char*) ragsoc);
set_header(4, "@1gClasse@8g%1s",(const char*) _lettivd);
set_header(4, "@10g%8s",(const char*) _numrivd);
if (_numivd != 0)
set_header(4, "@19g%2d", _numivd);
set_header(4,"@23g%-50s",(const char*) descriz);
@ -1541,9 +1646,11 @@ void CG3200_application::ricerca_gruppo()
_numivd = atoi(current_cursor()->curr(LF_PCON).get(PCN_NUMIVD));
_tabivd->curr().zero();
dep << format ("%1s%1s%8d%2d",(const char*)_sezivd,(const char*)_lettivd,(const char*)_numrivd,_numivd);
dep << format ("%1s%1s%-8d%2d",(const char*)_sezivd,(const char*)_lettivd, numrivd,_numivd);
_tabivd->curr().put("CODTAB", (const char*) dep);
_tabivd->read();
if (_tabivd->bad())
_tabivd->zero();
descriz = _tabivd->curr().get("S0");
if (_ricerca == 'P')
@ -1561,6 +1668,7 @@ void CG3200_application::ricerca_gruppo()
set_header(3,"@91g%-30s",(const char*) descr);
set_header(4, "@0gClasse@12g%1s",(const char*) _lettivd);
set_header(4, "@14g%8s",(const char*) _numrivd);
if (_numivd != 0)
set_header(4, "@23g%d", _numivd);
set_header(4,"@27g%-50s",(const char*) descriz);

View File

@ -59,7 +59,7 @@ BEGIN
OUTPUT F_CONTOINI CONTO
OUTPUT F_SOTTOCONTOINI CODCF
OUTPUT F_DESCRINI RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 1
END
@ -79,7 +79,7 @@ BEGIN
OUTPUT F_CONTOINI CONTO
OUTPUT F_SOTTOCONTOINI CODCF
OUTPUT F_DESCRINI RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 1
END
@ -100,7 +100,7 @@ BEGIN
OUTPUT F_CONTOINI CONTO
OUTPUT F_SOTTOCONTOINI CODCF
OUTPUT F_DESCRINI RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 1
END
@ -126,7 +126,7 @@ BEGIN
OUTPUT F_CONTOFINE CONTO
OUTPUT F_SOTTOCONTOFINE CODCF
OUTPUT F_DESCRFINE RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 1
END
@ -146,7 +146,7 @@ BEGIN
OUTPUT F_CONTOFINE CONTO
OUTPUT F_SOTTOCONTOFINE CODCF
OUTPUT F_DESCRFINE RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 1
END
@ -167,7 +167,7 @@ BEGIN
OUTPUT F_CONTOFINE CONTO
OUTPUT F_SOTTOCONTOFINE CODCF
OUTPUT F_DESCRFINE RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 1
END
@ -193,7 +193,7 @@ BEGIN
OUTPUT F_CONTOINI2 CONTO
OUTPUT F_SOTTOCONTOINI2 CODCF
OUTPUT F_DESCRINI2 RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 2
MESSAGE COPY,F_GRUPPOINI
END
@ -214,7 +214,7 @@ BEGIN
OUTPUT F_CONTOINI2 CONTO
OUTPUT F_SOTTOCONTOINI2 CODCF
OUTPUT F_DESCRINI2 RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 2
MESSAGE COPY,F_CONTOINI
END
@ -236,7 +236,7 @@ BEGIN
OUTPUT F_CONTOINI2 CONTO
OUTPUT F_SOTTOCONTOINI2 CODCF
OUTPUT F_DESCRINI2 RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 2
MESSAGE COPY,F_SOTTOCONTOINI
END
@ -263,7 +263,7 @@ BEGIN
OUTPUT F_CONTOFINE2 CONTO
OUTPUT F_SOTTOCONTOFINE2 CODCF
OUTPUT F_DESCRFINE2 RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 2
MESSAGE COPY,F_GRUPPOFINE
END
@ -284,7 +284,7 @@ BEGIN
OUTPUT F_CONTOFINE2 CONTO
OUTPUT F_SOTTOCONTOFINE2 CODCF
OUTPUT F_DESCRFINE2 RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 2
MESSAGE COPY,F_CONTOFINE
END
@ -306,7 +306,7 @@ BEGIN
OUTPUT F_CONTOFINE2 CONTO
OUTPUT F_SOTTOCONTOFINE2 CODCF
OUTPUT F_DESCRFINE2 RAGSOC
FLAGS "RZ"
FLAGS "R"
GROUP 2
MESSAGE COPY,F_SOTTOCONTOFINE
END
@ -332,7 +332,7 @@ BEGIN
OUTPUT F_CONTOINI3 CONTO
OUTPUT F_SOTTOCONTOINI3 SOTTOCONTO
OUTPUT F_DESCRINI3 DESCR
FLAGS "RZ"
FLAGS "R"
GROUP 3
MESSAGE COPY,F_GRUPPOINI
END
@ -352,7 +352,7 @@ BEGIN
OUTPUT F_CONTOINI3 CONTO
OUTPUT F_SOTTOCONTOINI3 SOTTOCONTO
OUTPUT F_DESCRINI3 DESCR
FLAGS "RZ"
FLAGS "R"
GROUP 3
MESSAGE COPY,F_CONTOINI
END
@ -373,7 +373,7 @@ BEGIN
OUTPUT F_CONTOINI3 CONTO
OUTPUT F_SOTTOCONTOINI3 SOTTOCONTO
OUTPUT F_DESCRINI3 DESCR
FLAGS "RZ"
FLAGS "R"
GROUP 3
MESSAGE COPY,F_SOTTOCONTOINI
END
@ -399,7 +399,7 @@ BEGIN
OUTPUT F_CONTOFINE3 CONTO
OUTPUT F_SOTTOCONTOFINE3 SOTTOCONTO
OUTPUT F_DESCRFINE3 DESCR
FLAGS "RZ"
FLAGS "R"
GROUP 3
MESSAGE COPY,F_GRUPPOFINE
END
@ -419,7 +419,7 @@ BEGIN
OUTPUT F_CONTOFINE3 CONTO
OUTPUT F_SOTTOCONTOFINE3 SOTTOCONTO
OUTPUT F_DESCRFINE3 DESCR
FLAGS "RZ"
FLAGS "R"
GROUP 3
MESSAGE COPY,F_CONTOFINE
END
@ -440,7 +440,7 @@ BEGIN
OUTPUT F_CONTOFINE3 CONTO
OUTPUT F_SOTTOCONTOFINE3 SOTTOCONTO
OUTPUT F_DESCRFINE3 DESCR
FLAGS "RZ"
FLAGS "R"
GROUP 3
MESSAGE COPY,F_SOTTOCONTOFINE
END

View File

@ -47,7 +47,7 @@ class CG4600_application : public TApplication
int _annoesch, _annoesap;
long _numreg;
TDate _dataregap, _dataregch;
TString _codcausap, _codcausch, _annoeseprec;
TString _codcausap, _codcausch;
public:
virtual bool create();
@ -57,9 +57,8 @@ public:
void ricavi();
void attivita();
void passivita();
void rmov_proper (int, long, TRectype&, TConto&, real&, bool);
void rmov_proper (int, long, TDate&, TRectype&, TConto&, real&, bool);
void ultima_registrazione();
void anno_ese_precedente();
void compila_testata(int,TDate&,TString&);
void chiusura_conto_economico();
void chiusura_conto_patrimoniale();
@ -69,7 +68,7 @@ public:
CG4600_application() {}
};
CG4600_application* app() { return (CG4600_application *) MainApp(); }
HIDDEN CG4600_application* app() { return (CG4600_application *) MainApp(); }
bool mask_datac (TMask_field& f, KEY k)
{
@ -288,23 +287,6 @@ bool CG4600_application::destroy()
return TApplication::destroy();
}
void CG4600_application::anno_ese_precedente()
{
TTable tabesc ("ESC");
TString16 chiave;
int err = NOERR;
tabesc.zero();
chiave << _annoesch;
tabesc.put("CODTAB", chiave);
err = tabesc.read();
if (err == NOERR)
{
tabesc.prev();
_annoeseprec = tabesc.get("CODTAB");
}
}
void CG4600_application::ultima_registrazione()
{
long numregmov;
@ -411,26 +393,25 @@ bool CG4600_application::set()
ultima_registrazione();
// anno_ese_precedente();
// (*_cur) = 0L;
(*_cur) = 0L;
_sld->set_anno_es(_annoesch);
_sld->set_movprovv(FALSE);
_sld->set_movap(FALSE);
// costi ();
costi ();
// _sld->reset(); //Azzera la tabella dei conti dell'oggetto TSaldo_agg
// _pn->destroy_rows(); //Azzero l'oggetto pn.
// ultima_registrazione();
// *_cur = 0l;
_sld->reset(); //Azzera la tabella dei conti dell'oggetto TSaldo_agg
_pn->destroy_rows(); //Azzero l'oggetto pn.
ultima_registrazione();
*_cur = 0l;
// ricavi();
// _sld->reset();
ricavi();
_sld->reset();
// chiusura_conto_economico();
chiusura_conto_economico();
_totale_saldo = ZERO;
// _sld->reset();
_sld->reset();
_pn->destroy_rows(); //Azzero l'oggetto pn.
ultima_registrazione();
@ -461,7 +442,7 @@ void CG4600_application::compila_testata(int annoes,TDate& datareg,
_pn->lfile()->put(MOV_NUMREG, _numreg);
}
void CG4600_application::rmov_proper(int anno,long numrig,TRectype& rmov, TConto& tc,real& tot_saldo, bool sezione_opposta)
void CG4600_application::rmov_proper(int anno,long numrig,TDate& datareg,TRectype& rmov, TConto& tc,real& tot_saldo, bool sezione_opposta)
{
char sez_rmov = ' ';
char sezione = ' ';
@ -471,7 +452,7 @@ void CG4600_application::rmov_proper(int anno,long numrig,TRectype& rmov,
rmov.put(RMV_ANNOES, anno);
rmov.put(RMV_NUMREG, _numreg);
rmov.put(RMV_NUMRIG, numrig);
rmov.put(RMV_DATAREG, _dataregch);
rmov.put(RMV_DATAREG, datareg);
rmov.put(RMV_GRUPPO, tc.gruppo());
rmov.put(RMV_CONTO, tc.conto());
rmov.put(RMV_SOTTOCONTO, tc.sottoconto());
@ -556,7 +537,7 @@ void CG4600_application::costi()
if (j >= 1)
{
numrig++;
rmov_proper(_annoesch,numrig,rmov,_tcproper,tot_saldo,FALSE);
rmov_proper(_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE);
tot_saldo = ZERO;
}
@ -565,7 +546,6 @@ void CG4600_application::costi()
numrig++;
s = _saldi->get_long(SLD_SOTTOCONTO);
// int annoeseprec = atoi(_annoeseprec);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
_saldo = sale.saldo();
@ -601,7 +581,7 @@ void CG4600_application::costi()
// con una sezione opposta al risultato (della somma).
// numrig++;
rmov_proper (_annoesch,numrig,rmov,_tcproper,tot_saldo,FALSE);
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE);
tot_saldo = ZERO;
}
@ -687,7 +667,7 @@ void CG4600_application::ricavi()
if (j >= 1)
{
numrig++;
rmov_proper(_annoesch,numrig,rmov,_tcproper,tot_saldo,FALSE);
rmov_proper(_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE);
tot_saldo = ZERO;
}
@ -696,7 +676,6 @@ void CG4600_application::ricavi()
numrig++;
s = _saldi->get_long(SLD_SOTTOCONTO);
// int annoeseprec = atoi(_annoeseprec);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
_saldo = sale.saldo();
@ -732,7 +711,7 @@ void CG4600_application::ricavi()
// con una sezione opposta al risultato (della somma).
// numrig++;
rmov_proper (_annoesch,numrig,rmov,_tcproper,tot_saldo,FALSE);
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE);
tot_saldo = ZERO;
}
@ -769,27 +748,28 @@ void CG4600_application::ricavi()
void CG4600_application::chiusura_conto_economico()
{
if (_totale_saldo.sign() > 0)
if (_totale_saldo > ZERO)
{
int j;
//Compilo la testata per perdite di es. c.economico a Profitti e Perdite
//Chiusura conto economico
j = 0;
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 3
TRectype& rmov1 = _pn->cg(j);
long numrig = 1;
rmov_proper(_annoesch,numrig,rmov1,_tcproper,_totale_saldo,TRUE);
rmov_proper(_annoesch,numrig,_dataregch,rmov1,_tcproper,_totale_saldo,TRUE);
numrig++;
j++;
TRectype& rmov2 = _pn->cg(j);
rmov_proper(_annoesch,numrig,rmov2,_tcperde,_totale_saldo,FALSE);
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperde,_totale_saldo,FALSE);
_pn->write();
_sld->registra();
_sld->reset();
//Compilo la testata per perdite di es. c.patrimon. a Perdita di es. c. econom.
//Chiusura capitale netto
@ -802,19 +782,40 @@ void CG4600_application::chiusura_conto_economico()
TRectype& rmov3 = _pn->cg(j);
numrig = 1;
rmov_proper(_annoesch,numrig,rmov3,_tcperde,_totale_saldo,TRUE);
rmov_proper(_annoesch,numrig,_dataregch,rmov3,_tcperde,_totale_saldo,TRUE);
numrig++;
j++;
TRectype& rmov4 = _pn->cg(j);
rmov_proper(_annoesch,numrig,rmov4,_tcperdp,_totale_saldo,FALSE);
rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcperdp,_totale_saldo,FALSE);
_pn->write();
_sld->registra();
_sld->reset();
//Compilo la testata per Perdita es. c/to patrimoniale a Bilancio di apertura
//Apertura capitale netto
_sld->set_anno_es(_annoesap);
_pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0;
ultima_registrazione();
compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 10
TRectype& rmov5 = _pn->cg(j);
numrig = 1;
rmov_proper(_annoesap,numrig,_dataregap,rmov5,_tcbilap,_totale_saldo,TRUE);
numrig++;
j++;
TRectype& rmov6 = _pn->cg(j);
rmov_proper(_annoesap,numrig,_dataregap,rmov6,_tcperdp,_totale_saldo,FALSE);
_pn->write();
_sld->registra();
_sld->set_anno_es(_annoesch);
}
else
if (_totale_saldo.sign() < 0)
if (_totale_saldo < ZERO)
{
int j;
@ -828,14 +829,15 @@ void CG4600_application::chiusura_conto_economico()
TRectype& rmov1 = _pn->cg(j);
long numrig = 1;
rmov_proper(_annoesch,numrig,rmov1,_tcutile,_totale_saldo,FALSE);
rmov_proper(_annoesch,numrig,_dataregch,rmov1,_tcutile,_totale_saldo,FALSE);
numrig++;
j++;
TRectype& rmov2 = _pn->cg(j);
rmov_proper(_annoesch,numrig,rmov2,_tcproper,_totale_saldo,TRUE);
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcproper,_totale_saldo,TRUE);
_pn ->write();
_sld->registra();
_sld->reset();
//Compilo la testata per Utile di es. c.economico a Utile di es. c.patrimoniale
//Chiusura capitale netto
@ -847,14 +849,38 @@ void CG4600_application::chiusura_conto_economico()
TRectype& rmov3 = _pn->cg(j);
numrig = 1;
rmov_proper(_annoesch,numrig,rmov3,_tcutilp,_totale_saldo,FALSE);
rmov_proper(_annoesch,numrig,_dataregch,rmov3,_tcutilp,_totale_saldo,FALSE);
numrig++;
j++;
TRectype& rmov4 = _pn->cg(j);
rmov_proper(_annoesch,numrig,rmov4,_tcutile,_totale_saldo,TRUE);
rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcutile,_totale_saldo,TRUE);
_pn ->write();
_sld->registra();
_sld->reset();
//Compilo la testata per Bilancio di apertura a Utile es. c/to patrimoniale
//Apertura capitale netto
_sld->set_anno_es(_annoesap);
_pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0;
ultima_registrazione();
compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 10
TRectype& rmov5 = _pn->cg(j);
numrig = 1;
rmov_proper(_annoesap,numrig,_dataregap,rmov5,_tcbilap,_totale_saldo,TRUE);
numrig++;
j++;
TRectype& rmov6 = _pn->cg(j);
rmov_proper(_annoesap,numrig,_dataregap,rmov6,_tcutilp,_totale_saldo,FALSE);
_pn->write();
_sld->registra();
_sld->set_anno_es(_annoesch);
}
}
@ -876,11 +902,11 @@ void CG4600_application::chiusura_conto_patrimoniale()
TRectype& rmov1 = _pn->cg(j);
numrig = 1;
rmov_proper(_annoesch,numrig,rmov1,_tcutilp,_totale_saldo,FALSE);
rmov_proper(_annoesch,numrig,_dataregch,rmov1,_tcutilp,_totale_saldo,FALSE);
numrig++;
j++;
TRectype& rmov2 = _pn->cg(j);
rmov_proper(_annoesch,numrig,rmov2,_tcbilch,_totale_saldo,TRUE);
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcbilch,_totale_saldo,TRUE);
_pn->write();
_sld->registra();
@ -899,11 +925,11 @@ void CG4600_application::chiusura_conto_patrimoniale()
TRectype& rmov1 = _pn->cg(j);
numrig = 1;
rmov_proper(_annoesch,numrig,rmov1,_tcbilch,_totale_saldo,TRUE);
rmov_proper(_annoesch,numrig,_dataregch,rmov1,_tcbilch,_totale_saldo,TRUE);
numrig++;
j++;
TRectype& rmov2 = _pn->cg(j);
rmov_proper(_annoesch,numrig,rmov2,_tcperdp,_totale_saldo,FALSE);
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperdp,_totale_saldo,FALSE);
_pn ->write();
_sld->registra();
@ -962,7 +988,7 @@ void CG4600_application::attivita()
if (j >= 1)
{
numrig++;
rmov_proper(_annoesch,numrig,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
rmov_proper(_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
tot_saldo = ZERO;
}
@ -971,7 +997,6 @@ void CG4600_application::attivita()
numrig++;
s = _saldi->get_long(SLD_SOTTOCONTO);
// int annoeseprec = atoi(_annoeseprec);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
_saldo = sale.saldo();
@ -1007,7 +1032,7 @@ void CG4600_application::attivita()
// con una sezione opposta al risultato (della somma).
// numrig++;
rmov_proper (_annoesch,numrig,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
tot_saldo = ZERO;
}
@ -1148,7 +1173,7 @@ void CG4600_application::passivita()
if (j >= 1)
{
numrig++;
rmov_proper(_annoesch,numrig,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
rmov_proper(_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
tot_saldo = ZERO;
}
@ -1157,7 +1182,6 @@ void CG4600_application::passivita()
numrig++;
s = _saldi->get_long(SLD_SOTTOCONTO);
// int annoeseprec = atoi(_annoeseprec);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
_saldo = sale.saldo();
@ -1193,7 +1217,7 @@ void CG4600_application::passivita()
// con una sezione opposta al risultato (della somma).
// numrig++;
rmov_proper (_annoesch,numrig,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
tot_saldo = ZERO;
}

View File

@ -31,5 +31,4 @@
#define F_ANNO 128
#define F_ANNOCH 129
#endif // __CG4600_H

View File

@ -15,11 +15,6 @@ BEGIN
OUTPUT F_RAGSOC RAGSOC
END
NUMBER F_ANNO 4
BEGIN
PROMPT 42 1 "Anno esercizio "
FLAGS "D"
END
STRING F_RAGSOC 50
BEGIN
@ -49,16 +44,29 @@ END
DATE F_DATAC
BEGIN
PROMPT 37 4 "Data chiusura "
PROMPT 36 4 "Data/Anno chiusura "
END
DATE F_DATAAP
BEGIN
PROMPT 37 5 "Data apertura "
PROMPT 36 5 "Data/Anno apertura "
WARNING "Inserire una data non inferiore alla data di chiusura"
VALIDATE DATE_CMP_FUNC >= F_DATAC
END
NUMBER F_ANNOCH 4
BEGIN
PROMPT 69 4 ""
FLAGS "D"
END
NUMBER F_ANNO 4
BEGIN
PROMPT 69 5 ""
FLAGS "D"
END
GROUPBOX DLG_NULL 60 10
BEGIN
PROMPT 2 7 "Codici sottoconto"