Sistemato errore MI0053 liquidazione (calcolo rimborso infraannuale)

git-svn-id: svn://10.65.10.50/trunk@515 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1994-11-03 10:52:15 +00:00
parent 34f0c931ef
commit f4b7533179
9 changed files with 465 additions and 465 deletions

View File

@ -1,11 +1,11 @@
#ifndef __CG1100_H
#define __CG1100_H
#define F_DATA_STAMPA 100
#define F_SCELTA_STAMPA 101
#define F_SALTO_PAGINA 102
#define F_CODDITTA 103
#define F_RAGSOC 104
#endif
#ifndef __CG1100_H
#define __CG1100_H
#define F_DATA_STAMPA 100
#define F_SCELTA_STAMPA 101
#define F_SALTO_PAGINA 102
#define F_CODDITTA 103
#define F_RAGSOC 104
#endif

View File

@ -1,66 +1,66 @@
#include "cg1100.h"
PAGE "" -1 -1 70 18
NUMBER F_CODDITTA 5
BEGIN
PROMPT 2 1 "Ditta "
FLAGS "FRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC
END
STRING F_RAGSOC 50
BEGIN
PROMPT 2 2 "Ragione sociale "
FLAGS "D"
END
DATE F_DATA_STAMPA
BEGIN
PROMPT 2 4 "Data di stampa "
FLAGS "A"
END
RADIOBUTTON F_SCELTA_STAMPA 47
BEGIN
PROMPT 2 6 "Tipo di stampa "
HELP "Scegliere il tipo di stampa desiderata"
ITEM "1|Completa per IV direttiva"
ITEM "2|Conti riclassificati per IV direttiva"
ITEM "3|Conti non collegati per IV direttiva"
ITEM "4|Completa per analisi di bilancio"
ITEM "5|Conti riclassificati per analisi di bilancio"
ITEM "6|Conti non collegati per analisi di bilancio"
END
BOOLEAN F_SALTO_PAGINA
BEGIN
PROMPT 3 14 "Salto pagina per cambio gruppo "
HELP "Indicare se si desidera un salto pagina ogni volta che cambia il gruppo"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK
#include "cg1100.h"
PAGE "" -1 -1 70 18
NUMBER F_CODDITTA 5
BEGIN
PROMPT 2 1 "Ditta "
FLAGS "FRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC
END
STRING F_RAGSOC 50
BEGIN
PROMPT 2 2 "Ragione sociale "
FLAGS "D"
END
DATE F_DATA_STAMPA
BEGIN
PROMPT 2 4 "Data di stampa "
FLAGS "A"
END
RADIOBUTTON F_SCELTA_STAMPA 47
BEGIN
PROMPT 2 6 "Tipo di stampa "
HELP "Scegliere il tipo di stampa desiderata"
ITEM "1|Completa per IV direttiva"
ITEM "2|Conti riclassificati per IV direttiva"
ITEM "3|Conti non collegati per IV direttiva"
ITEM "4|Completa per analisi di bilancio"
ITEM "5|Conti riclassificati per analisi di bilancio"
ITEM "6|Conti non collegati per analisi di bilancio"
END
BOOLEAN F_SALTO_PAGINA
BEGIN
PROMPT 3 14 "Salto pagina per cambio gruppo "
HELP "Indicare se si desidera un salto pagina ogni volta che cambia il gruppo"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

View File

