Correzione errori

git-svn-id: svn://10.65.10.50/trunk@3747 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
ale 1996-10-10 12:05:58 +00:00
parent fc852afa39
commit 54b473bf48
16 changed files with 2844 additions and 2788 deletions

View File

@ -8,7 +8,7 @@ JOIN 13 TO 6 ALIAS 213 INTO COM=COMRF(COMRES)
JOIN 6 TO 61 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR JOIN 6 TO 61 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR
JOIN 13 TO 218@ ALIAS 313 INTO COM=COMNASC JOIN 13 TO 218@ ALIAS 313 INTO COM=COMNASC
JOIN 13 TO 216@ ALIAS 413 INTO COM=COMRES JOIN 13 TO 216@ ALIAS 413 INTO STATO=STATORES COM=COMRES
JOIN %STA TO 216@ ALIAS 24 INTO CODTAB=STATORES JOIN %STA TO 216@ ALIAS 24 INTO CODTAB=STATORES
END END
@ -50,14 +50,14 @@ END
STRINGA 1 STRINGA 1
BEGIN BEGIN
KEY "CODICE FISCALE" KEY "CODICE FISCALE"
PROMPT 3 10 "" PROMPT 3 9 ""
FIELD 116@->COFI FIELD 116@->COFI
END END
STRINGA 2 STRINGA 2
BEGIN BEGIN
KEY "RAGIONE SOCIALE" KEY "RAGIONE SOCIALE"
PROMPT 39 10 "" PROMPT 39 9 ""
FIELD 116@->RAGSOC FIELD 116@->RAGSOC
GROUP 2 GROUP 2
END END
@ -65,7 +65,7 @@ END
STRINGA 3 STRINGA 3
BEGIN BEGIN
KEY "COGNOME" KEY "COGNOME"
PROMPT 39 10 "" PROMPT 39 9 ""
FIELD 116@->RAGSOC[1,30] FIELD 116@->RAGSOC[1,30]
GROUP 1 GROUP 1
END END
@ -73,7 +73,7 @@ END
STRINGA 4 STRINGA 4
BEGIN BEGIN
KEY "NOME" KEY "NOME"
PROMPT 17 12 "" PROMPT 17 11 ""
FIELD 116@->RAGSOC[31,50] FIELD 116@->RAGSOC[31,50]
GROUP 1 GROUP 1
END END
@ -81,7 +81,7 @@ END
STRINGA 5 STRINGA 5
BEGIN BEGIN
KEY "SESSO" KEY "SESSO"
PROMPT 59 12 "" PROMPT 59 11 ""
FIELD 118@->SESSO FIELD 118@->SESSO
GROUP 1 GROUP 1
END END
@ -89,7 +89,7 @@ END
STRINGA 6 STRINGA 6
BEGIN BEGIN
KEY "DATA DI NASCITA" KEY "DATA DI NASCITA"
PROMPT 63 12 "" PROMPT 67 11 ""
FIELD 118@->DATANASC FIELD 118@->DATANASC
GROUP 1 GROUP 1
END END
@ -97,7 +97,7 @@ END
STRINGA 7 STRINGA 7
BEGIN BEGIN
KEY "COMUNE DI NASCITA" KEY "COMUNE DI NASCITA"
PROMPT 83 12 "" PROMPT 83 11 ""
FIELD 113@->DENCOM FIELD 113@->DENCOM
GROUP 1 GROUP 1
END END
@ -105,7 +105,7 @@ END
STRINGA 8 STRINGA 8
BEGIN BEGIN
KEY "PROV. DI NASCITA" KEY "PROV. DI NASCITA"
PROMPT 125 12 "" PROMPT 125 11 ""
FIELD 113@->PROVCOM FIELD 113@->PROVCOM
GROUP 1 GROUP 1
END END
@ -113,21 +113,21 @@ END
STRINGA 10 STRINGA 10
BEGIN BEGIN
KEY "COMUNE DI RES.FISCALE" KEY "COMUNE DI RES.FISCALE"
PROMPT 17 14 "" PROMPT 17 13 ""
FIELD 213@->DENCOM FIELD 213@->DENCOM
END END
STRINGA 11 STRINGA 11
BEGIN BEGIN
KEY "PROV DI RES.FISCALE" KEY "PROV DI RES.FISCALE"
PROMPT 59 14 "" PROMPT 59 13 ""
FIELD 213@->PROVCOM FIELD 213@->PROVCOM
END END
STRINGA 12 STRINGA 12
BEGIN BEGIN
KEY "VIA di RES." KEY "VIA di RES."
PROMPT 67 14 "" PROMPT 67 13 ""
FIELD 116@->INDRF FIELD 116@->INDRF
FIELD 116@->INDRES FIELD 116@->INDRES
FLAGS "H" FLAGS "H"
@ -137,7 +137,7 @@ END
STRINGA 15 STRINGA 15
BEGIN BEGIN
KEY "NUM. CIVICO di RES." KEY "NUM. CIVICO di RES."
PROMPT 103 14 "" PROMPT 103 13 ""
FIELD 116@->CIVRF FIELD 116@->CIVRF
FIELD 116@->CIVRES FIELD 116@->CIVRES
FLAGS "H" FLAGS "H"
@ -147,13 +147,13 @@ END
STRINGA 17 STRINGA 17
BEGIN BEGIN
KEY "VIA + NUM CIV. DI RES." KEY "VIA + NUM CIV. DI RES."
PROMPT 67 14 "" PROMPT 67 13 ""
END END
STRINGA 16 STRINGA 16
BEGIN BEGIN
KEY "CAP" KEY "CAP"
PROMPT 124 14 "" PROMPT 124 13 ""
FIELD 116@->CAPRF FIELD 116@->CAPRF
FIELD 116@->CAPRES FIELD 116@->CAPRES
END END
@ -161,13 +161,13 @@ END
STRINGA 13 STRINGA 13
BEGIN BEGIN
KEY "CODICE FISCALE DICHIARANTE" KEY "CODICE FISCALE DICHIARANTE"
PROMPT 105 17 "" PROMPT 105 16 ""
END END
NUMBER 14 NUMBER 14
BEGIN BEGIN
KEY "NUM. FOGLIO" KEY "NUM. FOGLIO"
PROMPT 125 20 "" PROMPT 125 19 ""
END END
END END
@ -329,7 +329,7 @@ BEGIN
PROMPT 91 5 "" PROMPT 91 5 ""
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
MESSAGE ADD,FL->17 MESSAGE ADD,FL->17
FIELD 61->IMPONIBILE // FIELD 61->IMPONIBILE
END END
NUMBER 18 NUMBER 18
@ -338,7 +338,7 @@ BEGIN
PROMPT 105 5 "" PROMPT 105 5 ""
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
MESSAGE ADD,FL->18 MESSAGE ADD,FL->18
FIELD 61->RITENUTE // FIELD 61->RITENUTE
END END
NUMBER 19 NUMBER 19
@ -347,7 +347,7 @@ BEGIN
PROMPT 120 5 "" PROMPT 120 5 ""
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
MESSAGE ADD,FL->19 MESSAGE ADD,FL->19
FIELD 61->NETTO // FIELD 61->NETTO
END END
END END
@ -396,4 +396,11 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
END END
STRINGA 2
BEGIN
KEY "FIRMA"
PROMPT 83 5 ""
FIELD 116@->RAGSOC
END
END END

