77qd1.frm Corrette posizioni dei totali, ora uguali alle righe normali

77stq.cpp     Corretto criterio di raggruppamento del quadro D1


git-svn-id: svn://10.65.10.50/trunk@3813 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-10-21 16:55:31 +00:00
parent 1ad524cc85
commit 7eb9858305
2 changed files with 64 additions and 76 deletions

View File

@ -164,7 +164,7 @@ BEGIN
PROMPT 105 8 ""
END
NUMBER 14
NUMERO 14
BEGIN
KEY "NUM. FOGLIO"
PROMPT 125 11 ""
@ -348,7 +348,7 @@ BEGIN
FIELD 14@->S3
END
NUMBER 12
NUMERO 12
BEGIN
KEY "TOTALE"
PROMPT 23 5 ""
@ -357,7 +357,7 @@ BEGIN
MESSAGE ADD,FL->12
END
NUMBER 13
NUMERO 13
BEGIN
KEY "QUOTA PROVVIGIONI"
PROMPT 40 5 ""
@ -366,7 +366,7 @@ BEGIN
MESSAGE ADD,FL->13
END
NUMBER 14
NUMERO 14
BEGIN
KEY "SPESE ANTICIPATE"
PROMPT 57 5 ""
@ -375,7 +375,7 @@ BEGIN
MESSAGE ADD,FL->14
END
NUMBER 15
NUMERO 15
BEGIN
KEY "IMPONIBILE"
PROMPT 75 5 ""
@ -392,7 +392,7 @@ BEGIN
// PICTURE "##@,@@"
END
NUMBER 17
NUMERO 17
BEGIN
KEY "IMPORTO"
PROMPT 104 5 ""
@ -401,7 +401,7 @@ BEGIN
MESSAGE ADD,FL->17
END
NUMBER 18
NUMERO 18
BEGIN
KEY "NETTO"
PROMPT 120 5 ""
@ -414,45 +414,45 @@ END
SECTION FOOTER LAST 6
NUMBER 12
NUMERO 12
BEGIN
KEY "TOTALE TOTALE"
PROMPT 19 1 ""
PROMPT 23 1 ""
PICTURE "###.###.###^^^"
END
NUMBER 13
NUMERO 13
BEGIN
KEY "TOTALE QUOTA PROVVIGIONI"
PROMPT 36 1 ""
PROMPT 40 1 ""
PICTURE "###.###.###^^^"
END
NUMBER 14
NUMERO 14
BEGIN
KEY "TOTALE SPESE ANTICIPATE"
PROMPT 53 1 ""
PROMPT 57 1 ""
PICTURE "###.###.###^^^"
END
NUMBER 15
NUMERO 15
BEGIN
KEY "TOTALE IMPONIBILE"
PROMPT 70 1 ""
PROMPT 75 1 ""
PICTURE "###.###.###^^^"
END
NUMBER 17
NUMERO 17
BEGIN
KEY "TOTALE IMPORTO"
PROMPT 99 1 ""
PROMPT 104 1 ""
PICTURE "###.###.###^^^"
END
NUMBER 18
NUMERO 18
BEGIN
KEY "TOTALE NETTO"
PROMPT 115 1 ""
PROMPT 120 1 ""
PICTURE "###.###.###^^^"
END

View File