@ -1,41 +1,41 @@
#ifndef __CG1500_H
#define __CG1500_H
#define F_CODDITTA 101
#define F_DATASTAMPA 102
#define F_RAGSOC 104
#define F_BILANCIO 105
#define F_ANNO 106
#define F_STAMPA 107
#define F_STAMPA1 108
#define F_DATALIM 109
#define F_TOTALI 110
#define F_CODICI 111
#define F_SALDO 112
#define F_VERIFICA 113
#define F_STAMPAV 114
#define F_DATADA 115
#define F_DATAA 116
#define F_SITUAZIONE 118
#define F_STAMPAC 119
#define F_ORDINAMENTO 120
#define F_MODULO 121
#define F_STAMPAMPROV 122
#endif // __CG1500_H
#ifndef __CG1500_H
#define __CG1500_H
#define F_CODDITTA 101
#define F_DATASTAMPA 102
#define F_RAGSOC 104
#define F_BILANCIO 105
#define F_ANNO 106
#define F_STAMPA 107
#define F_STAMPA1 108
#define F_DATALIM 109
#define F_TOTALI 110
#define F_CODICI 111
#define F_SALDO 112
#define F_VERIFICA 113
#define F_STAMPAV 114
#define F_DATADA 115
#define F_DATAA 116
#define F_SITUAZIONE 118
#define F_STAMPAC 119
#define F_ORDINAMENTO 120
#define F_MODULO 121
#define F_STAMPAMPROV 122
#endif // __CG1500_H

View File

@ -1,28 +1,28 @@
#ifndef __CG1600_H
#define __CG1600_H
#define TAB_ESC "ESC"
#define TAB_IVD "%IVD"
#define F_CODDITTA 101
#define F_RAGSOC 102
#define F_DATASTAMPA 103
#define F_TIPOBIL 104
#define F_TIPOSTAMPA 105
#define F_TIPOSTAMPA1 106
#define F_DATALIM 107
#define F_DATABILRAF 108
#define F_STAMPAINT 109
#define F_STAMPACOD 110
#define F_STAMPAMOV 111
#define F_COMPETENZA 112
#define F_STAMPAMODULO 113
#define F_DATAINI 114
#define F_DATAFINE 115
#define F_ANNOESE 116
#define F_ANNORAFFR 117
#define F_STAMPAMOVPROV 118
#endif // __CG1600_H
#ifndef __CG1600_H
#define __CG1600_H
#define TAB_ESC "ESC"
#define TAB_IVD "%IVD"
#define F_CODDITTA 101
#define F_RAGSOC 102
#define F_DATASTAMPA 103
#define F_TIPOBIL 104
#define F_TIPOSTAMPA 105
#define F_TIPOSTAMPA1 106
#define F_DATALIM 107
#define F_DATABILRAF 108
#define F_STAMPAINT 109
#define F_STAMPACOD 110
#define F_STAMPAMOV 111
#define F_COMPETENZA 112
#define F_STAMPAMODULO 113
#define F_DATAINI 114
#define F_DATAFINE 115
#define F_ANNOESE 116
#define F_ANNORAFFR 117
#define F_STAMPAMOVPROV 118
#endif // __CG1600_H

View File