View File

@ -8,8 +8,8 @@ JOIN 13 TO 6 ALIAS 213 INTO COM=COMRF(COMRES)
JOIN 6 TO 62 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR JOIN 6 TO 62 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR
JOIN 13 TO 218@ ALIAS 313 INTO COM=COMNASC JOIN 13 TO 218@ ALIAS 313 INTO COM=COMNASC
JOIN 13 TO 216@ ALIAS 413 INTO COM=COMRES JOIN 13 TO 216@ ALIAS 413 INTO STATO=STATORES COM=COMRES
JOIN 13 TO 216@ ALIAS 513 INTO COM=COMRF(COMRES) JOIN 13 TO 216@ ALIAS 513 INTO STATO=""(STATORES) COM=COMRF(COMRES)
JOIN %STA TO 216@ ALIAS 24 INTO CODTAB=STATORES JOIN %STA TO 216@ ALIAS 24 INTO CODTAB=STATORES
END END
@ -37,7 +37,7 @@ BEGIN
FI 131 FI 131
END END
SECTION HEADER FIRST 19 SECTION HEADER FIRST 20
LISTA 9 LISTA 9
BEGIN BEGIN
@ -348,14 +348,14 @@ END
STRING 15 STRING 15
BEGIN BEGIN
KEY "DESCR. CAUSALE" KEY "DESCR. CAUSALE"
PROMPT 11 7 "" PROMPT 12 7 ""
FIELD 14@->S0[1,20] FIELD 14@->S2
END END
NUMBER 16 NUMBER 16
BEGIN BEGIN
KEY "TOTALE" KEY "TOTALE"
PROMPT 42 7 "" PROMPT 26 7 ""
// FIELD 62->TOTALE // FIELD 62->TOTALE
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
MESSAGE ADD,FL->16 MESSAGE ADD,FL->16
@ -364,7 +364,7 @@ END
NUMBER 17 NUMBER 17
BEGIN BEGIN
KEY "SOMME NON SOGGETTE A RITENUTA" KEY "SOMME NON SOGGETTE A RITENUTA"
PROMPT 61 7 "" PROMPT 47 7 ""
// FIELD 62->SOMME // FIELD 62->SOMME
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
MESSAGE ADD,FL->17 MESSAGE ADD,FL->17
@ -373,7 +373,7 @@ END
NUMBER 18 NUMBER 18
BEGIN BEGIN
KEY "IMPONIBILE" KEY "IMPONIBILE"
PROMPT 82 7 "" PROMPT 67 7 ""
// FIELD 62->IMPONIBILE // FIELD 62->IMPONIBILE
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
MESSAGE ADD,FL->18 MESSAGE ADD,FL->18
@ -382,7 +382,7 @@ END
STRING 19 STRING 19
BEGIN BEGIN
KEY "ALIQUOTA" KEY "ALIQUOTA"
PROMPT 93 7 "" PROMPT 84 7 ""
FIELD 62->PERC FIELD 62->PERC
PICTURE "###@@" PICTURE "###@@"
END END
@ -390,7 +390,7 @@ END
NUMBER 20 NUMBER 20
BEGIN BEGIN
KEY "IMPORTO" KEY "IMPORTO"
PROMPT 106 7 "" PROMPT 100 7 ""
// FIELD 62->IMPORTO // FIELD 62->IMPORTO
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
MESSAGE ADD,FL->20 MESSAGE ADD,FL->20
@ -399,7 +399,7 @@ END
NUMBER 21 NUMBER 21
BEGIN BEGIN
KEY "NETTO" KEY "NETTO"
PROMPT 126 7 "" PROMPT 120 7 ""
// FIELD 62->NETTO // FIELD 62->NETTO
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
MESSAGE ADD,FL->21 MESSAGE ADD,FL->21
@ -407,33 +407,33 @@ END
END END
SECTION FOOTER LAST 1 SECTION FOOTER LAST 5
NUMBER 16 NUMBER 16
BEGIN BEGIN
KEY "TOTALE TOTALE" KEY "TOTALE TOTALE"
PROMPT 36 1 "" PROMPT 26 1 ""
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
END END
NUMBER 17 NUMBER 17
BEGIN BEGIN
KEY "TOTALE SOMME NON SOGGETTE" KEY "TOTALE SOMME NON SOGGETTE"
PROMPT 55 1 "" PROMPT 47 1 ""
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
END END
NUMBER 18 NUMBER 18
BEGIN BEGIN
KEY "TOTALE IMPONIBILE" KEY "TOTALE IMPONIBILE"
PROMPT 75 1 "" PROMPT 67 1 ""
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
END END
NUMBER 20 NUMBER 20
BEGIN BEGIN
KEY "TOTALE IMPORTO" KEY "TOTALE IMPORTO"
PROMPT 101 1 "" PROMPT 100 1 ""
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
END END
@ -444,4 +444,12 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
END END
STRINGA 2
BEGIN
KEY "FIRMA"
PROMPT 83 5 ""
FIELD 116@->RAGSOC
GROUP 2
END
END END

