Aggiunta stampa del quadro A1
git-svn-id: svn://10.65.10.50/trunk@3180 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d3ccbe4673
commit
c6f64c536f
1523
m770/77qa.frm
1523
m770/77qa.frm
File diff suppressed because it is too large
Load Diff
458
m770/77qa1.frm
Executable file
458
m770/77qa1.frm
Executable file
@ -0,0 +1,458 @@
|
|||||||
|
USE 56
|
||||||
|
JOIN 45 INTO CODDITTA=CODDITTA CODDIP=CODDIP
|
||||||
|
JOIN %CAF ALIAS 104 INTO CODTAB=CODCAAF
|
||||||
|
JOIN 9 INTO CODDITTA=CODDITTA
|
||||||
|
JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR
|
||||||
|
JOIN 8 TO 106@ ALIAS 108 INTO CODANAGR=CODANAGR
|
||||||
|
JOIN 13 TO 108@ ALIAS 113 INTO COM==COMNASC
|
||||||
|
JOIN 13 TO 106@ ALIAS 213 INTO COM==COMRF(COMRES)
|
||||||
|
|
||||||
|
END
|
||||||
|
DESCRIPTION
|
||||||
|
BEGIN
|
||||||
|
56->* "Quadro A1 770"
|
||||||
|
45->* "Anagrafica dei dipendenti"
|
||||||
|
104@->* "Tabella CAAF"
|
||||||
|
9->* "Ditte"
|
||||||
|
106@->* "Anagrafica persone fisiche e giuridiche (ditta)"
|
||||||
|
108@->* "Anagrafica persone fisiche (ditta)"
|
||||||
|
113@->* "Comuni DITTA (nascita)"
|
||||||
|
213@->* "Comuni DITTA (residenza)"
|
||||||
|
END
|
||||||
|
|
||||||
|
GENERAL
|
||||||
|
BEGIN
|
||||||
|
OFFSET 0 0
|
||||||
|
FONT "Courier New"
|
||||||
|
SIZE 11
|
||||||
|
CARATTERE "X"
|
||||||
|
INIZIO_POS 3 2
|
||||||
|
FINE_POS 131
|
||||||
|
GRID "+++++++++-|"
|
||||||
|
END
|
||||||
|
|
||||||
|
SECTION HEADER FIRST 22
|
||||||
|
|
||||||
|
LISTA 1
|
||||||
|
BEGIN
|
||||||
|
KEY "Tipo anagrafica"
|
||||||
|
FLAGS "H"
|
||||||
|
FIELD 106@->TIPOA
|
||||||
|
ITEM "F|Fisica" MESSAGE SHOW,1@|HIDE,2@
|
||||||
|
ITEM "G|Giuridica" MESSAGE SHOW,2@|HIDE,1@
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 2
|
||||||
|
BEGIN
|
||||||
|
KEY "CODICE FISCALE"
|
||||||
|
PROMPT 3 13 ""
|
||||||
|
FIELD 106@->COFI
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 3
|
||||||
|
BEGIN
|
||||||
|
KEY "RAGIONE SOCIALE"
|
||||||
|
PROMPT 40 13 ""
|
||||||
|
GROUP 2
|
||||||
|
FIELD 106@->RAGSOC
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 4
|
||||||
|
BEGIN
|
||||||
|
KEY "COGNOME"
|
||||||
|
PROMPT 40 13 ""
|
||||||
|
GROUP 1
|
||||||
|
FIELD 106@->RAGSOC[1,30]
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 5
|
||||||
|
BEGIN
|
||||||
|
KEY "NOME"
|
||||||
|
PROMPT 17 15 ""
|
||||||
|
GROUP 1
|
||||||
|
FIELD 106@->RAGSOC[31,50]
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 6
|
||||||
|
BEGIN
|
||||||
|
KEY "SESSO"
|
||||||
|
PROMPT 59 15 ""
|
||||||
|
GROUP 1
|
||||||
|
FIELD 108@->SESSO
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 7
|
||||||
|
BEGIN
|
||||||
|
KEY "DATA DI NASCITA"
|
||||||
|
PROMPT 64 15 ""
|
||||||
|
GROUP 1
|
||||||
|
FIELD 108@->DATANASC
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 8
|
||||||
|
BEGIN
|
||||||
|
KEY "COMUNE DI NASCITA"
|
||||||
|
PROMPT 86 15 ""
|
||||||
|
GROUP 1
|
||||||
|
FIELD 113@->DENCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 9
|
||||||
|
BEGIN
|
||||||
|
KEY "PROV. DI NASCITA"
|
||||||
|
PROMPT 128 15 ""
|
||||||
|
GROUP 1
|
||||||
|
FIELD 113@->PROVCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 10
|
||||||
|
BEGIN
|
||||||
|
KEY "COMUNE DI RES.FISCALE"
|
||||||
|
PROMPT 17 17 ""
|
||||||
|
FIELD 213@->DENCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 11
|
||||||
|
BEGIN
|
||||||
|
KEY "PROV DI RES.FISCALE"
|
||||||
|
PROMPT 59 17 ""
|
||||||
|
FIELD 213@->PROVCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 12
|
||||||
|
BEGIN
|
||||||
|
KEY "VIA di RES."
|
||||||
|
PROMPT 68 17 ""
|
||||||
|
FIELD 106@->INDRF
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 15
|
||||||
|
BEGIN
|
||||||
|
KEY "NUM. CIVICO di RES."
|
||||||
|
PROMPT 104 17 ""
|
||||||
|
FIELD 106@->CIVRF
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 16
|
||||||
|
BEGIN
|
||||||
|
KEY "CAP"
|
||||||
|
PROMPT 125 17 ""
|
||||||
|
FIELD 106@->CAPRF
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 13
|
||||||
|
BEGIN
|
||||||
|
KEY "CODICE FISCALE DEL SOGGETTO DICHIARANTE"
|
||||||
|
PROMPT 87 20 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 14
|
||||||
|
BEGIN
|
||||||
|
KEY "NUM. FOGLIO"
|
||||||
|
PROMPT 125 20 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
SECTION BODY ODD 10
|
||||||
|
|
||||||
|
STRINGA 1
|
||||||
|
BEGIN
|
||||||
|
KEY "COD.FIS"
|
||||||
|
PROMPT 11 1 ""
|
||||||
|
FIELD 45->CODFI
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 2
|
||||||
|
BEGIN
|
||||||
|
KEY "COGNOME"
|
||||||
|
PROMPT 43 1 ""
|
||||||
|
FIELD 45->COGNOME
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 3
|
||||||
|
BEGIN
|
||||||
|
KEY "NOME"
|
||||||
|
PROMPT 80 1 ""
|
||||||
|
FIELD 45->NOME
|
||||||
|
END
|
||||||
|
|
||||||
|
DATA 4
|
||||||
|
BEGIN
|
||||||
|
KEY "DATA NASCITA"
|
||||||
|
PROMPT 114 1 ""
|
||||||
|
FIELD 45->DATANA
|
||||||
|
FORMAT "1444-"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 5
|
||||||
|
BEGIN
|
||||||
|
KEY "SESSO"
|
||||||
|
PROMPT 128 1 ""
|
||||||
|
FIELD 45->SESSO
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 6
|
||||||
|
BEGIN
|
||||||
|
KEY "COMUNE DI NASCITA"
|
||||||
|
PROMPT 11 3 ""
|
||||||
|
FIELD 45->COMUNENA
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 7
|
||||||
|
BEGIN
|
||||||
|
KEY "PROV DI NASCITA"
|
||||||
|
PROMPT 51 3 ""
|
||||||
|
FIELD 45->PROVNA
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 8
|
||||||
|
BEGIN
|
||||||
|
KEY "MESE DI RIFERIMENTO"
|
||||||
|
PROMPT 11 5 ""
|
||||||
|
FIELD 56->MESERIF
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 9
|
||||||
|
BEGIN
|
||||||
|
KEY "IMPOSTA RIMBORSATA"
|
||||||
|
PROMPT 23 5 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->IMPRIMB9
|
||||||
|
MESSAGE ADD,FL->9
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 10
|
||||||
|
BEGIN
|
||||||
|
KEY "IMPOSTA VERSATA"
|
||||||
|
PROMPT 42 5 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->IMPVERS10
|
||||||
|
MESSAGE ADD,FL->10
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 11
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 61 5 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->INTER11
|
||||||
|
MESSAGE ADD,FL->11
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 12
|
||||||
|
BEGIN
|
||||||
|
KEY "IMPOSTA VERSATA"
|
||||||
|
PROMPT 79 5 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->IMPVERS12
|
||||||
|
MESSAGE ADD,FL->12
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 13
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 98 5 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->INTER13
|
||||||
|
MESSAGE ADD,FL->13
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 14
|
||||||
|
BEGIN
|
||||||
|
KEY "SOPRATTASSA SU IRPEF"
|
||||||
|
PROMPT 117 5 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->STASSA14
|
||||||
|
MESSAGE ADD,FL->14
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 15
|
||||||
|
BEGIN
|
||||||
|
KEY "CONTRIBUTO A RIMBORSO"
|
||||||
|
PROMPT 11 7 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->CONTRIMB15
|
||||||
|
MESSAGE ADD,FL->15
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 16
|
||||||
|
BEGIN
|
||||||
|
KEY "CONTRIBUTO VERSATO"
|
||||||
|
PROMPT 28 7 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->CONTVERS16
|
||||||
|
MESSAGE ADD,FL->16
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 17
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 47 7 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->INTER17
|
||||||
|
MESSAGE ADD,FL->17
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 18
|
||||||
|
BEGIN
|
||||||
|
KEY "CONTRIBUTO VERSATO"
|
||||||
|
PROMPT 66 7 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->CONTVER18
|
||||||
|
MESSAGE ADD,FL->18
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 19
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 84 7 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->INTER19
|
||||||
|
MESSAGE ADD,FL->19
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 20
|
||||||
|
BEGIN
|
||||||
|
KEY "SOPRATTASSA SU IRPEF"
|
||||||
|
PROMPT 102 7 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD 56->STASSA20
|
||||||
|
MESSAGE ADD,FL->20
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 21
|
||||||
|
BEGIN
|
||||||
|
KEY "CONGUAGLI NON EFFETTUATI"
|
||||||
|
PROMPT 118 7 ""
|
||||||
|
FIELD 56->CONNEFF21
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 22
|
||||||
|
BEGIN
|
||||||
|
KEY "TIPO CONGUAGLIO"
|
||||||
|
PROMPT 125 7 ""
|
||||||
|
FIELD 56->TIPOCONG22
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 23
|
||||||
|
BEGIN
|
||||||
|
KEY "CODICE FISCALE CAAF"
|
||||||
|
PROMPT 11 9 ""
|
||||||
|
FIELD 104@->S1
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 24
|
||||||
|
BEGIN
|
||||||
|
KEY "DENOMINAZIONE CAAF"
|
||||||
|
PROMPT 42 9 ""
|
||||||
|
FIELD 104@->S0
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 25
|
||||||
|
BEGIN
|
||||||
|
KEY "NUMERO ISCRIZIONE ALBO"
|
||||||
|
PROMPT 98 9 ""
|
||||||
|
FIELD 104@->I1
|
||||||
|
END
|
||||||
|
|
||||||
|
DATA 26
|
||||||
|
BEGIN
|
||||||
|
KEY "DATA RICEZIONE MOD.730-5"
|
||||||
|
PROMPT 112 9 ""
|
||||||
|
FORMAT "1444-"
|
||||||
|
PICTURE "## ^ ##^^^^^"
|
||||||
|
FIELD 56->DATARIC26
|
||||||
|
END
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
SECTION FOOTER LAST 4
|
||||||
|
|
||||||
|
NUMERO 9
|
||||||
|
BEGIN
|
||||||
|
KEY "IMPOSTA RIMBORSATA"
|
||||||
|
PROMPT 23 1 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 10
|
||||||
|
BEGIN
|
||||||
|
KEY "IMPOSTA VERSATA"
|
||||||
|
PROMPT 42 1 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 11
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 61 1 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 12
|
||||||
|
BEGIN
|
||||||
|
KEY "IMPOSTA VERSATA"
|
||||||
|
PROMPT 79 1 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 13
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 98 1 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 14
|
||||||
|
BEGIN
|
||||||
|
KEY "SOPRATTASSA SU IRPEF"
|
||||||
|
PROMPT 117 1 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 15
|
||||||
|
BEGIN
|
||||||
|
KEY "CONTRIBUTO A RIMBORSO"
|
||||||
|
PROMPT 11 3 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 16
|
||||||
|
BEGIN
|
||||||
|
KEY "CONTRIBUTO VERSATO"
|
||||||
|
PROMPT 28 3 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 17
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 47 3 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 18
|
||||||
|
BEGIN
|
||||||
|
KEY "CONTRIBUTO VERSATO"
|
||||||
|
PROMPT 66 3 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 19
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 84 3 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO 20
|
||||||
|
BEGIN
|
||||||
|
KEY "SOPRATTASSA SU IRPEF"
|
||||||
|
PROMPT 102 3 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
END
|
227
m770/77stq.cpp
227
m770/77stq.cpp
@ -57,7 +57,7 @@ typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey;
|
|||||||
// Quadro D
|
// Quadro D
|
||||||
HIDDEN const int QD_FORMLEN_PRIMA = 70; // 72 - 3 (3 e' la posizione della X di posiz.)
|
HIDDEN const int QD_FORMLEN_PRIMA = 70; // 72 - 3 (3 e' la posizione della X di posiz.)
|
||||||
HIDDEN const int QD_FORMLEN = 72;
|
HIDDEN const int QD_FORMLEN = 72;
|
||||||
HIDDEN const int POS_DITTA = 91; // Colonna del codice ditta a pie' di modulo
|
HIDDEN const int POS_DITTA = 120; // Colonna del codice ditta a pie' di modulo
|
||||||
HIDDEN const int QD_PAGINE = 4;
|
HIDDEN const int QD_PAGINE = 4;
|
||||||
HIDDEN const int QD_RIGHE_PRIMA = 5;
|
HIDDEN const int QD_RIGHE_PRIMA = 5;
|
||||||
HIDDEN const int QD_RIGHE_SECONDA = 7;
|
HIDDEN const int QD_RIGHE_SECONDA = 7;
|
||||||
@ -67,7 +67,7 @@ HIDDEN const int HEADER_SECONDA = 7;
|
|||||||
HIDDEN const int HEADER_TERZA = 8; // Sarebbero 9 col righello...
|
HIDDEN const int HEADER_TERZA = 8; // Sarebbero 9 col righello...
|
||||||
HIDDEN const int HEADER_QUARTA = 14; // 15 col righello...
|
HIDDEN const int HEADER_QUARTA = 14; // 15 col righello...
|
||||||
|
|
||||||
typedef enum { PRIMA=1, SECONDA, TERZA, QUARTA } PagineQD;
|
typedef enum { PRIMA=1, SECONDA, TERZA, QUARTA } PaginaQuadro;
|
||||||
typedef enum { fisiche, nofisiche } TipoPagina;
|
typedef enum { fisiche, nofisiche } TipoPagina;
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -91,9 +91,9 @@ class TDicForm : public TForm
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
long _Items; // numero di record che hanno passato il filtro
|
long _Items; // numero di record che hanno passato il filtro
|
||||||
PagineQD _PaginaCorrente;
|
PaginaQuadro _PaginaCorrente;
|
||||||
|
|
||||||
void set_curr_page(PagineQD pagina) { _PaginaCorrente = pagina; }
|
void set_curr_page(PaginaQuadro pagina) { _PaginaCorrente = pagina; }
|
||||||
virtual void inc_curr_page();
|
virtual void inc_curr_page();
|
||||||
virtual void next_page(TPrinter& pr);
|
virtual void next_page(TPrinter& pr);
|
||||||
bool _modulaser; // se stampa per modulaser
|
bool _modulaser; // se stampa per modulaser
|
||||||
@ -117,7 +117,7 @@ class TDicForm : public TForm
|
|||||||
virtual void stampa_totali(TPrinter& pr);
|
virtual void stampa_totali(TPrinter& pr);
|
||||||
virtual void aggiorna_totali(const char tipo);
|
virtual void aggiorna_totali(const char tipo);
|
||||||
virtual void set_body(TPrinter& pr, const char tipo);
|
virtual void set_body(TPrinter& pr, const char tipo);
|
||||||
void StampaPagina(PagineQD PaginaCorrente, const bool StampaTotali, const long Fis, const long NoFis);
|
void StampaPagina(PaginaQuadro PaginaCorrente, const bool StampaTotali, const long Fis, const long NoFis);
|
||||||
void posiziona();
|
void posiziona();
|
||||||
void fill_page(TPrinter& pr, const int righe);
|
void fill_page(TPrinter& pr, const int righe);
|
||||||
void jump_to_line(TPrinter& pr, const int riga);
|
void jump_to_line(TPrinter& pr, const int riga);
|
||||||
@ -151,7 +151,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();
|
||||||
PagineQD curr_page() const { return _PaginaCorrente; }
|
PaginaQuadro curr_page() const { return _PaginaCorrente; }
|
||||||
TCursor& cur();
|
TCursor& cur();
|
||||||
|
|
||||||
void set_progind(TProgind* prog) { _prog = prog; }
|
void set_progind(TProgind* prog) { _prog = prog; }
|
||||||
@ -581,13 +581,13 @@ bool TDicForm::PaginaPosizionamento() const
|
|||||||
void TDicForm::fill_page(TPrinter& pr, const int righe)
|
void TDicForm::fill_page(TPrinter& pr, const int righe)
|
||||||
{
|
{
|
||||||
TPrintrow row;
|
TPrintrow row;
|
||||||
PagineQD pagina = curr_page();
|
PaginaQuadro pagina = curr_page();
|
||||||
|
|
||||||
// form feed
|
// form feed
|
||||||
if (righe < 0)
|
if (righe < 0)
|
||||||
{
|
{
|
||||||
const bool PrimaPagina = curr_page() == PRIMA;
|
// const bool PrimaPagina = curr_page() == PRIMA;
|
||||||
int stop = PaginaPosizionamento() ? QD_FORMLEN_PRIMA : QD_FORMLEN;
|
const int stop = PaginaPosizionamento() ? QD_FORMLEN_PRIMA : QD_FORMLEN;
|
||||||
for (int i = _RigaCorr; i < stop; i++)
|
for (int i = _RigaCorr; i < stop; i++)
|
||||||
{
|
{
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
@ -597,29 +597,34 @@ void TDicForm::fill_page(TPrinter& pr, const int righe)
|
|||||||
put_modulaser(row, STARTPAGE, pagina);
|
put_modulaser(row, STARTPAGE, pagina);
|
||||||
}
|
}
|
||||||
// Sull'ultima riga metto il codice ditta
|
// Sull'ultima riga metto il codice ditta
|
||||||
if (i == stop-1)
|
if (i == stop - 2)
|
||||||
{
|
{
|
||||||
if (_modulaser && EndJob() && curr_page() == QUARTA)
|
if (_modulaser && EndJob() && curr_page() == QUARTA)
|
||||||
put_modulaser(row, ENDDOC);
|
put_modulaser(row, ENDDOC);
|
||||||
|
|
||||||
TString16 ditta; ditta << _codditta;
|
TString16 ditta; ditta << _codditta;
|
||||||
row.put(ditta, POS_DITTA);
|
row.put(ditta, POS_DITTA);
|
||||||
|
pr.print(row);
|
||||||
|
row.reset();
|
||||||
}
|
}
|
||||||
pr.print(row);
|
else
|
||||||
|
pr.print(row);
|
||||||
}
|
}
|
||||||
_RigaCorr = 0;
|
_RigaCorr = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else // righe > 0
|
else // righe > 0
|
||||||
for (int i=0; i < righe; i++)
|
|
||||||
{
|
{
|
||||||
if (i == 0 && _modulaser && !_GiaMessoStartPage[pagina])
|
for (int i=0; i < righe; i++)
|
||||||
put_modulaser(row, STARTPAGE, pagina);
|
{
|
||||||
else
|
if (i == 0 && _modulaser && !_GiaMessoStartPage[pagina])
|
||||||
row.reset();
|
put_modulaser(row, STARTPAGE, pagina);
|
||||||
pr.print(row);
|
else
|
||||||
_RigaCorr++;
|
row.reset();
|
||||||
}
|
pr.print(row);
|
||||||
|
_RigaCorr++;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TDicForm::jump_to_line(TPrinter& pr, const int lin)
|
void TDicForm::jump_to_line(TPrinter& pr, const int lin)
|
||||||
@ -631,7 +636,7 @@ void TDicForm::jump_to_line(TPrinter& pr, const int lin)
|
|||||||
|
|
||||||
void TDicForm::stampa_totali(TPrinter& pr)
|
void TDicForm::stampa_totali(TPrinter& pr)
|
||||||
{
|
{
|
||||||
PagineQD PagCorr = curr_page();
|
PaginaQuadro PagCorr = curr_page();
|
||||||
TPrint_section& foot = section('B', even_page);
|
TPrint_section& foot = section('B', even_page);
|
||||||
const char* pic = "############";
|
const char* pic = "############";
|
||||||
bool stampa = FALSE;
|
bool stampa = FALSE;
|
||||||
@ -727,7 +732,7 @@ const int NUM_RIGHE = 8;
|
|||||||
|
|
||||||
void TDicForm::stampa_testata(TPrinter& pr)
|
void TDicForm::stampa_testata(TPrinter& pr)
|
||||||
{
|
{
|
||||||
TPrint_section& head = section('H', 1);
|
TPrint_section& head = section('H', first_page);
|
||||||
const word r = head.height()-1;
|
const word r = head.height()-1;
|
||||||
TPrintrow& head_row = head.row(r-1);
|
TPrintrow& head_row = head.row(r-1);
|
||||||
|
|
||||||
@ -776,7 +781,7 @@ void TDicForm::stampa_testata(TPrinter& pr)
|
|||||||
|
|
||||||
void TDicForm::next_page(TPrinter& pr)
|
void TDicForm::next_page(TPrinter& pr)
|
||||||
{
|
{
|
||||||
PagineQD PagCorr = curr_page();
|
PaginaQuadro PagCorr = curr_page();
|
||||||
if (PagCorr >= TERZA)
|
if (PagCorr >= TERZA)
|
||||||
stampa_totali(pr);
|
stampa_totali(pr);
|
||||||
fill_page(pr, -1); // formfeed "adattato"
|
fill_page(pr, -1); // formfeed "adattato"
|
||||||
@ -1005,7 +1010,7 @@ void TQuadroG::inc_curr_page()
|
|||||||
|
|
||||||
void TQuadroG::next_page(TPrinter& pr)
|
void TQuadroG::next_page(TPrinter& pr)
|
||||||
{
|
{
|
||||||
PagineQD PagCorr = curr_page();
|
PaginaQuadro PagCorr = curr_page();
|
||||||
fill_page(pr, -1);
|
fill_page(pr, -1);
|
||||||
inc_curr_page();
|
inc_curr_page();
|
||||||
}
|
}
|
||||||
@ -1269,7 +1274,7 @@ class TDistintaG : public TQuadroG
|
|||||||
|
|
||||||
void TDistintaG::next_page(TPrinter& pr)
|
void TDistintaG::next_page(TPrinter& pr)
|
||||||
{
|
{
|
||||||
PagineQD PagCorr = curr_page();
|
PaginaQuadro PagCorr = curr_page();
|
||||||
// if (PagCorr == SECONDA)
|
// if (PagCorr == SECONDA)
|
||||||
stampa_totali(pr);
|
stampa_totali(pr);
|
||||||
fill_page(pr, -1); // formfeed "adattato"
|
fill_page(pr, -1); // formfeed "adattato"
|
||||||
@ -1306,7 +1311,7 @@ void TDistintaG::aggiorna_totali(const char tipo)
|
|||||||
|
|
||||||
void TDistintaG::stampa_totali(TPrinter& pr)
|
void TDistintaG::stampa_totali(TPrinter& pr)
|
||||||
{
|
{
|
||||||
PagineQD PagCorr = curr_page();
|
PaginaQuadro PagCorr = curr_page();
|
||||||
TPrint_section& foot = section('B', even_page);
|
TPrint_section& foot = section('B', even_page);
|
||||||
const word righe = foot.height();
|
const word righe = foot.height();
|
||||||
const char* pic = "############";
|
const char* pic = "############";
|
||||||
@ -2845,7 +2850,7 @@ void TQuadroF::aggiorna_totali(char tipoprosp, TRectype& r)
|
|||||||
|
|
||||||
void TQuadroF::next_page(TPrinter& pr)
|
void TQuadroF::next_page(TPrinter& pr)
|
||||||
{
|
{
|
||||||
PagineQD PagCorr = curr_page();
|
PaginaQuadro PagCorr = curr_page();
|
||||||
// if (PagCorr = SECONDA) stampa_totali(pr);
|
// if (PagCorr = SECONDA) stampa_totali(pr);
|
||||||
fill_page(pr, -1); // formfeed "adattato"
|
fill_page(pr, -1); // formfeed "adattato"
|
||||||
inc_curr_page();
|
inc_curr_page();
|
||||||
@ -3297,23 +3302,45 @@ protected:
|
|||||||
virtual void azzera_totali();
|
virtual void azzera_totali();
|
||||||
virtual void aggiorna_totali(const char) { }
|
virtual void aggiorna_totali(const char) { }
|
||||||
|
|
||||||
|
virtual int elementi_pagina(PaginaQuadro p) const;
|
||||||
|
virtual int prima_riga(PaginaQuadro p) const;
|
||||||
|
virtual int riga_totali() const;
|
||||||
|
|
||||||
|
void stampa_corpo(TPrinter& pr);
|
||||||
void stampa_totali(TPrinter& pr);
|
void stampa_totali(TPrinter& pr);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
TQuadroA(const char* form, const char* quadro) : TDicForm(form, quadro) {}
|
TQuadroA(const char* form, const char* quadro) : TDicForm(form, quadro) {}
|
||||||
virtual ~TQuadroA() {}
|
virtual ~TQuadroA() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
void TQuadroA::azzera_totali()
|
void TQuadroA::azzera_totali()
|
||||||
{
|
{
|
||||||
TPrint_section& totali = section('F', odd_page);
|
TPrint_section& totali = section('F', last_page);
|
||||||
totali.reset();
|
totali.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TQuadroA::stampa_corpo(TPrinter& pr)
|
||||||
|
{
|
||||||
|
TPrint_section& body = section('B', odd_page);
|
||||||
|
body.reset();
|
||||||
|
body.update();
|
||||||
|
|
||||||
|
const int body_righe = body.height();
|
||||||
|
for (int i = 0; i < body_righe; i++)
|
||||||
|
{
|
||||||
|
pr.print(body.row(i));
|
||||||
|
_RigaCorr++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (usa_progind())
|
||||||
|
progind()->addstatus(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void TQuadroA::stampa_totali(TPrinter& pr)
|
void TQuadroA::stampa_totali(TPrinter& pr)
|
||||||
{
|
{
|
||||||
TPrint_section& totali = section('F', odd_page);
|
TPrint_section& totali = section('F', last_page);
|
||||||
totali.update();
|
totali.update();
|
||||||
for (int i = 0; i < totali.items(); i++)
|
for (int i = 0; i < totali.items(); i++)
|
||||||
{
|
{
|
||||||
@ -3328,6 +3355,22 @@ void TQuadroA::next_page(TPrinter& pr)
|
|||||||
inc_curr_page();
|
inc_curr_page();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int TQuadroA::elementi_pagina(PaginaQuadro p) const
|
||||||
|
{
|
||||||
|
const int n[4] = { 1, 4, 4, 2 };
|
||||||
|
return n[p];
|
||||||
|
}
|
||||||
|
|
||||||
|
int TQuadroA::prima_riga(PaginaQuadro p) const
|
||||||
|
{
|
||||||
|
return p == PRIMA ? 45 : 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
int TQuadroA::riga_totali() const
|
||||||
|
{
|
||||||
|
return 45;
|
||||||
|
}
|
||||||
|
|
||||||
bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis)
|
bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis)
|
||||||
{
|
{
|
||||||
TCursor& cur = *cursor();
|
TCursor& cur = *cursor();
|
||||||
@ -3338,7 +3381,7 @@ bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis
|
|||||||
|
|
||||||
pr.formlen(QA_FORMLEN);
|
pr.formlen(QA_FORMLEN);
|
||||||
|
|
||||||
int percipienti = 0; // Numero di percipienti stampati in questa pagina
|
int elementi = 0; // Numero di elementi stampati in questa pagina
|
||||||
bool stampato_ultimo = FALSE;
|
bool stampato_ultimo = FALSE;
|
||||||
bool stampati_totali = FALSE;
|
bool stampati_totali = FALSE;
|
||||||
|
|
||||||
@ -3352,56 +3395,63 @@ bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis
|
|||||||
if (_modulaser)
|
if (_modulaser)
|
||||||
ClearFlagModulaser();
|
ClearFlagModulaser();
|
||||||
|
|
||||||
|
if (elementi == 0)
|
||||||
|
{
|
||||||
|
stampa_testata(pr);
|
||||||
|
jump_to_line(pr, prima_riga(PRIMA));
|
||||||
|
}
|
||||||
|
|
||||||
if (!stampato_ultimo)
|
if (!stampato_ultimo)
|
||||||
{
|
{
|
||||||
if (cur.pos() == 0)
|
stampa_corpo(pr);
|
||||||
stampa_testata(pr);
|
|
||||||
jump_to_line(pr, 44);
|
|
||||||
set_body(pr, 'F');
|
|
||||||
stampato_ultimo = stampero_ultimo;
|
stampato_ultimo = stampero_ultimo;
|
||||||
}
|
}
|
||||||
|
|
||||||
next_page(pr);
|
elementi++;
|
||||||
percipienti = 0;
|
if (elementi >= elementi_pagina(PRIMA))
|
||||||
|
{
|
||||||
|
next_page(pr);
|
||||||
|
elementi = 0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SECONDA:
|
case SECONDA:
|
||||||
case TERZA:
|
case TERZA:
|
||||||
if (!stampato_ultimo)
|
if (!stampato_ultimo)
|
||||||
{
|
{
|
||||||
if (percipienti == 0)
|
if (elementi == 0)
|
||||||
jump_to_line(pr, 4);
|
jump_to_line(pr, prima_riga(_PaginaCorrente));
|
||||||
set_body(pr, 'F');
|
stampa_corpo(pr);
|
||||||
stampato_ultimo = stampero_ultimo;
|
stampato_ultimo = stampero_ultimo;
|
||||||
}
|
}
|
||||||
percipienti++;
|
elementi++;
|
||||||
if (percipienti == 3)
|
if (elementi >= elementi_pagina(_PaginaCorrente))
|
||||||
{
|
{
|
||||||
next_page(pr);
|
next_page(pr);
|
||||||
percipienti = 0;
|
elementi = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case QUARTA:
|
case QUARTA:
|
||||||
if (!stampato_ultimo)
|
if (!stampato_ultimo)
|
||||||
{
|
{
|
||||||
if (percipienti == 0)
|
if (elementi == 0)
|
||||||
jump_to_line(pr, 4);
|
jump_to_line(pr, prima_riga(QUARTA));
|
||||||
|
|
||||||
set_body(pr, 'F');
|
stampa_corpo(pr);
|
||||||
stampato_ultimo = stampero_ultimo;
|
stampato_ultimo = stampero_ultimo;
|
||||||
}
|
}
|
||||||
|
|
||||||
percipienti++;
|
elementi++;
|
||||||
|
|
||||||
if (percipienti == 2)
|
if (elementi >= elementi_pagina(QUARTA))
|
||||||
{
|
{
|
||||||
if (stampato_ultimo)
|
if (stampato_ultimo)
|
||||||
{
|
{
|
||||||
jump_to_line(pr, 39);
|
jump_to_line(pr, riga_totali());
|
||||||
stampa_totali(pr);
|
stampa_totali(pr);
|
||||||
stampati_totali = TRUE;
|
stampati_totali = TRUE;
|
||||||
}
|
}
|
||||||
next_page(pr);
|
next_page(pr);
|
||||||
percipienti = 0;
|
elementi = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -3413,12 +3463,11 @@ bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class TStampaQuadroA : public TStampaQuadro
|
class TStampaQuadroA : public TStampaQuadro
|
||||||
{
|
{
|
||||||
private:
|
protected:
|
||||||
TQuadroA* _form;
|
TQuadroA* _form;
|
||||||
TRelation* _rel;
|
// TRelation* _rel;
|
||||||
TSorted_cursor* _cur;
|
TSorted_cursor* _cur;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -3430,13 +3479,15 @@ protected:
|
|||||||
virtual TCursor* get_cursor() const { return _cur; }
|
virtual TCursor* get_cursor() const { return _cur; }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TStampaQuadroA(char livel) : TStampaQuadro("A", livel) { }
|
TStampaQuadroA(const char* quadro, char livel) : TStampaQuadro(quadro, livel) { }
|
||||||
|
virtual ~TStampaQuadroA() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
bool TStampaQuadroA::user_create()
|
bool TStampaQuadroA::user_create()
|
||||||
{
|
{
|
||||||
_form = new TQuadroA("77QA", quadro());
|
_form = new TQuadroA("77QA", quadro());
|
||||||
|
|
||||||
|
/*
|
||||||
_rel = new TRelation(LF_QUAA);
|
_rel = new TRelation(LF_QUAA);
|
||||||
_rel->add(LF_NDITTE, "CODDITTA=CODDITTA", 1, LF_QUAA);
|
_rel->add(LF_NDITTE, "CODDITTA=CODDITTA", 1, LF_QUAA);
|
||||||
_rel->add(LF_ANAG, "TIPOA=TIPOA|CODANAGR=CODANAGR", 1, LF_NDITTE, 106);
|
_rel->add(LF_ANAG, "TIPOA=TIPOA|CODANAGR=CODANAGR", 1, LF_NDITTE, 106);
|
||||||
@ -3445,10 +3496,11 @@ bool TStampaQuadroA::user_create()
|
|||||||
_rel->add(LF_COMUNI, "COM==COMRF(COMRES)", 1, LF_ANAG, 213);
|
_rel->add(LF_COMUNI, "COM==COMRF(COMRES)", 1, LF_ANAG, 213);
|
||||||
_rel->add(LF_DIPEND, "CODDITTA=CODDITTA|CODDIP=CODDIP");
|
_rel->add(LF_DIPEND, "CODDITTA=CODDITTA|CODDIP=CODDIP");
|
||||||
_rel->add("%CAF", "CODTAB=CODCAAF", 1, LF_QUAA, 104);
|
_rel->add("%CAF", "CODTAB=CODCAAF", 1, LF_QUAA, 104);
|
||||||
|
*/
|
||||||
|
|
||||||
TString sortkey(80);
|
TString sortkey(80);
|
||||||
sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP", LF_DIPEND, LF_DIPEND);
|
sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP", LF_DIPEND, LF_DIPEND);
|
||||||
_cur = new TSorted_cursor(_rel, sortkey);
|
_cur = new TSorted_cursor(_form->TForm::relation(), sortkey);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -3456,12 +3508,65 @@ bool TStampaQuadroA::user_create()
|
|||||||
bool TStampaQuadroA::user_destroy()
|
bool TStampaQuadroA::user_destroy()
|
||||||
{
|
{
|
||||||
delete _cur;
|
delete _cur;
|
||||||
delete _rel;
|
// delete _rel;
|
||||||
delete _form;
|
delete _form;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Quadro A1
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TQuadroA1 : public TQuadroA
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual int elementi_pagina(PaginaQuadro p) const;
|
||||||
|
virtual int prima_riga(PaginaQuadro p) const;
|
||||||
|
virtual int riga_totali() const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
TQuadroA1(const char* form, const char* quadro) : TQuadroA(form, quadro) { }
|
||||||
|
virtual ~TQuadroA1() { }
|
||||||
|
};
|
||||||
|
|
||||||
|
int TQuadroA1::elementi_pagina(PaginaQuadro p) const
|
||||||
|
{
|
||||||
|
const int n[4] = { 3, 6, 6, 5 };
|
||||||
|
return n[p];
|
||||||
|
}
|
||||||
|
|
||||||
|
int TQuadroA1::prima_riga(PaginaQuadro p) const
|
||||||
|
{
|
||||||
|
return p == PRIMA ? 32 : 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
int TQuadroA1::riga_totali() const
|
||||||
|
{
|
||||||
|
return 55;
|
||||||
|
}
|
||||||
|
|
||||||
|
class TStampaQuadroA1 : public TStampaQuadroA
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual bool user_create();
|
||||||
|
|
||||||
|
public:
|
||||||
|
TStampaQuadroA1(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { }
|
||||||
|
virtual ~TStampaQuadroA1() { }
|
||||||
|
};
|
||||||
|
|
||||||
|
bool TStampaQuadroA1::user_create()
|
||||||
|
{
|
||||||
|
_form = new TQuadroA1("77QA1", quadro());
|
||||||
|
|
||||||
|
TString sortkey(80);
|
||||||
|
sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP", LF_DIPEND, LF_DIPEND);
|
||||||
|
_cur = new TSorted_cursor(_form->TForm::relation(), sortkey);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// MAIN
|
// MAIN
|
||||||
@ -3484,9 +3589,13 @@ int stampa_quadro(int argc, char* argv[])
|
|||||||
{
|
{
|
||||||
app = new TStampaQuadroD(quadro, livello);
|
app = new TStampaQuadroD(quadro, livello);
|
||||||
}
|
}
|
||||||
else if (quadro == "A")
|
else if (quadro[0] == 'A')
|
||||||
{
|
{
|
||||||
app = new TStampaQuadroA(livello);
|
switch (quadro[1] - '0')
|
||||||
|
{
|
||||||
|
case 1: app = new TStampaQuadroA1(quadro, livello); break;
|
||||||
|
default: app = new TStampaQuadroA(quadro, livello); break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (quadro == "F")
|
else if (quadro == "F")
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user