@ -1,173 +1,173 @@
#include "cg1600.h"
PAGE "" -1 -1 78 20
NUMBER F_CODDITTA 5
BEGIN
PROMPT 4 1 "Ditta "
FLAGS "FRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC
END
STRING F_RAGSOC 50
BEGIN
PROMPT 4 2 "Ragione sociale "
FLAGS "D"
END
NUMBER F_ANNOESE 4
BEGIN
PROMPT 4 5 "Anno esercizio "
USE ESC
INPUT CODTAB F_ANNOESE
DISPLAY "Anno" CODTAB
DISPLAY "Data inizio esercizio" D0
DISPLAY "Data fine esercizio" D1
OUTPUT F_ANNOESE CODTAB
FLAGS "RZ"
CHECKTYPE NORMAL
END
NUMBER F_ANNORAFFR 4
BEGIN
PROMPT 36 5 "Anno esercizio da raffrontare "
COPY USE F_ANNOESE
INPUT CODTAB F_ANNORAFFR
COPY DISPLAY F_ANNOESE
OUTPUT F_ANNORAFFR CODTAB
FLAGS "RZ"
CHECKTYPE NORMAL
END
LIST F_TIPOBIL 22
BEGIN
PROMPT 4 6 "Tipo bilancio "
ITEM "1|Bilancio scalare"
MESSAGE HIDE,F_TIPOSTAMPA1|RESET,F_TIPOSTAMPA1|SHOW,F_TIPOSTAMPA|K_SPACE,F_TIPOSTAMPA
MESSAGE SHOW,F_ANNORAFFR|SHOW,F_DATABILRAF
ITEM "2|Bilancio di verifica"
MESSAGE HIDE,F_TIPOSTAMPA|RESET,F_TIPOSTAMPA|SHOW,F_TIPOSTAMPA1|K_SPACE,F_TIPOSTAMPA1
MESSAGE HIDE,F_ANNORAFFR|HIDE,F_DATABILRAF
END
LIST F_TIPOSTAMPA 23
BEGIN
PROMPT 4 7 "Tipo stampa "
ITEM "1|Per data limite"
MESSAGE HIDE,F_STAMPAMODULO|HIDE,F_DATAINI|HIDE,F_DATAFINE
MESSAGE RESET,F_STAMPAMODULO|RESET,F_DATAINI|RESET,F_DATAFINE
MESSAGE SHOW,F_DATALIM|SHOW,F_STAMPAINT|SHOW,F_STAMPAMOV
ITEM "2|All'ultima immissione"
MESSAGE HIDE,F_DATALIM|HIDE,F_STAMPAMODULO|HIDE,F_DATAINI|HIDE,F_DATAFINE
MESSAGE RESET,F_STAMPAMODULO|RESET,F_DATAINI|RESET,F_DATALIM|RESET,F_DATAFINE|
MESSAGE SHOW,F_STAMPAINT|SHOW,F_STAMPACOD|SHOW,F_STAMPAMOV
END
LIST F_TIPOSTAMPA1 23
BEGIN
PROMPT 4 7 "Tipo stampa1 "
ITEM "1|Per data "
MESSAGE HIDE,F_DATALIM
MESSAGE RESET,F_DATALIM
MESSAGE SHOW,F_STAMPAINT|SHOW,F_STAMPACOD|SHOW,F_STAMPAMOV
MESSAGE SHOW,F_DATAINI|SHOW,F_DATAFINE|SHOW,F_STAMPAMODULO
ITEM "2|All'ultima immissione"
MESSAGE HIDE,F_DATALIM|HIDE,F_DATAINI|HIDE,F_DATAFINE
MESSAGE RESET,F_DATAINI|RESET,F_DATALIM|RESET,F_DATAFINE
MESSAGE SHOW,F_STAMPAINT|SHOW,F_STAMPACOD|SHOW,F_STAMPAMOV|SHOW,F_STAMPAMODULO
MESSAGE COPY,F_TIPOSTAMPA
END
DATE F_DATASTAMPA
BEGIN
PROMPT 4 4 "Data stampa "
FLAGS "A"
END
TEXT 96
BEGIN
PROMPT 4 9 "Dalla data competenza "
END
TEXT 97
BEGIN
PROMPT 40 9 "Alla data competenza "
END
TEXT 98
BEGIN
PROMPT 4 9 "Dalla data operazione "
END
TEXT 99
BEGIN
PROMPT 40 9 "Alla data operazione "
END
DATE F_DATALIM
BEGIN
PROMPT 4 9 "Data limite "
// VALIDATE NOT_EMPTY_FUNC
END
DATE F_DATABILRAF
BEGIN
PROMPT 36 9 "Data bil. da raffrontare "
// VALIDATE NOT_EMPTY_FUNC
END
DATE F_DATAINI
BEGIN
PROMPT 26 9 ""
// VALIDATE NOT_EMPTY_FUNC
END
DATE F_DATAFINE
BEGIN
PROMPT 62 9 ""
// VALIDATE NOT_EMPTY_FUNC
END
BOOLEAN F_STAMPAINT
BEGIN
PROMPT 4 11 "Stampa intera struttura"
END
BOOLEAN F_STAMPACOD
BEGIN
PROMPT 41 11 "Non stampare cod. conti"
END
BOOLEAN F_STAMPAMOV
BEGIN
PROMPT 4 12 "Non stampare mov. con saldo a 0"
END
BOOLEAN F_STAMPAMOVPROV
BEGIN
PROMPT 41 12 "Stampa movimenti provvisori"
END
BOOLEAN F_STAMPAMODULO
BEGIN
PROMPT 4 13 "Stampa su modulo stretto"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK
#include "cg1600.h"
PAGE "" -1 -1 78 20
NUMBER F_CODDITTA 5
BEGIN
PROMPT 4 1 "Ditta "
FLAGS "FRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC
END
STRING F_RAGSOC 50
BEGIN
PROMPT 4 2 "Ragione sociale "
FLAGS "D"
END
NUMBER F_ANNOESE 4
BEGIN
PROMPT 4 5 "Anno esercizio "
USE ESC
INPUT CODTAB F_ANNOESE
DISPLAY "Anno" CODTAB
DISPLAY "Data inizio esercizio" D0
DISPLAY "Data fine esercizio" D1
OUTPUT F_ANNOESE CODTAB
FLAGS "RZ"
CHECKTYPE NORMAL
END
NUMBER F_ANNORAFFR 4
BEGIN
PROMPT 36 5 "Anno esercizio da raffrontare "
COPY USE F_ANNOESE
INPUT CODTAB F_ANNORAFFR
COPY DISPLAY F_ANNOESE
OUTPUT F_ANNORAFFR CODTAB
FLAGS "RZ"
CHECKTYPE NORMAL
END
LIST F_TIPOBIL 22
BEGIN
PROMPT 4 6 "Tipo bilancio "
ITEM "1|Bilancio scalare"
MESSAGE HIDE,F_TIPOSTAMPA1|RESET,F_TIPOSTAMPA1|SHOW,F_TIPOSTAMPA|K_SPACE,F_TIPOSTAMPA
MESSAGE SHOW,F_ANNORAFFR|SHOW,F_DATABILRAF
ITEM "2|Bilancio di verifica"
MESSAGE HIDE,F_TIPOSTAMPA|RESET,F_TIPOSTAMPA|SHOW,F_TIPOSTAMPA1|K_SPACE,F_TIPOSTAMPA1
MESSAGE HIDE,F_ANNORAFFR|HIDE,F_DATABILRAF
END
LIST F_TIPOSTAMPA 23
BEGIN
PROMPT 4 7 "Tipo stampa "
ITEM "1|Per data limite"
MESSAGE HIDE,F_STAMPAMODULO|HIDE,F_DATAINI|HIDE,F_DATAFINE
MESSAGE RESET,F_STAMPAMODULO|RESET,F_DATAINI|RESET,F_DATAFINE
MESSAGE SHOW,F_DATALIM|SHOW,F_STAMPAINT|SHOW,F_STAMPAMOV
ITEM "2|All'ultima immissione"
MESSAGE HIDE,F_DATALIM|HIDE,F_STAMPAMODULO|HIDE,F_DATAINI|HIDE,F_DATAFINE
MESSAGE RESET,F_STAMPAMODULO|RESET,F_DATAINI|RESET,F_DATALIM|RESET,F_DATAFINE|
MESSAGE SHOW,F_STAMPAINT|SHOW,F_STAMPACOD|SHOW,F_STAMPAMOV
END
LIST F_TIPOSTAMPA1 23
BEGIN
PROMPT 4 7 "Tipo stampa1 "
ITEM "1|Per data "
MESSAGE HIDE,F_DATALIM
MESSAGE RESET,F_DATALIM
MESSAGE SHOW,F_STAMPAINT|SHOW,F_STAMPACOD|SHOW,F_STAMPAMOV
MESSAGE SHOW,F_DATAINI|SHOW,F_DATAFINE|SHOW,F_STAMPAMODULO
ITEM "2|All'ultima immissione"
MESSAGE HIDE,F_DATALIM|HIDE,F_DATAINI|HIDE,F_DATAFINE
MESSAGE RESET,F_DATAINI|RESET,F_DATALIM|RESET,F_DATAFINE
MESSAGE SHOW,F_STAMPAINT|SHOW,F_STAMPACOD|SHOW,F_STAMPAMOV|SHOW,F_STAMPAMODULO
MESSAGE COPY,F_TIPOSTAMPA
END
DATE F_DATASTAMPA
BEGIN
PROMPT 4 4 "Data stampa "
FLAGS "A"
END
TEXT 96
BEGIN
PROMPT 4 9 "Dalla data competenza "
END
TEXT 97
BEGIN
PROMPT 40 9 "Alla data competenza "
END
TEXT 98
BEGIN
PROMPT 4 9 "Dalla data operazione "
END
TEXT 99
BEGIN
PROMPT 40 9 "Alla data operazione "
END
DATE F_DATALIM
BEGIN
PROMPT 4 9 "Data limite "
// VALIDATE NOT_EMPTY_FUNC
END
DATE F_DATABILRAF
BEGIN
PROMPT 36 9 "Data bil. da raffrontare "
// VALIDATE NOT_EMPTY_FUNC
END
DATE F_DATAINI
BEGIN
PROMPT 26 9 ""
// VALIDATE NOT_EMPTY_FUNC
END
DATE F_DATAFINE
BEGIN
PROMPT 62 9 ""
// VALIDATE NOT_EMPTY_FUNC
END
BOOLEAN F_STAMPAINT
BEGIN
PROMPT 4 11 "Stampa intera struttura"
END
BOOLEAN F_STAMPACOD
BEGIN
PROMPT 41 11 "Non stampare cod. conti"
END
BOOLEAN F_STAMPAMOV
BEGIN
PROMPT 4 12 "Non stampare mov. con saldo a 0"
END
BOOLEAN F_STAMPAMOVPROV
BEGIN
PROMPT 41 12 "Stampa movimenti provvisori"
END
BOOLEAN F_STAMPAMODULO
BEGIN
PROMPT 4 13 "Stampa su modulo stretto"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