View File

@ -8,8 +8,8 @@ JOIN 13 TO 6 ALIAS 213 INTO COM=COMRF(COMRES)
JOIN 6 TO 63 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR JOIN 6 TO 63 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR
JOIN 13 TO 218@ ALIAS 313 INTO COM=COMNASC JOIN 13 TO 218@ ALIAS 313 INTO COM=COMNASC
JOIN 13 TO 216@ ALIAS 413 INTO COM=COMRES JOIN 13 TO 216@ ALIAS 413 INTO STATO=STATORES COM=COMRES
JOIN 13 TO 216@ ALIAS 513 INTO COM=COMRF(COMRES) JOIN 13 TO 216@ ALIAS 513 INTO STATO=""(STATORES) COM=COMRF(COMRES)
JOIN %STA TO 216@ ALIAS 24 INTO CODTAB=STATORES JOIN %STA TO 216@ ALIAS 24 INTO CODTAB=STATORES
END END
@ -170,6 +170,8 @@ BEGIN
PROMPT 125 22 "" PROMPT 125 22 ""
END END
END
STRINGA 21 STRINGA 21
BEGIN BEGIN
KEY "Ritenuta d'acconto" KEY "Ritenuta d'acconto"
@ -181,9 +183,6 @@ BEGIN
KEY "Ritenuta d'imposta" KEY "Ritenuta d'imposta"
PROMPT 110 22 "" PROMPT 110 22 ""
END END
END
SECTION BODY ODD 6 SECTION BODY ODD 6
LISTA 100 LISTA 100
@ -456,4 +455,12 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
END END
STRINGA 2
BEGIN
KEY "FIRMA"
PROMPT 83 5 ""
FIELD 116@->RAGSOC
GROUP 2
END
END END