@ -1844,7 +1844,7 @@ protected:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
public:
bool controlla_percentuale(TCursor* cur, const real& perc_p);
bool controlla_percentuale(TCursor& cur);
void set_body(TPrinter& pr, const char tipo);
void setta_importi(TPrint_section& body);
void leggi_importi();
@ -1853,36 +1853,34 @@ public:
virtual ~TQuadroD() {}
};
bool TQuadroD::controlla_percentuale(TCursor* cur, const real& perc_p)
bool TQuadroD::controlla_percentuale(TCursor& cur)
{
bool stampa = TRUE;
const TRectype& rec = cur->curr();
const TRectype& rec = cur.curr();
long ditta_p = rec.get_long(QUD_CODDITTA);
char tipo_p = rec.get_char(QUD_TIPOA);
long codana_p = rec.get_long(QUD_CODANAGR);
TString codcaus_p = cur->curr(-14).get("S2");
real perc_p = rec.get_real(QUD_PERC);
TString codcaus_p = cur.curr(-14).get("S2");
++(*cur);
++cur;
long ditta = rec.get_long(QUD_CODDITTA);
char tipo = rec.get_char(QUD_TIPOA);
long codana = rec.get_long(QUD_CODANAGR);
real perc = rec.get_real(QUD_PERC);
TString codcaus = cur->curr(-14).get("S2");
TString codcaus = cur->curr(-14).get("S2");
if (ditta == ditta_p && tipo == tipo_p &&
codana == codana_p && codcaus == codcaus_p)
codana == codana_p && codcaus == codcaus_p &&
perc == perc_p)
{
// if (perc == perc_p || (perc_p == ZERO && perc != ZERO))
if (perc == perc_p)
{
stampa = FALSE;
_devo_sommare = TRUE;
}
stampa = FALSE;
_devo_sommare = TRUE;
}
--(*cur);
--cur;
return stampa;
}
@ -2047,8 +2045,7 @@ bool TQuadroD::print(const long codditta, const long NumFis, const long NumNoFis
CtrFis--;
if (CtrFis == 0L) _finite_fis = TRUE;
real perc_p = cur->curr().get_real(QUD_PERC);
stampa = controlla_percentuale(cur, perc_p);
stampa = controlla_percentuale(*cur);
if (stampa)
set_body(pr, 'F');
else
@ -2099,8 +2096,7 @@ bool TQuadroD::print(const long codditta, const long NumFis, const long NumNoFis
CtrFis--;
if (CtrFis == 0L) _finite_fis = TRUE;
real perc_p = cur->curr().get_real(QUD_PERC);
stampa = controlla_percentuale(cur,perc_p);
stampa = controlla_percentuale(*cur);
if (stampa)
set_body(pr, 'F');
else
@ -2146,8 +2142,7 @@ bool TQuadroD::print(const long codditta, const long NumFis, const long NumNoFis
if (CtrFis == 0L)
_finite_fis = TRUE;
real perc_p = cur->curr().get_real(QUD_PERC);
stampa = controlla_percentuale(cur,perc_p);
stampa = controlla_percentuale(*cur);
if (stampa)
set_body(pr, 'F');
else
@ -2234,8 +2229,7 @@ bool TQuadroD::print(const long codditta, const long NumFis, const long NumNoFis
CtrNoFis--;
if (CtrNoFis == 0L) _finite_nofis = TRUE;
real perc_p = cur->curr().get_real(QUD_PERC);
stampa = controlla_percentuale(cur,perc_p);
stampa = controlla_percentuale(*cur);
if (stampa)
set_body(pr, 'G');
else
@ -2335,7 +2329,7 @@ protected:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
public:
bool controlla_percentuale(TCursor* cur, const real& perc_p);
bool controlla_percentuale(TCursor& cur);
void set_body(TPrinter& pr, const char tipo);
void setta_importi(TPrint_section& body);
void leggi_importi();
@ -2344,35 +2338,33 @@ public:
virtual ~TQuadroD1() {}
};
bool TQuadroD1::controlla_percentuale(TCursor* cur, const real& perc_p)
bool TQuadroD1::controlla_percentuale(TCursor& cur)
{
bool stampa = TRUE;
if (perc_p == ZERO)
{
long ditta_p = cur->curr().get_long(QD1_CODDITTA);
char tipo_p = cur->curr().get_char(QD1_TIPOA);
long codana_p = cur->curr().get_long(QD1_CODANAGR);
TString codcaus_p = cur->curr().get (QD1_CODCAUS);
const TRectype& rec = cur.curr();
long ditta_p = rec.get_long(QD1_CODDITTA);
char tipo_p = rec.get_char(QD1_TIPOA);
long codana_p = rec.get_long(QD1_CODANAGR);
real perc_p = rec.get_real(QD1_PERC);
TString codcaus_p = cur.curr(-14).get("S3");
++(*cur);
long ditta = cur->curr().get_long(QD1_CODDITTA);
char tipo = cur->curr().get_char(QD1_TIPOA);
long codana = cur->curr().get_long(QD1_CODANAGR);
TString codcaus = cur->curr().get (QD1_CODCAUS);
real perc = cur->curr().get_real(QD1_PERC);
++cur;
long ditta = rec.get_long(QD1_CODDITTA);
char tipo = rec.get_char(QD1_TIPOA);
long codana = rec.get_long(QD1_CODANAGR);
real perc = rec.get_real(QD1_PERC);
TString codcaus = cur.curr(-14).get("S3");
if (ditta == ditta_p && tipo == tipo_p &&
codana == codana_p && codcaus == codcaus_p)
{
if (perc != ZERO)
{
stampa = FALSE;
_devo_sommare = TRUE;
}
}
--(*cur);
}
if (ditta == ditta_p && tipo == tipo_p &&
codana == codana_p && codcaus == codcaus_p &&
perc == perc_p)
{
stampa = FALSE;
_devo_sommare = TRUE;
}
--cur;
return stampa;
}
@ -2564,8 +2556,7 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
if (righe > 0 && PtrFis == UltimoRitenutaAcconto+1)
break;
const real perc_p = cur_rec.get_real(QD1_PERC);
const bool stampa = controlla_percentuale(&cur, perc_p);
const bool stampa = controlla_percentuale(cur);
if (stampa)
set_body(pr, 'F');
else
@ -2597,8 +2588,7 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
if (PtrFis == UltimoRitenutaAcconto+1)
break;
real perc_p = cur_rec.get_real(QD1_PERC);
const bool stampa = controlla_percentuale(&cur, perc_p);
const bool stampa = controlla_percentuale(cur);
if (stampa)
set_body(pr, 'F');
else
@ -2627,8 +2617,7 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
if (PtrFis == UltimoRitenutaAcconto+1)
break;
real perc_p = cur_rec.get_real(QD1_PERC);
const bool stampa = controlla_percentuale(&cur, perc_p);
const bool stampa = controlla_percentuale(cur);
if (stampa)
set_body(pr, 'F');
else
@ -2675,8 +2664,7 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
const char tipo = cur_rec.get(QD1_TIPOA)[0];
if (tipo == 'G')
{
real perc_p = cur_rec.get_real(QD1_PERC);
const bool stampa = controlla_percentuale(&cur, perc_p);
const bool stampa = controlla_percentuale(cur);
if (stampa)
set_body(pr, 'G');
else