View File

@ -1,42 +1,42 @@
#ifndef __CG3200_H
#define __CG3200_H
#define TAB_IVD "%IVD"
#define TAB_TPD "%TPD"
#define TAB_REG "REG"
#define TAB_ESC "ESC"
#define F_CODDITTA 101
#define F_RAGSOC 102
#define F_TIPOCF 103
#define F_GRUPPOINI 104
#define F_GRUPPOFINE 105
#define F_CONTOINI 106
#define F_CONTOFINE 107
#define F_SOTTOCINI_CONTO 108
#define F_SOTTOCFINE_CONTO 109
#define F_SOTTOCINI_CLIENTE 110
#define F_SOTTOCFINE_CLIENTE 111
#define F_SOTTOCINI_FORN 112
#define F_SOTTOCFINE_FORN 113
#define F_DESCRINI_CONTO 114
#define F_DESCRFINE_CONTO 115
#define F_DESCRINI_CLIENTE 116
#define F_DESCRFINE_CLIENTE 117
#define F_DESCRINI_FORN 118
#define F_DESCRFINE_FORN 119
#define F_DATAINI 120
#define F_DATAFINE 121
#define F_STAMPANUM 122
#define F_STAMPAPROGRE 123
#define F_STAMPATOTIVA 124
#define F_TIPOSTAMPA 125
#define F_STAMPAMOVPROV 126
#define F_MEMORIZZA 127
#define F_NUMCARAT 128
#define F_NUMMAST 129
#define F_ANNO 130
#define F_FORMATO 131
#endif // __CG3200_H
#ifndef __CG3200_H
#define __CG3200_H
#define TAB_IVD "%IVD"
#define TAB_TPD "%TPD"
#define TAB_REG "REG"
#define TAB_ESC "ESC"
#define F_CODDITTA 101
#define F_RAGSOC 102
#define F_TIPOCF 103
#define F_GRUPPOINI 104
#define F_GRUPPOFINE 105
#define F_CONTOINI 106
#define F_CONTOFINE 107
#define F_SOTTOCINI_CONTO 108
#define F_SOTTOCFINE_CONTO 109
#define F_SOTTOCINI_CLIENTE 110
#define F_SOTTOCFINE_CLIENTE 111
#define F_SOTTOCINI_FORN 112
#define F_SOTTOCFINE_FORN 113
#define F_DESCRINI_CONTO 114
#define F_DESCRFINE_CONTO 115
#define F_DESCRINI_CLIENTE 116
#define F_DESCRFINE_CLIENTE 117
#define F_DESCRINI_FORN 118
#define F_DESCRFINE_FORN 119
#define F_DATAINI 120
#define F_DATAFINE 121
#define F_STAMPANUM 122
#define F_STAMPAPROGRE 123
#define F_STAMPATOTIVA 124
#define F_TIPOSTAMPA 125
#define F_STAMPAMOVPROV 126
#define F_MEMORIZZA 127
#define F_NUMCARAT 128
#define F_NUMMAST 129
#define F_ANNO 130
#define F_FORMATO 131
#endif // __CG3200_H