View File

@ -50,6 +50,11 @@ void TDicForm::set_cofi_dic(const char* cofi)
_codditta_dic = sogg_estinto(_codditta); _codditta_dic = sogg_estinto(_codditta);
} }
/*TCursor& TDicForm::cur()
{
return *_cur;
} */
void TDicForm::set_cursor(TCursor* cur) void TDicForm::set_cursor(TCursor* cur)
{ {
CHECK(cur, "NULL cursor in TDicForm"); CHECK(cur, "NULL cursor in TDicForm");
@ -675,6 +680,32 @@ void TDicForm::set_body(TPrinter& pr, const char tipo)
progind()->addstatus(1); progind()->addstatus(1);
} }
void TDicForm::firma_dichiarante()
{
TPrint_section& footer = section('F', last_page);
TForm_item& firma = footer.find_field(FIRMADIC);
if (_PaginaCorrente == PRIMA)
firma.hide();
if (_PaginaCorrente == QUARTA)
{
firma.show();
const int y = firma.y()-1;
TString cognome = firma.get();
if (cognome.len() > 30 && cognome[29] == ' ')
{
TString nome = cognome.mid(30, -1);
cognome.cut(30); cognome.trim();
cognome << ' ' << nome;
firma.set(cognome);
footer.row(y).reset();
footer.row(y).put(cognome, firma.x()-1);
}
}
// footer.update();
}
void TDicForm::posiziona() void TDicForm::posiziona()
{ {
@ -702,7 +733,7 @@ class TQuadroG : public TDicForm
void stampa_prospetti3_4(TPrinter& pr); void stampa_prospetti3_4(TPrinter& pr);
protected: protected:
virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; }
virtual void inc_curr_page(); virtual void inc_curr_page();
virtual void next_page(TPrinter& pr); virtual void next_page(TPrinter& pr);
virtual void stampa_totali(TPrinter& pr) {} virtual void stampa_totali(TPrinter& pr) {}
@ -1859,10 +1890,11 @@ bool TQuadroD::print(const long codditta, const long NumFis, const long NumNoFis
{ {
for (int pagina=1; pagina <= QD_PAGINE; pagina++, next_page(pr)) for (int pagina=1; pagina <= QD_PAGINE; pagina++, next_page(pr))
{ {
pr.formlen(QD_FORMLEN); // pr.formlen(QD_FORMLEN);
firma_dichiarante();
if (_PaginaCorrente == PRIMA) if (_PaginaCorrente == PRIMA)
{ {
pr.formlen(dic_form_len());
if (_modulaser) ClearFlagModulaser(); if (_modulaser) ClearFlagModulaser();
bool testata = TRUE; bool testata = TRUE;
@ -1873,6 +1905,10 @@ bool TQuadroD::print(const long codditta, const long NumFis, const long NumNoFis
if (testata) if (testata)
{ {
(*cur) = PtrFis >= 0L ? PtrFis : 0L; (*cur) = PtrFis >= 0L ? PtrFis : 0L;
if (_PaginaPosizionamento)
fill_page(pr, 9);
else
fill_page(pr, 12);
stampa_testata(pr); stampa_testata(pr);
testata = FALSE; testata = FALSE;
} }
@ -1943,7 +1979,7 @@ bool TQuadroD::print(const long codditta, const long NumFis, const long NumNoFis
{ {
// Reset del flag di pagina con posiz. // Reset del flag di pagina con posiz.
if (_posiziona && _PaginaPosizionamento) _PaginaPosizionamento = FALSE; if (_posiziona && _PaginaPosizionamento) _PaginaPosizionamento = FALSE;
pr.formlen(dic_form_len());
bool testata = TRUE; bool testata = TRUE;
for (int righe=0; righe < QD_RIGHE_SECONDA; righe++) for (int righe=0; righe < QD_RIGHE_SECONDA; righe++)
{ {
@ -1991,6 +2027,7 @@ bool TQuadroD::print(const long codditta, const long NumFis, const long NumNoFis
if (_PaginaCorrente == TERZA) if (_PaginaCorrente == TERZA)
{ {
pr.formlen(dic_form_len());
bool testata = TRUE; bool testata = TRUE;
for (int righe=0; righe < QD_RIGHE_TERZA; righe++) for (int righe=0; righe < QD_RIGHE_TERZA; righe++)
{ {
@ -2040,8 +2077,8 @@ bool TQuadroD::print(const long codditta, const long NumFis, const long NumNoFis
if (_PaginaCorrente == QUARTA) if (_PaginaCorrente == QUARTA)
{ {
pr.formlen(dic_form_len());
azzera_totali(); azzera_totali();
bool testata = TRUE; bool testata = TRUE;
for (int righe=0; righe < QD_RIGHE_QUARTA; righe++) for (int righe=0; righe < QD_RIGHE_QUARTA; righe++)
{ {
@ -2116,6 +2153,7 @@ bool TQuadroD::print(const long codditta, const long NumFis, const long NumNoFis
} }
} }
PtrNoFis = cur->pos(); PtrNoFis = cur->pos();
firma_dichiarante();
} }
} // for pagina.. } // for pagina..
} // while !_EndPrintDitta } // while !_EndPrintDitta
@ -2223,14 +2261,14 @@ bool TQuadroD1::controlla_percentuale(TCursor* cur, const real& perc_p)
void TQuadroD1::leggi_importi() void TQuadroD1::leggi_importi()
{ {
TRectype& cur = cursor()->curr(); TCursor* cur = cursor();
_totale = cur.get_real(QD1_TOTALE); _totale = cur->curr().get_real(QD1_TOTALE);
_quotapro = cur.get_real(QD1_QUOTAPRO); _quotapro = cur->curr().get_real(QD1_QUOTAPRO);
_speseant = cur.get_real(QD1_SPESEANT); _speseant = cur->curr().get_real(QD1_SPESEANT);
_imponibile = cur.get_real(QD1_IMPONIBILE); _imponibile = cur->curr().get_real(QD1_IMPONIBILE);
_importo = cur.get_real(QD1_IMPORTO); _importo = cur->curr().get_real(QD1_IMPORTO);
_netto = cur.get_real(QD1_NETTO); _netto = cur->curr().get_real(QD1_NETTO);
} }
void TQuadroD1::setta_importi(TPrint_section& body) void TQuadroD1::setta_importi(TPrint_section& body)
@ -2316,7 +2354,6 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
bool StabilitaInesistenzaNoFis = FALSE; bool StabilitaInesistenzaNoFis = FALSE;
bool StabilitaInesistenzaFis = FALSE; bool StabilitaInesistenzaFis = FALSE;
bool StampatoRitenutaImposta = FALSE; bool StampatoRitenutaImposta = FALSE;
long CtrFis = NumFis; long CtrFis = NumFis;
long CtrNoFis = NumNoFis; long CtrNoFis = NumNoFis;
long PtrFis = -1L, PtrNoFis=-1L; long PtrFis = -1L, PtrNoFis=-1L;
@ -2340,17 +2377,19 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
{ {
for (int pagina=1; pagina <= QD_PAGINE; pagina++, next_page(pr)) for (int pagina=1; pagina <= QD_PAGINE; pagina++, next_page(pr))
{ {
pr.formlen(dic_form_len()); // pr.formlen(QD_FORMLEN);
firma_dichiarante();
if (_PaginaCorrente == PRIMA) if (_PaginaCorrente == PRIMA)
{ {
pr.formlen(dic_form_len());
if (_modulaser) ClearFlagModulaser(); if (_modulaser) ClearFlagModulaser();
bool testata = TRUE;
for (int righe=0; righe < QD1_RIGHE_PRIMA; righe++) for (int righe=0; righe < QD1_RIGHE_PRIMA; righe++)
{ {
stampa = TRUE; stampa = TRUE;
// Stampa intestazione, solo sul primo foglio. // Stampa intestazione, solo sul primo foglio.
if (righe == 0) if (testata)
{ {
(*cur) = PtrFis >= 0L ? PtrFis : 0L; (*cur) = PtrFis >= 0L ? PtrFis : 0L;
@ -2370,6 +2409,7 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
head.find_field(22).set(""); head.find_field(22).set("");
} }
stampa_testata(pr); stampa_testata(pr);
testata = FALSE;
} }
if (_finite_fis || StabilitaInesistenzaFis) if (_finite_fis || StabilitaInesistenzaFis)
@ -2404,21 +2444,19 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
(*cur) = PtrFis; (*cur) = PtrFis;
const char tipo = cur->curr().get(QD1_TIPOA)[0]; const char tipo = cur->curr().get(QD1_TIPOA)[0];
if (tipo == 'F') if (tipo != 'F')
break;
else
{ {
const bool rit_imp = !cur->curr(-14).get_bool("B0"); const bool rit_acc = cur->curr(-14).get_bool("B0");
if (righe > 0 && rit_imp && !StampatoRitenutaImposta) if (righe > 0 && !rit_acc && !StampatoRitenutaImposta) break;
break;
CtrFis--; CtrFis--;
if (CtrFis == 0L) _finite_fis = TRUE; if (CtrFis == 0L) _finite_fis = TRUE;
real perc_p = cur->curr().get_real(QD1_PERC); real perc_p = cur->curr().get_real(QD1_PERC);
stampa = controlla_percentuale(cur,perc_p); stampa = controlla_percentuale(cur,perc_p);
if (stampa) if (stampa)
{
set_body(pr, 'F'); set_body(pr, 'F');
}
else else
{ {
leggi_importi(); leggi_importi();
@ -2434,8 +2472,6 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
LastRecord = cur->pos() >= _Items-1; LastRecord = cur->pos() >= _Items-1;
} }
} }
else
break;
} // for righe.. } // for righe..
PtrFis = cur->pos(); PtrFis = cur->pos();
} }
@ -2445,6 +2481,7 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
// Reset del flag di pagina con posiz. // Reset del flag di pagina con posiz.
if (_posiziona && _PaginaPosizionamento) _PaginaPosizionamento = FALSE; if (_posiziona && _PaginaPosizionamento) _PaginaPosizionamento = FALSE;
pr.formlen(dic_form_len());
bool testata = TRUE; bool testata = TRUE;
for (int righe=0; righe < QD1_RIGHE_SECONDA; righe++) for (int righe=0; righe < QD1_RIGHE_SECONDA; righe++)
{ {
@ -2461,11 +2498,12 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
(*cur) = PtrFis; (*cur) = PtrFis;
const char tipo = cur->curr().get(QD1_TIPOA)[0]; const char tipo = cur->curr().get(QD1_TIPOA)[0];
if (tipo == 'F') if (tipo != 'F')
break;
else
{ {
const bool rit_imp = !cur->curr(-14).get_bool("B0"); const bool rit_acc = cur->curr(-14).get_bool("B0");
if (rit_imp && !StampatoRitenutaImposta) if (!rit_acc && !StampatoRitenutaImposta) break;
break;
CtrFis--; CtrFis--;
if (CtrFis == 0L) _finite_fis = TRUE; if (CtrFis == 0L) _finite_fis = TRUE;
@ -2473,9 +2511,7 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
real perc_p = cur->curr().get_real(QD1_PERC); real perc_p = cur->curr().get_real(QD1_PERC);
stampa = controlla_percentuale(cur,perc_p); stampa = controlla_percentuale(cur,perc_p);
if (stampa) if (stampa)
{
set_body(pr, 'F'); set_body(pr, 'F');
}
else else
{ {
leggi_importi(); leggi_importi();
@ -2490,8 +2526,6 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
LastRecord = cur->pos() >= _Items-1; LastRecord = cur->pos() >= _Items-1;
} }
} }
else
break;
} }
PtrFis = cur->pos(); PtrFis = cur->pos();
} }
@ -2499,6 +2533,7 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
if (_PaginaCorrente == TERZA) if (_PaginaCorrente == TERZA)
{ {
bool testata = TRUE; bool testata = TRUE;
pr.formlen(dic_form_len());
for (int righe=0; righe < QD1_RIGHE_TERZA; righe++) for (int righe=0; righe < QD1_RIGHE_TERZA; righe++)
{ {
stampa = TRUE; stampa = TRUE;
@ -2515,20 +2550,20 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
(*cur) = PtrFis; (*cur) = PtrFis;
const char tipo = cur->curr().get(QD1_TIPOA)[0]; const char tipo = cur->curr().get(QD1_TIPOA)[0];
if (tipo == 'F') if (tipo != 'F')
break;
else
{ {
const bool rit_imp = !cur->curr(-14).get_bool("B0"); const bool rit_acc = cur->curr(-14).get_bool("B0");
if (rit_imp && !StampatoRitenutaImposta) if (!rit_acc && !StampatoRitenutaImposta) break;
break;
CtrFis--; CtrFis--;
if (CtrFis == 0L) _finite_fis = TRUE; if (CtrFis == 0L) _finite_fis = TRUE;
real perc_p = cur->curr().get_real(QD1_PERC); real perc_p = cur->curr().get_real(QD1_PERC);
stampa = controlla_percentuale(cur,perc_p); stampa = controlla_percentuale(cur,perc_p);
if (stampa) if (stampa)
{
set_body(pr, 'F'); set_body(pr, 'F');
}
else else
{ {
leggi_importi(); leggi_importi();
@ -2544,14 +2579,13 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
LastRecord = cur->pos() >= _Items-1; LastRecord = cur->pos() >= _Items-1;
} }
} }
else
break;
} }
PtrFis = cur->pos(); PtrFis = cur->pos();
} }
if (_PaginaCorrente == QUARTA) if (_PaginaCorrente == QUARTA)
{ {
pr.formlen(dic_form_len());
azzera_totali(); azzera_totali();
bool testata = TRUE; bool testata = TRUE;
@ -2628,6 +2662,7 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
} }
} }
PtrNoFis = cur->pos(); PtrNoFis = cur->pos();
firma_dichiarante();
} }
} // for pagina.. } // for pagina..
} // while !_EndPrintDitta } // while !_EndPrintDitta
@ -2662,7 +2697,7 @@ bool TStampaQuadroD1::user_create()
_form = new TQuadroD1("77QD1", quadro()); _form = new TQuadroD1("77QD1", quadro());
TString sortkey(80); TString sortkey(80);
sortkey.format("CODDITTA|TIPOA|14@->B0-|216@->RAGSOC|CODANAGR|CODCAUS|PERC"); sortkey.format("CODDITTA|TIPOA|216@->RAGSOC|CODANAGR|CODCAUS|PERC", LF_QUAD1, LF_QUAD1);
_cur = new TSorted_cursor(_form->TForm::relation(), sortkey); _cur = new TSorted_cursor(_form->TForm::relation(), sortkey);
return TRUE; return TRUE;
@ -3203,7 +3238,7 @@ class TQuadroF : public TDicForm
void azzera_contatori(); void azzera_contatori();
void aggiorna_totali(char tipoprosp, TRectype& r); void aggiorna_totali(char tipoprosp, TRectype& r);
void stampa_totali(char tipoprosp, TPrinter& pr); void stampa_totali(char tipoprosp, TPrinter& pr);
virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; }
public: public:
virtual bool print(const long codditta, const long numfis=0L, const long numnofis=0L); virtual bool print(const long codditta, const long numfis=0L, const long numnofis=0L);
@ -3769,9 +3804,9 @@ bool get_alleg_730(const long codditta)
base.put("CODDITTA",(long)codditta); base.put("CODDITTA",(long)codditta);
if (base.read()==NOERR) if (base.read()==NOERR)
{ {
const long allegA=base.get_long("N730ALLA"); const long allegA=base.get_long("N730ALLA");
const long allegA2=base.get_long("N730ALLA2"); const long allegA2=base.get_long("N730ALLA2");
return allegA || allegA2; return allegA || allegA2;
} }
else else
return FALSE; return FALSE;
@ -3800,27 +3835,27 @@ bool TBusta::print(const long codditta, const long, const long)
all730.set(bAlleg730 ? "X" : ""); all730.set(bAlleg730 ? "X" : "");
TPrinter& pr=printer(); TPrinter& pr=printer();
TPrint_section& body = section('B', odd_page); TPrint_section& body = section('B', odd_page);
const int body_righe = body.height(); const int body_righe = body.height();
TCursor* cur=cursor(); TCursor* cur=cursor();
bool finito=FALSE; bool finito=FALSE;
(*cur)=0L; (*cur)=0L;
pr.formlen(BUSTA_CON_POSIZ); pr.formlen(BUSTA_CON_POSIZ);
if (!_PaginaPosizionamento) if (!_PaginaPosizionamento)
jump_to_line(pr,prima_riga(PRIMA)); jump_to_line(pr,prima_riga(PRIMA));
while (!finito) while (!finito)
{ {
body.reset(); body.reset();
body.update(); body.update();
for (int i=0; i < body_righe; i++) for (int i=0; i < body_righe; i++)
{ {
pr.print(body.row(i)); pr.print(body.row(i));
_RigaCorr++; _RigaCorr++;
} }
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
++(*cur); ++(*cur);
finito= cur->pos() >= cur->items()-1; finito= cur->pos() >= cur->items()-1;
pr.formlen(BUSTA_SENZA_POSIZ); pr.formlen(BUSTA_SENZA_POSIZ);
_PaginaPosizionamento=FALSE; _PaginaPosizionamento=FALSE;
} }
@ -3978,10 +4013,6 @@ int stampa_quadro(int argc, char* argv[])
{ {
app = new TStampaQuadroAggL(quadro, livello); app = new TStampaQuadroAggL(quadro, livello);
} }
else if (quadro == "N")
{
app = new TStampaQuadroAggN(quadro, livello);
}
if (app != NULL) if (app != NULL)
{ {

View File

@ -42,6 +42,8 @@ HIDDEN const char* VK_ENDDOC = "<VK>!0";
typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey; typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey;
// Campi form // Campi form
#define FIRMADIC 2 // Per usare la funzione firma_dichiarante() ricordarsi di definire
// nel footer il blocco dellla firma con id = 2
#define TOT_TOTALE 1 #define TOT_TOTALE 1
#define TOT_SNSRIT 2 #define TOT_SNSRIT 2
#define TOT_IMPON 3 #define TOT_IMPON 3
@ -170,6 +172,7 @@ class TDicForm : public TForm
void set_num_foglio(const int foglio) { _num_foglio = foglio; } void set_num_foglio(const int foglio) { _num_foglio = foglio; }
int num_foglio() const { return _num_foglio; } int num_foglio() const { return _num_foglio; }
virtual void azzera_totali(); virtual void azzera_totali();
void firma_dichiarante();
PaginaQuadro curr_page() const { return _PaginaCorrente; } PaginaQuadro curr_page() const { return _PaginaCorrente; }
// TCursor& cur(); // TCursor& cur();

View File

@ -155,7 +155,7 @@ int TQuadroC::prima_riga(PaginaQuadro p) const
{ {
// old return p == PRIMA ? 27 : 8; // old return p == PRIMA ? 27 : 8;
// nik1 return p == PRIMA ? 26 : 7; // nik1 return p == PRIMA ? 26 : 7;
return p == PRIMA ? 27 : 9; return p == PRIMA ? 26 : 8;
} }
bool TQuadroC::print(const long codditta, const long NumFis, const long NumNoFis) bool TQuadroC::print(const long codditta, const long NumFis, const long NumNoFis)