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

View File

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