View File

@ -886,17 +886,17 @@ _DescrItem* CG4300_App::recalc_rimborso(int month, const char* codatts)
d->_r7 = ala * CENTO;
}
if (rimborsami)
{
// il rimborso viene chiesto automaticamente
look_lim(month);
real cred = _lim->get_real("R0");
if (cred.sign() < 0)
{
_lim->put("R1",abs(cred));
_lim->rewrite();
}
}
// if (rimborsami)
// {
// il rimborso NON viene chiesto
// look_lim(month);
// real cred = _lim->get_real("R0");
// if (cred.sign() < 0)
// {
// _lim->put("R1",abs(cred));
// _lim->rewrite();
// }
// }
return d;
}

View File

@ -1,11 +1,11 @@
#define F_ANNO 101
#define F_TIPOCF 102
#define F_GRUPPO 103
#define F_CONTO 104
#define F_SOTTOCONTO 105
#define F_DESCR_CONTO 106
#define F_SOTTOC_CLIENTE 107
#define F_DESCR_CLIENTE 108
#define F_SOTTOC_FORN 109
#define F_DESCR_FORN 110
#define F_SHEET_SALDI 111
#define F_ANNO 101
#define F_TIPOCF 102
#define F_GRUPPO 103
#define F_CONTO 104
#define F_SOTTOCONTO 105
#define F_DESCR_CONTO 106
#define F_SOTTOC_CLIENTE 107
#define F_DESCR_CLIENTE 108
#define F_SOTTOC_FORN 109
#define F_DESCR_FORN 110
#define F_SHEET_SALDI 111

