Aggiornati uso MainApp e lfile()

git-svn-id: svn://10.65.10.50/trunk@274 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1994-09-22 07:20:12 +00:00
parent 53a4d0abbf
commit b2079b8379

View File

@ -1,20 +1,18 @@
// Chiusura/Apertura Conti // Chiusura/Apertura Conti
#include <mask.h>
#include <printapp.h>
#include <relation.h> #include <relation.h>
#include <tabutil.h> #include <tabutil.h>
#include <printapp.h>
#include <mask.h>
#include <date.h>
#include <scanner.h>
#include <utility.h> #include <utility.h>
#include <prefix.h>
#include <config.h> #include <config.h>
#include <urldefid.h> #include <urldefid.h>
#include <cglib.h> #include "cglib.h"
#include <cg4.h> #include "cg4.h"
#include <cg4600.h> #include "cg4600.h"
#include <cg2101.h> #include "cg2101.h"
#include <pconti.h> #include <pconti.h>
#include <mov.h> #include <mov.h>
#include <saldi.h> #include <saldi.h>
@ -46,7 +44,7 @@ class CG4600_application : public TApplication
real _saldo, _totale_saldo; real _saldo, _totale_saldo;
int _annoesch, _annoesap; int _annoesch, _annoesap;
long _numreg; long _numreg;
TDate _dataregap, _dataregch, _data_inizioap, _data_finech; TDate _dataregap, _dataregch;
TString _codcausap, _codcausch; TString _codcausap, _codcausch;
public: public:
@ -59,11 +57,11 @@ public:
void passivita(); void passivita();
void rmov_proper (int, long, TDate&, TRectype&, TConto&, real&, bool); void rmov_proper (int, long, TDate&, TRectype&, TConto&, real&, bool);
void ultima_registrazione(); void ultima_registrazione();
void compila_testata(int,TDate&,TDate&,TString&); void compila_testata(int,TDate&,TString&);
void chiusura_conto_economico(); void chiusura_conto_economico();
void chiusura_conto_patrimoniale(); void chiusura_conto_patrimoniale();
bool set(); bool set();
// bool epilogo_conti(); // bool epilogo_conti();
CG4600_application() {} CG4600_application() {}
}; };
@ -104,7 +102,7 @@ bool mask_datac (TMask_field& f, KEY k)
} }
if ( (f.get() >= inizio) && (f.get() <= fine) ) //la data di chiusura e' cioe' relativa all'esercizio in corso if ( (f.get() >= inizio) && (f.get() <= fine) ) //la data di chiusura e' cioe' relativa all'esercizio in corso
anno = fine.year(); anno = fine.year();
else if ( (f.get() >= iniziop) && (f.get() <= finep) ) //la data di chiusura e' cioe' relativa all'esercizio precedente else if ( (f.get() >= iniziop) && (f.get() <= finep) ) //la data di chiusura e' cioe' relativa all'esercizio precedente
anno = finep.year(); anno = finep.year();
TabReg.zero(); TabReg.zero();
@ -171,7 +169,7 @@ bool mask_dataap (TMask_field& f, KEY k)
if ( (f.get() >= inizio) && (f.get() <= fine) ) //la data di apertura e' cioe' relativa all'esercizio in corso if ( (f.get() >= inizio) && (f.get() <= fine) ) //la data di apertura e' cioe' relativa all'esercizio in corso
anno = fine.year(); anno = fine.year();
else if( (f.get() >= iniziop) && (f.get() <= finep) ) //la data di apertura e' cioe' relativa all'esercizio precedente else if( (f.get() >= iniziop) && (f.get() <= finep) ) //la data di apertura e' cioe' relativa all'esercizio precedente
anno = finep.year(); anno = finep.year();
TabReg.zero(); TabReg.zero();
@ -316,11 +314,9 @@ bool CG4600_application::set()
TabEs.last(); TabEs.last();
int annoap = TabEs.get_int ("CODTAB"); int annoap = TabEs.get_int ("CODTAB");
TDate inizio = TabEs.get_date("D0"); //data inizio es. in corso TDate inizio = TabEs.get_date("D0"); //data inizio es. in corso
_data_inizioap = inizio;
TabEs.prev(); TabEs.prev();
int annoch = TabEs.get_int ("CODTAB"); int annoch = TabEs.get_int ("CODTAB");
TDate fine = TabEs.get_date("D1"); //data fine es. precedente TDate fine = TabEs.get_date("D1"); //data fine es. precedente
_data_finech = fine;
m.set(F_ANNO, annoap); m.set(F_ANNO, annoap);
m.set(F_ANNOCH, annoch); m.set(F_ANNOCH, annoch);
m.set(F_DATAC, fine.string()); m.set(F_DATAC, fine.string());
@ -393,7 +389,7 @@ bool CG4600_application::set()
_tcperde.set (gperde,cperde,sperde); _tcperde.set (gperde,cperde,sperde);
ultima_registrazione(); ultima_registrazione();
// anno_ese_precedente(); // anno_ese_precedente();
(*_cur) = 0L; (*_cur) = 0L;
@ -435,17 +431,16 @@ bool CG4600_application::set()
return FALSE; return FALSE;
} }
void CG4600_application::compila_testata(int annoes,TDate& datareg,TDate& datacomp,TString& codcaus) void CG4600_application::compila_testata(int annoes,TDate& datareg, TString& codcaus)
{ {
_pn->lfile()->zero(); _pn->lfile().zero();
_pn->lfile()->put(MOV_ANNOES, annoes); //Viene generato un mov _pn->lfile().put(MOV_ANNOES, annoes); //Viene generato un mov
_pn->lfile()->put(MOV_DATAREG, datareg); //quando si incontra il _pn->lfile().put(MOV_DATAREG, datareg); //quando si incontra il
_pn->lfile()->put(MOV_CODCAUS, codcaus); //primo conto con indbil _pn->lfile().put(MOV_CODCAUS, codcaus); //primo conto con indbil
_pn->lfile()->put(MOV_NUMREG, _numreg); _pn->lfile().put(MOV_NUMREG, _numreg);
_pn->lfile()->put(MOV_DATACOMP, datacomp);
} }
void CG4600_application::rmov_proper(int anno,long numrig,TDate& datareg,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 sez_rmov = ' ';
char sezione = ' '; char sezione = ' ';
@ -479,13 +474,13 @@ void CG4600_application::rmov_proper(int anno,long numrig,TDate& datareg,TRectyp
_sld->aggiorna(tc,totale,sez_rmov);//Aggiorno anche i saldi con l'oggetto _sld->aggiorna(tc,totale,sez_rmov);//Aggiorno anche i saldi con l'oggetto
//TSaldo_agg //TSaldo_agg
} }
else else
{ {
rmov.put(RMV_SEZIONE, sezione); rmov.put(RMV_SEZIONE, sezione);
_sld->aggiorna(tc,totale,sezione);//Aggiorno anche i saldi con l'oggetto _sld->aggiorna(tc,totale,sezione);//Aggiorno anche i saldi con l'oggetto
//TSaldo_agg //TSaldo_agg
} }
rmov.put(RMV_IMPORTO, totale); rmov.put(RMV_IMPORTO, totale);
} }
void CG4600_application::costi() void CG4600_application::costi()
@ -512,7 +507,7 @@ void CG4600_application::costi()
{ {
if (compila_mov) if (compila_mov)
{ {
compila_testata(_annoesch,_dataregch,_data_finech,_codcausch); //Reg. 1 compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 1
compila_mov = FALSE; compila_mov = FALSE;
} }
_saldi->setkey(1); _saldi->setkey(1);
@ -569,7 +564,7 @@ void CG4600_application::costi()
tot_saldo += _saldo; // quando ho raggiunto un massimo di 200 tot_saldo += _saldo; // quando ho raggiunto un massimo di 200
_totale_saldo += _saldo; _totale_saldo += _saldo;
} // righe di movimento, genero un' altra } // righe di movimento, genero un' altra
else // riga con importo di sezione opposta else // riga con importo di sezione opposta
if (sezione == 'A') // alla somma, mandando a zero if (sezione == 'A') // alla somma, mandando a zero
{ // il saldo di quel movimento. { // il saldo di quel movimento.
sez_rmov = 'D'; sez_rmov = 'D';
@ -583,7 +578,7 @@ void CG4600_application::costi()
// di tutti i saldi aventi lo stesso sottoconto, indicandola // di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
// numrig++; // numrig++;
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE); rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE);
tot_saldo = ZERO; tot_saldo = ZERO;
@ -642,7 +637,7 @@ void CG4600_application::ricavi()
{ {
if (compila_mov) if (compila_mov)
{ {
compila_testata(_annoesch,_dataregch,_data_finech,_codcausch); //Reg. 2 compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 2
compila_mov = FALSE; compila_mov = FALSE;
} }
_saldi->setkey(1); _saldi->setkey(1);
@ -699,7 +694,7 @@ void CG4600_application::ricavi()
tot_saldo += _saldo; // quando ho raggiunto un massimo di 200 tot_saldo += _saldo; // quando ho raggiunto un massimo di 200
_totale_saldo += _saldo; _totale_saldo += _saldo;
} // righe di movimento, genero un' altra } // righe di movimento, genero un' altra
else // riga con importo di sezione opposta else // riga con importo di sezione opposta
if (sezione == 'A') // alla somma, mandando a zero if (sezione == 'A') // alla somma, mandando a zero
{ // il saldo di quel movimento. { // il saldo di quel movimento.
sez_rmov = 'D'; sez_rmov = 'D';
@ -713,7 +708,7 @@ void CG4600_application::ricavi()
// di tutti i saldi aventi lo stesso sottoconto, indicandola // di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
// numrig++; // numrig++;
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE); rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE);
tot_saldo = ZERO; tot_saldo = ZERO;
@ -755,12 +750,12 @@ void CG4600_application::chiusura_conto_economico()
{ {
int j; int j;
//Compilo la testata per perdite di es. c.economico a Profitti e Perdite //Compilo la testata per perdite di es. c.economico a Profitti e Perdite
//Chiusura conto economico //Chiusura conto economico
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesch,_dataregch,_data_finech,_codcausch); //Reg. 3 compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 3
TRectype& rmov1 = _pn->cg(j); TRectype& rmov1 = _pn->cg(j);
long numrig = 1; long numrig = 1;
@ -774,14 +769,14 @@ void CG4600_application::chiusura_conto_economico()
_sld->registra(); _sld->registra();
_sld->reset(); _sld->reset();
//Compilo la testata per perdite di es. c.patrimon. a Perdita di es. c. econom. //Compilo la testata per perdite di es. c.patrimon. a Perdita di es. c. econom.
//Chiusura capitale netto //Chiusura capitale netto
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesch,_dataregch,_data_finech,_codcausch); //Reg. 4 compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 4
TRectype& rmov3 = _pn->cg(j); TRectype& rmov3 = _pn->cg(j);
numrig = 1; numrig = 1;
@ -803,7 +798,7 @@ void CG4600_application::chiusura_conto_economico()
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesap,_dataregap,_data_inizioap,_codcausap); //Reg. 10 compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 10
TRectype& rmov5 = _pn->cg(j); TRectype& rmov5 = _pn->cg(j);
numrig = 1; numrig = 1;
@ -822,13 +817,13 @@ void CG4600_application::chiusura_conto_economico()
{ {
int j; int j;
//Compilo la testata per Profitti e perdite a Utile di es. c.economico //Compilo la testata per Profitti e perdite a Utile di es. c.economico
//Chiusura conto economico //Chiusura conto economico
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesch,_dataregch,_data_finech,_codcausch); //Reg. 3 compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 3
TRectype& rmov1 = _pn->cg(j); TRectype& rmov1 = _pn->cg(j);
long numrig = 1; long numrig = 1;
@ -842,13 +837,13 @@ void CG4600_application::chiusura_conto_economico()
_sld->registra(); _sld->registra();
_sld->reset(); _sld->reset();
//Compilo la testata per Utile di es. c.economico a Utile di es. c.patrimoniale //Compilo la testata per Utile di es. c.economico a Utile di es. c.patrimoniale
//Chiusura capitale netto //Chiusura capitale netto
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesch,_dataregch,_data_finech,_codcausch); //Reg. 4 compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 4
TRectype& rmov3 = _pn->cg(j); TRectype& rmov3 = _pn->cg(j);
numrig = 1; numrig = 1;
@ -870,7 +865,7 @@ void CG4600_application::chiusura_conto_economico()
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesap,_dataregap,_data_inizioap,_codcausap); //Reg. 10 compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 10
TRectype& rmov5 = _pn->cg(j); TRectype& rmov5 = _pn->cg(j);
numrig = 1; numrig = 1;
@ -895,13 +890,13 @@ void CG4600_application::chiusura_conto_patrimoniale()
if (_totale_saldo > ZERO) if (_totale_saldo > ZERO)
{ {
//Compilo la testata per Bilancio di chiusura a Perdita di es. c. patrimoniale //Compilo la testata per Bilancio di chiusura a Perdita di es. c. patrimoniale
//Chiusura conto patrimoniale //Chiusura conto patrimoniale
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesch,_dataregch,_data_finech,_codcausch); //Reg. 7 compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 7
TRectype& rmov1 = _pn->cg(j); TRectype& rmov1 = _pn->cg(j);
numrig = 1; numrig = 1;
@ -915,16 +910,16 @@ void CG4600_application::chiusura_conto_patrimoniale()
_sld->registra(); _sld->registra();
} }
else else
if (_totale_saldo < ZERO) if (_totale_saldo < ZERO)
{ {
//Compilo la testata per Utile di es. c.patrimon. a Bilancio di chiusura //Compilo la testata per Utile di es. c.patrimon. a Bilancio di chiusura
//Chiusura conto patrimoniale //Chiusura conto patrimoniale
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesch,_dataregch,_data_finech,_codcausch); //Reg. 7 compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 7
TRectype& rmov1 = _pn->cg(j); TRectype& rmov1 = _pn->cg(j);
numrig = 1; numrig = 1;
@ -965,7 +960,7 @@ void CG4600_application::attivita()
{ {
if (compila_mov_ch) if (compila_mov_ch)
{ {
compila_testata(_annoesch,_dataregch,_data_finech,_codcausch); //Reg. 5 Chiusura compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 5 Chiusura
compila_mov_ch = FALSE; compila_mov_ch = FALSE;
} }
_saldi->setkey(1); _saldi->setkey(1);
@ -1020,7 +1015,7 @@ void CG4600_application::attivita()
tot_saldo += _saldo; // quando ho raggiunto un massimo di 200 tot_saldo += _saldo; // quando ho raggiunto un massimo di 200
_totale_saldo += _saldo; _totale_saldo += _saldo;
} // righe di movimento, genero un' altra } // righe di movimento, genero un' altra
else // riga con importo di sezione opposta else // riga con importo di sezione opposta
if (sezione == 'A') // alla somma, mandando a zero if (sezione == 'A') // alla somma, mandando a zero
{ // il saldo di quel movimento. { // il saldo di quel movimento.
sez_rmov = 'D'; sez_rmov = 'D';
@ -1034,7 +1029,7 @@ void CG4600_application::attivita()
// di tutti i saldi aventi lo stesso sottoconto, indicandola // di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
// numrig++; // numrig++;
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
tot_saldo = ZERO; tot_saldo = ZERO;
@ -1073,7 +1068,7 @@ void CG4600_application::attivita()
if (compila_mov_ap) if (compila_mov_ap)
{ {
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesap,_dataregap,_data_inizioap,_codcausap); //Reg. 8 Apertura compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 8 Apertura
compila_mov_ap = FALSE; compila_mov_ap = FALSE;
} }
@ -1150,7 +1145,7 @@ void CG4600_application::passivita()
{ {
if (compila_mov_ch) if (compila_mov_ch)
{ {
compila_testata(_annoesch,_dataregch,_data_finech,_codcausch); //Reg. 6 Chiusura compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 6 Chiusura
compila_mov_ch = FALSE; compila_mov_ch = FALSE;
} }
_saldi->setkey(1); _saldi->setkey(1);
@ -1205,7 +1200,7 @@ void CG4600_application::passivita()
tot_saldo += _saldo; // quando ho raggiunto un massimo di 200 tot_saldo += _saldo; // quando ho raggiunto un massimo di 200
_totale_saldo += _saldo; _totale_saldo += _saldo;
} // righe di movimento, genero un' altra } // righe di movimento, genero un' altra
else // riga con importo di sezione opposta else // riga con importo di sezione opposta
if (sezione == 'A') // alla somma, mandando a zero if (sezione == 'A') // alla somma, mandando a zero
{ // il saldo di quel movimento. { // il saldo di quel movimento.
sez_rmov = 'D'; sez_rmov = 'D';
@ -1219,7 +1214,7 @@ void CG4600_application::passivita()
// di tutti i saldi aventi lo stesso sottoconto, indicandola // di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
// numrig++; // numrig++;
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
tot_saldo = ZERO; tot_saldo = ZERO;
@ -1258,7 +1253,7 @@ void CG4600_application::passivita()
if (compila_mov_ap) if (compila_mov_ap)
{ {
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesap,_dataregap,_data_inizioap,_codcausap); //Reg. 9 Apertura compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 9 Apertura
compila_mov_ap = FALSE; compila_mov_ap = FALSE;
} }
@ -1319,7 +1314,7 @@ bool CG4600_application::menu(MENU_TAG m)
int /*main */ cg4600 (int argc, char* argv[]) int /*main */ cg4600 (int argc, char* argv[])
{ {
CG4600_application main_app; CG4600_application main_app;
main_app.run(argc, argv, "Chiusura Apertura Conti"); main_app.run(argc, argv, "Apertura/Chiusura Conti");
return TRUE; return TRUE;
} }