Patch level : 2.0 450

Files correlati     : cg4.exe
Ricompilazione Demo : [ ]
Commento            :

CM700617
In fase di apertura conti sul file dei saldi, per i record relativi
all'esercizio che ho aperto, non viene aggiornato il campo NUMULTMOV.
Controllare perché riporta un valore nel campo FLAGSALFIN dello stesso record

CM700621
In fase di chiusura sul file dei saldi non vengono aggiornati i campi
NUMULTMOV e nel campo DATAULMOV viene riportata per errore la data di apertura.


git-svn-id: svn://10.65.10.50/trunk@10995 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2003-04-09 08:35:52 +00:00
parent 161a09cae1
commit b629eb591e

View File

@ -1,13 +1,9 @@
// Chiusura/Apertura Conti // Chiusura/Apertura Conti
#include <applicat.h>
#include <config.h> #include <config.h>
#include <mask.h> #include <mask.h>
#include <printapp.h>
#include <progind.h> #include <progind.h>
#include <relation.h>
#include <tabutil.h>
#include <utility.h>
#include <urldefid.h>
#include "cg4.h" #include "cg4.h"
#include "cg4600.h" #include "cg4600.h"
@ -22,7 +18,7 @@
#define MAX 98 #define MAX 98
class TApertura_chiusura : public TApplication class TApertura_chiusura : public TSkeleton_application
{ {
TRelation* _rel; TRelation* _rel;
TMovimentoPN* _pn; TMovimentoPN* _pn;
@ -31,14 +27,15 @@ class TApertura_chiusura : public TApplication
TSaldo* _sale; TSaldo* _sale;
TProgind* _prog; TProgind* _prog;
TConto _tcbilch,_tcproper,_tcbilap,_tcutilp,_tcperdp,_tcutile,_tcperde, _conto_corrente; TConto _tcbilch,_tcproper,_tcbilap,_tcutilp,_tcperdp,_tcutile,_tcperde, _conto_corrente;
TEsercizi_contabili * _esc; TEsercizi_contabili* _esc;
real _saldo, _totale_saldo, _capitale_netto; real _saldo, _totale_saldo, _capitale_netto;
int _annoesch, _annoesap; int _annoesch, _annoesap;
long _numreg; long _numreg;
TDate _dataregap, _dataregch, _datacompch, _datacompap; TDate _dataregap, _dataregch, _datacompch, _datacompap;
TString _codcausap, _codcausch; TString _codcausap, _codcausch;
protected:
static bool mask_datac (TMask_field&, KEY); static bool mask_datac (TMask_field&, KEY);
static bool mask_dataap (TMask_field&, KEY); static bool mask_dataap (TMask_field&, KEY);
static bool mask_distinti (TMask_field&, KEY); static bool mask_distinti (TMask_field&, KEY);
@ -48,10 +45,15 @@ class TApertura_chiusura : public TApplication
bool anni_contigui (int annoch, int annoap); bool anni_contigui (int annoch, int annoap);
const bool cerca_esercizio(int anno, TMask_field& f); const bool cerca_esercizio(int anno, TMask_field& f);
long ultima_registrazione();
void compila_testata(int anno,const TDate& datareg,const TString& codcaus,const TDate& datacomp);
void registra_pn();
public: public:
virtual bool create(); virtual bool create();
virtual bool destroy(); virtual bool destroy();
virtual bool menu(MENU_TAG m); virtual void main_loop();
void costi (); void costi ();
void ricavi(); void ricavi();
void chiudi_attivita(); void chiudi_attivita();
@ -61,8 +63,6 @@ public:
void apri_passivita(); void apri_passivita();
void apri_conti_ordine(); void apri_conti_ordine();
void rmov_proper (int, long, TDate&, TRectype&, TConto&, real&, bool); void rmov_proper (int, long, TDate&, TRectype&, TConto&, real&, bool);
long ultima_registrazione();
void compila_testata(int anno,TDate& datareg,TString& codcaus,TDate& datacomp);
void chiusura_conto_economico(); void chiusura_conto_economico();
void chiusura_conto_patrimoniale(); void chiusura_conto_patrimoniale();
void apertura_capitale_netto(); void apertura_capitale_netto();
@ -387,8 +387,6 @@ bool TApertura_chiusura::costi_ricavi (TMask_field& f, KEY k)
bool TApertura_chiusura::create() bool TApertura_chiusura::create()
{ {
TApplication::create();
open_files(LF_TABCOM, LF_TAB, LF_SALDI, LF_PCON, LF_MOV, LF_RMOV, LF_RMOVIVA, open_files(LF_TABCOM, LF_TAB, LF_SALDI, LF_PCON, LF_MOV, LF_RMOV, LF_RMOVIVA,
LF_PARTITE, LF_SCADENZE, LF_PAGSCA, 0); LF_PARTITE, LF_SCADENZE, LF_PAGSCA, 0);
@ -402,9 +400,7 @@ bool TApertura_chiusura::create()
_capitale_netto = ZERO; _capitale_netto = ZERO;
dispatch_e_menu (BAR_ITEM(1)); return TSkeleton_application::create();
return TRUE;
} }
bool TApertura_chiusura::destroy() bool TApertura_chiusura::destroy()
@ -545,11 +541,7 @@ bool TApertura_chiusura::set()
_sld->set_movprovv(FALSE); _sld->set_movprovv(FALSE);
_sld->set_tipo_saldo(chiusura); _sld->set_tipo_saldo(chiusura);
_sld->set_movimentato(TRUE); _sld->set_movimentato(TRUE);
// Guy: 10-01-97 errore MI6077
if (_sld->data_ulmov() < _dataregch)
_sld->set_data_ulmov(_dataregch);
costi (); costi ();
*_cur = 0l; *_cur = 0l;
ricavi(); ricavi();
@ -568,10 +560,6 @@ bool TApertura_chiusura::set()
_sld->set_tipo_saldo(apertura); _sld->set_tipo_saldo(apertura);
_sld->set_movimentato(TRUE); _sld->set_movimentato(TRUE);
// Guy: 10-01-97 errore MI6077
if (_sld->data_ulmov() < _dataregap)
_sld->set_data_ulmov(_dataregap);
*_cur = 0l; *_cur = 0l;
apri_attivita(); apri_attivita();
*_cur = 0l; *_cur = 0l;
@ -579,21 +567,23 @@ bool TApertura_chiusura::set()
*_cur = 0l; *_cur = 0l;
apri_conti_ordine(); apri_conti_ordine();
apertura_capitale_netto(); apertura_capitale_netto();
_sld->registra();
delete _prog; delete _prog;
message_box(TR("Apertura/chiusura conti completata")); message_box(TR("Apertura/chiusura conti completata"));
} //K_ENTER } //K_ENTER
return FALSE; return FALSE;
} }
void TApertura_chiusura::compila_testata(int annoes,TDate& datareg,TString& codcaus,TDate& datacomp) void TApertura_chiusura::compila_testata(int annoes,const TDate& datareg,const TString& codcaus,const TDate& datacomp)
{ {
_pn->lfile().zero(); _numreg = ultima_registrazione();
_pn->lfile().put(MOV_ANNOES, annoes); //Viene generato un movimento
_pn->lfile().put(MOV_DATAREG, datareg); //a rottura di conto _pn->curr().zero();
_pn->lfile().put(MOV_CODCAUS, codcaus); _pn->curr().put(MOV_ANNOES, annoes); //Viene generato un movimento
_pn->lfile().put(MOV_NUMREG, _numreg); _pn->curr().put(MOV_DATAREG, datareg); //a rottura di conto
_pn->lfile().put(MOV_DATACOMP, datacomp); _pn->curr().put(MOV_CODCAUS, codcaus);
_pn->curr().put(MOV_NUMREG, _numreg);
_pn->curr().put(MOV_DATACOMP, datacomp);
} }
void TApertura_chiusura::rmov_proper(int anno,long numrig,TDate& datareg,TRectype& rmov, void TApertura_chiusura::rmov_proper(int anno,long numrig,TDate& datareg,TRectype& rmov,
@ -640,6 +630,17 @@ void TApertura_chiusura::rmov_proper(int anno,long numrig,TDate& datareg,TRectyp
rmov.put(RMV_IMPORTO, totale); rmov.put(RMV_IMPORTO, totale);
} }
void TApertura_chiusura::registra_pn()
{
_pn->write();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
_sld->set_num_ulmov(_numreg);
_sld->set_data_ulmov(_pn->curr().get_date(MOV_DATAREG));
_sld->registra();
_sld->reset();
}
void TApertura_chiusura::costi() void TApertura_chiusura::costi()
{ {
bool compila_mov = TRUE; bool compila_mov = TRUE;
@ -704,7 +705,6 @@ void TApertura_chiusura::costi()
if (compila_mov) if (compila_mov)
{ {
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 1 Chiusura Costi compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 1 Chiusura Costi
compila_mov = FALSE; compila_mov = FALSE;
} }
@ -726,25 +726,22 @@ void TApertura_chiusura::costi()
if (tot_saldo != ZERO) if (tot_saldo != ZERO)
rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE); rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE);
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
j = 0; j = 0;
numrig = 1; numrig = 1;
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 1 Chiusura Costi compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 1 Chiusura Costi
compila_mov = FALSE; compila_mov = FALSE;
tot_saldo = ZERO; tot_saldo = ZERO;
} }
if (_saldo > ZERO) if (_saldo >= ZERO)
sezione = 'D'; sezione = 'D';
else else
if (_saldo < ZERO) {
{ sezione = 'A';
sezione = 'A'; _saldo = -_saldo;
_saldo = -_saldo; }
}
if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli
{ // importi trovati sui saldi. Quando ho { // importi trovati sui saldi. Quando ho
@ -752,13 +749,12 @@ void TApertura_chiusura::costi()
tot_saldo += _saldo; // quando ho raggiunto un massimo di 99 tot_saldo += _saldo; // quando ho raggiunto un massimo di 99
_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 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'; tot_saldo -= _saldo;
tot_saldo -= _saldo; _totale_saldo -= _saldo;
_totale_saldo -= _saldo; }
}
if (!saldi.eof()) if (!saldi.eof())
{ {
@ -785,10 +781,8 @@ void TApertura_chiusura::costi()
} //for saldi } //for saldi
if (j >= 1) if (j >= 1)
{ {
_pn->write(); registra_pn();
//_sld->registra();
j = 0; j = 0;
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
} }
} // if (indbil == 3) } // if (indbil == 3)
} // for pcon } // for pcon
@ -856,7 +850,6 @@ void TApertura_chiusura::ricavi()
if (compila_mov) if (compila_mov)
{ {
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 2 Chiusura Ricavi compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 2 Chiusura Ricavi
compila_mov = FALSE; compila_mov = FALSE;
} }
@ -880,12 +873,10 @@ void TApertura_chiusura::ricavi()
// numrig++; // numrig++;
if (tot_saldo != ZERO) if (tot_saldo != ZERO)
rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE); rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE);
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
j = 0; j = 0;
numrig = 1; numrig = 1;
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 2 Chiusura Ricavi compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 2 Chiusura Ricavi
compila_mov = FALSE; compila_mov = FALSE;
tot_saldo = ZERO; tot_saldo = ZERO;
@ -939,10 +930,8 @@ void TApertura_chiusura::ricavi()
} //for saldi } //for saldi
if (j >= 1) if (j >= 1)
{ {
_pn->write(); registra_pn();
//_sld->registra();
j = 0; j = 0;
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
} }
} // if (indbil == 4) } // if (indbil == 4)
} // for pcon } // for pcon
@ -950,7 +939,10 @@ void TApertura_chiusura::ricavi()
void TApertura_chiusura::chiusura_conto_economico() void TApertura_chiusura::chiusura_conto_economico()
{ {
_capitale_netto = _totale_saldo; //Mi serve per fare la riapertura del capitae netto _capitale_netto = _totale_saldo; //Mi serve per fare la riapertura del capitale netto
if (_totale_saldo.is_zero())
return;
if (_totale_saldo > ZERO) if (_totale_saldo > ZERO)
{ {
@ -960,7 +952,6 @@ void TApertura_chiusura::chiusura_conto_economico()
//Chiusura conto economico //Chiusura conto economico
j = 0; j = 0;
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 3 Chiusura Conto Economico compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 3 Chiusura Conto Economico
TRectype& rmov1 = _pn->cg(j); TRectype& rmov1 = _pn->cg(j);
@ -974,17 +965,12 @@ void TApertura_chiusura::chiusura_conto_economico()
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperde,_totale_saldo,FALSE); rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperde,_totale_saldo,FALSE);
_tcproper.put(rmov2, TRUE); // Contropartita _tcproper.put(rmov2, TRUE); // Contropartita
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
//_sld->registra();
//_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
j = 0; j = 0;
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 4 Chiusura Capitale netto compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 4 Chiusura Capitale netto
TRectype& rmov3 = _pn->cg(j); TRectype& rmov3 = _pn->cg(j);
@ -998,58 +984,50 @@ void TApertura_chiusura::chiusura_conto_economico()
rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcperdp,_totale_saldo,FALSE); rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcperdp,_totale_saldo,FALSE);
_tcperde.put(rmov4, TRUE); // Contropartita _tcperde.put(rmov4, TRUE); // Contropartita
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
} }
else else
if (_totale_saldo < ZERO) {
{ 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
j = 0; j = 0;
ultima_registrazione(); compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 3 Chiusura Conto Economico
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 3 Chiusura Conto Economico
TRectype& rmov1 = _pn->cg(j); TRectype& rmov1 = _pn->cg(j);
long numrig = 1; long numrig = 1;
rmov_proper(_annoesch,numrig,_dataregch,rmov1,_tcutile,_totale_saldo,FALSE); rmov_proper(_annoesch,numrig,_dataregch,rmov1,_tcutile,_totale_saldo,FALSE);
_tcproper.put(rmov1, TRUE); // Contropartita _tcproper.put(rmov1, TRUE); // Contropartita
numrig++; numrig++;
j++; j++;
TRectype& rmov2 = _pn->cg(j); TRectype& rmov2 = _pn->cg(j);
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcproper,_totale_saldo,TRUE); rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcproper,_totale_saldo,TRUE);
_tcutile.put(rmov2, TRUE); // Contropartita _tcutile.put(rmov2, TRUE); // Contropartita
_pn ->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
//_sld->registra(); //Compilo la testata per Utile di es. c.economico a Utile di es. c.patrimoniale
//_sld->reset(); //Chiusura capitale netto
//Compilo la testata per Utile di es. c.economico a Utile di es. c.patrimoniale
//Chiusura capitale netto
j = 0; j = 0;
ultima_registrazione(); compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 4 Chiusura Capitale netto
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 4 Chiusura Capitale netto
TRectype& rmov3 = _pn->cg(j);
TRectype& rmov3 = _pn->cg(j); numrig = 1;
numrig = 1; rmov_proper(_annoesch,numrig,_dataregch,rmov3,_tcutilp,_totale_saldo,FALSE);
rmov_proper(_annoesch,numrig,_dataregch,rmov3,_tcutilp,_totale_saldo,FALSE); _tcutile.put(rmov3, TRUE); // Contropartita
_tcutile.put(rmov3, TRUE); // Contropartita
numrig++;
numrig++; j++;
j++; TRectype& rmov4 = _pn->cg(j);
TRectype& rmov4 = _pn->cg(j); rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcutile,_totale_saldo,TRUE);
rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcutile,_totale_saldo,TRUE); _tcutilp.put(rmov4, TRUE); // Contropartita
_tcutilp.put(rmov4, TRUE); // Contropartita
_pn ->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn. }
}
} }
void TApertura_chiusura::chiudi_attivita() void TApertura_chiusura::chiudi_attivita()
@ -1113,7 +1091,6 @@ void TApertura_chiusura::chiudi_attivita()
if (compila_mov) if (compila_mov)
{ {
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 5 Chiusura Attivita' compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 5 Chiusura Attivita'
compila_mov = FALSE; compila_mov = FALSE;
} }
@ -1137,25 +1114,22 @@ void TApertura_chiusura::chiudi_attivita()
// numrig++; // numrig++;
if (tot_saldo != ZERO) if (tot_saldo != ZERO)
rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
j = 0; j = 0;
numrig = 1; numrig = 1;
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 5 Chiusura Attivita' compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 5 Chiusura Attivita'
compila_mov = FALSE; compila_mov = FALSE;
tot_saldo = ZERO; tot_saldo = ZERO;
} }
if (_saldo > ZERO) if (_saldo >= ZERO)
sezione = 'D'; sezione = 'D';
else else
if (_saldo < ZERO) {
{ sezione = 'A';
sezione = 'A'; _saldo = -_saldo;
_saldo = -_saldo; }
}
if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli
{ // importi trovati sui saldi. Quando ho { // importi trovati sui saldi. Quando ho
@ -1197,11 +1171,8 @@ void TApertura_chiusura::chiudi_attivita()
} //for saldi } //for saldi
if (j >= 1) if (j >= 1)
{ {
_pn->write(); registra_pn();
//_sld->registra();
//_sld->reset();
j = 0; j = 0;
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
} }
} // if (indbil == 1) } // if (indbil == 1)
} // for pcon } // for pcon
@ -1268,7 +1239,6 @@ void TApertura_chiusura::chiudi_passivita()
if (compila_mov) if (compila_mov)
{ {
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 6 Chiusura Passivita' compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 6 Chiusura Passivita'
compila_mov = FALSE; compila_mov = FALSE;
} }
@ -1292,25 +1262,22 @@ void TApertura_chiusura::chiudi_passivita()
// numrig++; // numrig++;
if (tot_saldo != ZERO) if (tot_saldo != ZERO)
rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
j = 0; j = 0;
numrig = 1; numrig = 1;
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 6 Chiusura Passivita' compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 6 Chiusura Passivita'
compila_mov = FALSE; compila_mov = FALSE;
tot_saldo = ZERO; tot_saldo = ZERO;
} }
if (_saldo > ZERO) if (_saldo >= ZERO)
sezione = 'D'; sezione = 'D';
else else
if (_saldo < ZERO) {
{ sezione = 'A';
sezione = 'A'; _saldo = -_saldo;
_saldo = -_saldo; }
}
if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli
{ // importi trovati sui saldi. Quando ho { // importi trovati sui saldi. Quando ho
@ -1318,13 +1285,12 @@ void TApertura_chiusura::chiudi_passivita()
tot_saldo += _saldo; // quando ho raggiunto un massimo di 99 tot_saldo += _saldo; // quando ho raggiunto un massimo di 99
_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 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'; tot_saldo -= _saldo;
tot_saldo -= _saldo; _totale_saldo -= _saldo;
_totale_saldo -= _saldo; }
}
if (!saldi.eof()) if (!saldi.eof())
{ {
@ -1352,11 +1318,8 @@ void TApertura_chiusura::chiudi_passivita()
} //for saldi } //for saldi
if (j >= 1) if (j >= 1)
{ {
_pn->write(); registra_pn();
//_sld->registra();
//_sld->reset();
j = 0; j = 0;
_pn->destroy_rows(_numreg);
} }
} // if (indbil == 2) } // if (indbil == 2)
} // for pcon } // for pcon
@ -1423,7 +1386,6 @@ void TApertura_chiusura::chiudi_conti_ordine()
if (compila_mov) if (compila_mov)
{ {
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); compila_testata(_annoesch,_dataregch,_codcausch,_datacompch);
compila_mov = FALSE; compila_mov = FALSE;
} }
@ -1446,25 +1408,22 @@ void TApertura_chiusura::chiudi_conti_ordine()
if (tot_saldo != ZERO) if (tot_saldo != ZERO)
rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
j = 0; j = 0;
numrig = 1; numrig = 1;
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 5 Chiusura Attivita' compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 5 Chiusura Attivita'
compila_mov = FALSE; compila_mov = FALSE;
tot_saldo = ZERO; tot_saldo = ZERO;
} }
if (_saldo > ZERO) if (_saldo >= ZERO)
sezione = 'D'; sezione = 'D';
else else
if (_saldo < ZERO) {
{ sezione = 'A';
sezione = 'A'; _saldo = -_saldo;
_saldo = -_saldo; }
}
if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli
{ // importi trovati sui saldi. Quando ho { // importi trovati sui saldi. Quando ho
@ -1472,13 +1431,12 @@ void TApertura_chiusura::chiudi_conti_ordine()
tot_saldo += _saldo; // quando ho raggiunto un massimo di 99 tot_saldo += _saldo; // quando ho raggiunto un massimo di 99
_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 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'; tot_saldo -= _saldo;
tot_saldo -= _saldo; _totale_saldo -= _saldo;
_totale_saldo -= _saldo; }
}
if (!saldi.eof()) if (!saldi.eof())
{ {
@ -1506,9 +1464,8 @@ void TApertura_chiusura::chiudi_conti_ordine()
} //for saldi } //for saldi
if (j >= 1) if (j >= 1)
{ {
_pn->write(); registra_pn();
j = 0; j = 0;
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
} }
} // if (indbil == 1) } // if (indbil == 1)
} // for pcon } // for pcon
@ -1525,7 +1482,6 @@ void TApertura_chiusura::chiusura_conto_patrimoniale()
//Chiusura conto patrimoniale //Chiusura conto patrimoniale
j = 0; j = 0;
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 7 Chiusura Conto Patrimoniale compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 7 Chiusura Conto Patrimoniale
TRectype& rmov1 = _pn->cg(j); TRectype& rmov1 = _pn->cg(j);
@ -1539,19 +1495,15 @@ void TApertura_chiusura::chiusura_conto_patrimoniale()
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcbilch,_totale_saldo,TRUE); rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcbilch,_totale_saldo,TRUE);
_tcutilp.put(rmov2, TRUE); // Contropartita _tcutilp.put(rmov2, TRUE); // Contropartita
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn. }
//_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
j = 0; j = 0;
ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 7 Chiusura Conto Patrimoniale compila_testata(_annoesch,_dataregch,_codcausch,_datacompch); //Reg. 7 Chiusura Conto Patrimoniale
TRectype& rmov1 = _pn->cg(j); TRectype& rmov1 = _pn->cg(j);
@ -1565,9 +1517,7 @@ else
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperdp,_totale_saldo,FALSE); rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperdp,_totale_saldo,FALSE);
_tcbilch.put(rmov2, TRUE); // Contropartita _tcbilch.put(rmov2, TRUE); // Contropartita
_pn ->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
//_sld->registra();
} }
} }
@ -1632,7 +1582,6 @@ void TApertura_chiusura::apri_attivita()
if (compila_mov) if (compila_mov)
{ {
ultima_registrazione();
compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 8 Apertura Attivita' compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 8 Apertura Attivita'
compila_mov = FALSE; compila_mov = FALSE;
} }
@ -1654,12 +1603,10 @@ void TApertura_chiusura::apri_attivita()
if (tot_saldo != ZERO) if (tot_saldo != ZERO)
rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Chiusura rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Chiusura
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
j = 0; j = 0;
numrig = 1; numrig = 1;
ultima_registrazione();
compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 8 Apertura Attivita' compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 8 Apertura Attivita'
compila_mov = FALSE; compila_mov = FALSE;
tot_saldo = ZERO; tot_saldo = ZERO;
@ -1713,9 +1660,8 @@ void TApertura_chiusura::apri_attivita()
} //for saldi } //for saldi
if (j >= 1) if (j >= 1)
{ {
_pn->write(); registra_pn();
j = 0; j = 0;
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
} }
} // if (indbil == 1) } // if (indbil == 1)
} // for pcon } // for pcon
@ -1782,7 +1728,6 @@ void TApertura_chiusura::apri_passivita()
if (compila_mov) if (compila_mov)
{ {
ultima_registrazione();
compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 9 Apertura Passivita' compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 9 Apertura Passivita'
compila_mov = FALSE; compila_mov = FALSE;
} }
@ -1804,12 +1749,10 @@ void TApertura_chiusura::apri_passivita()
if (tot_saldo != ZERO) if (tot_saldo != ZERO)
rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Apertura rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Apertura
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
j = 0; j = 0;
numrig = 1; numrig = 1;
ultima_registrazione();
compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 9 Apertura Passivita' compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 9 Apertura Passivita'
compila_mov = FALSE; compila_mov = FALSE;
tot_saldo = ZERO; tot_saldo = ZERO;
@ -1862,9 +1805,8 @@ void TApertura_chiusura::apri_passivita()
} //for saldi } //for saldi
if (j >= 1) if (j >= 1)
{ {
_pn->write(); registra_pn();
j = 0; j = 0;
_pn->destroy_rows(_numreg);
} }
} // if (indbil == 2) } // if (indbil == 2)
} // for pcon } // for pcon
@ -1931,7 +1873,6 @@ void TApertura_chiusura::apri_conti_ordine()
if (compila_mov) if (compila_mov)
{ {
ultima_registrazione();
compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 8 Apertura Attivita' compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 8 Apertura Attivita'
compila_mov = FALSE; compila_mov = FALSE;
} }
@ -1953,12 +1894,10 @@ void TApertura_chiusura::apri_conti_ordine()
if (tot_saldo != ZERO) if (tot_saldo != ZERO)
rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Chiusura rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Chiusura
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
j = 0; j = 0;
numrig = 1; numrig = 1;
ultima_registrazione();
compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 8 Apertura Attivita' compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 8 Apertura Attivita'
compila_mov = FALSE; compila_mov = FALSE;
tot_saldo = ZERO; tot_saldo = ZERO;
@ -2011,9 +1950,8 @@ void TApertura_chiusura::apri_conti_ordine()
} //for saldi } //for saldi
if (j >= 1) if (j >= 1)
{ {
_pn->write(); registra_pn();
j = 0; j = 0;
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
} }
} // if (indbil == 1) } // if (indbil == 1)
} // for pcon } // for pcon
@ -2029,7 +1967,6 @@ void TApertura_chiusura::apertura_capitale_netto()
//Apertura capitale netto //Apertura capitale netto
int j = 0; int j = 0;
ultima_registrazione();
compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 10 Apertura Capitale netto compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 10 Apertura Capitale netto
@ -2044,8 +1981,7 @@ void TApertura_chiusura::apertura_capitale_netto()
rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcperdp,_capitale_netto,FALSE); rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcperdp,_capitale_netto,FALSE);
_tcbilap.put(rmov2, TRUE); // Contropartita _tcbilap.put(rmov2, TRUE); // Contropartita
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
} }
else else
if (_capitale_netto < ZERO) if (_capitale_netto < ZERO)
@ -2054,7 +1990,6 @@ void TApertura_chiusura::apertura_capitale_netto()
//Apertura capitale netto //Apertura capitale netto
int j = 0; int j = 0;
ultima_registrazione();
compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 10 Apertura Capitale netto compila_testata(_annoesap,_dataregap,_codcausap,_dataregap); //Reg. 10 Apertura Capitale netto
@ -2069,16 +2004,13 @@ void TApertura_chiusura::apertura_capitale_netto()
rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcutilp,_capitale_netto,FALSE); rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcutilp,_capitale_netto,FALSE);
_tcbilap.put(rmov2, TRUE); // Contropartita _tcbilap.put(rmov2, TRUE); // Contropartita
_pn->write(); registra_pn();
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
} }
} }
bool TApertura_chiusura::menu(MENU_TAG m) void TApertura_chiusura::main_loop()
{ {
if (m == BAR_ITEM(1)) set();
return set();
return FALSE;
} }
int cg4600 (int argc, char* argv[]) int cg4600 (int argc, char* argv[])