View File

@ -1,82 +1,82 @@
#ifndef __CONTO_H
#define __CONTO_H
#ifndef __STRINGS_H
#include <strings.h>
#endif
#ifndef __REAL_H
#include <real.h>
#endif
class TBill : public TSortable
{
char _tipo; // ' ' = Conto, 'C' = Cliente, 'F' = 'Fornitore'
int _gruppo, _conto;
long _sottoconto; // Sottoconto, codice cliente o fornitore
TString80 _descrizione; // Vuota fino alla chiamata di describe
int _tipo_cr; // Tipo costo/ricavo
protected:
virtual int compare(const TSortable& s) const;
virtual const char* class_name() const { return "Conto"; }
const char* describe();
const TBill& copy(const TBill& b);
public:
TBill(int g = 0, int c = 0, long s = 0L, char t = ' ', const char* d = NULL, int r = -1)
: _tipo(t), _gruppo(g), _conto(c), _sottoconto(s), _descrizione(d), _tipo_cr(r) { set(g,c,s,t,d,r);}
TBill(TToken_string& tgcsd, int from, int mode = 0);
TBill(const TBill& b) { copy(b); }
virtual ~TBill() {}
const TBill& set(int g = 0, int c = 0, long s = 0L, char t = ' ',
const char* d = NULL, int r = -1);
const TBill& add_to(TToken_string& ts, int from, int mode = 0);
const TBill& operator=(const TBill& b) { return copy(b); }
virtual bool ok() const; // Gruppo, Conto e Sottoconto non nulli
bool empty() const { return _gruppo==0 && _conto==0 && _sottoconto == 0; }
char tipo() const { return _tipo; }
int gruppo() const { return _gruppo; }
int conto() const { return _conto; }
long sottoconto() const { return _sottoconto; }
const TString& descrizione();
int tipo_cr();
void tipo_cr(int tcr) { _tipo_cr = tcr; }
int tipo_att();
bool read(TRectype& r);
const char* string(int mode = 0);
};
enum TIndbil { ib_null, ib_attivita, ib_passivita, ib_costi, ib_ricavi, ib_conti_ordine };
class TConto : public TBill
{
real _dare, _avere, _darepro, _averepro, _saldo;
public:
TConto(int g = 0, int c = 0, long s = 0L, char t = ' ', const char* d = NULL)
: TBill(g, c, s, t, d) {}
TConto (TToken_string& tgcsd, int from, int mode = 0)
: TBill(tgcsd, from, mode) {};
real& dare() { return _dare; }
real& avere() { return _avere; }
real& darepro() { return _darepro; }
real& averepro() { return _averepro; }
real& saldo() { return _saldo; }
};
#endif
#ifndef __CONTO_H
#define __CONTO_H
#ifndef __STRINGS_H
#include <strings.h>
#endif
#ifndef __REAL_H
#include <real.h>
#endif
class TBill : public TSortable
{
char _tipo; // ' ' = Conto, 'C' = Cliente, 'F' = 'Fornitore'
int _gruppo, _conto;
long _sottoconto; // Sottoconto, codice cliente o fornitore
TString80 _descrizione; // Vuota fino alla chiamata di describe
int _tipo_cr; // Tipo costo/ricavo
protected:
virtual int compare(const TSortable& s) const;
virtual const char* class_name() const { return "Conto"; }
const char* describe();
const TBill& copy(const TBill& b);
public:
TBill(int g = 0, int c = 0, long s = 0L, char t = ' ', const char* d = NULL, int r = -1)
: _tipo(t), _gruppo(g), _conto(c), _sottoconto(s), _descrizione(d), _tipo_cr(r) { set(g,c,s,t,d,r);}
TBill(TToken_string& tgcsd, int from, int mode = 0);
TBill(const TBill& b) { copy(b); }
virtual ~TBill() {}
const TBill& set(int g = 0, int c = 0, long s = 0L, char t = ' ',
const char* d = NULL, int r = -1);
const TBill& add_to(TToken_string& ts, int from, int mode = 0);
const TBill& operator=(const TBill& b) { return copy(b); }
virtual bool ok() const; // Gruppo, Conto e Sottoconto non nulli
bool empty() const { return _gruppo==0 && _conto==0 && _sottoconto == 0; }
char tipo() const { return _tipo; }
int gruppo() const { return _gruppo; }
int conto() const { return _conto; }
long sottoconto() const { return _sottoconto; }
const TString& descrizione();
int tipo_cr();
void tipo_cr(int tcr) { _tipo_cr = tcr; }
int tipo_att();
bool read(TRectype& r);
const char* string(int mode = 0);
};
enum TIndbil { ib_null, ib_attivita, ib_passivita, ib_costi, ib_ricavi, ib_conti_ordine };
class TConto : public TBill
{
real _dare, _avere, _darepro, _averepro, _saldo;
public:
TConto(int g = 0, int c = 0, long s = 0L, char t = ' ', const char* d = NULL)
: TBill(g, c, s, t, d) {}
TConto (TToken_string& tgcsd, int from, int mode = 0)
: TBill(tgcsd, from, mode) {};
real& dare() { return _dare; }
real& avere() { return _avere; }
real& darepro() { return _darepro; }
real& averepro() { return _averepro; }
real& saldo() { return _saldo; }
};
#endif