Corretta stampa quadro B
git-svn-id: svn://10.65.10.50/trunk@3553 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d879223237
commit
5dc5a1fe6d
114
m770/77qb.frm
114
m770/77qb.frm
@ -153,7 +153,6 @@ BEGIN
|
||||
PROMPT 125 22 ""
|
||||
END
|
||||
|
||||
|
||||
END
|
||||
|
||||
SECTION BODY ODD 12
|
||||
@ -276,21 +275,22 @@ END
|
||||
NUMERO 151
|
||||
BEGIN
|
||||
KEY "ANNI PARZIALI"
|
||||
PROMPT 73 5 ""
|
||||
PROMPT 75 5 ""
|
||||
FIELD ANNIPARZ
|
||||
END
|
||||
|
||||
NUMERO 152
|
||||
BEGIN
|
||||
KEY "MESI PARZIALI"
|
||||
PROMPT 80 5 ""
|
||||
PROMPT 82 5 ""
|
||||
FIELD MESIPARZ
|
||||
END
|
||||
|
||||
NUMERO 153
|
||||
BEGIN
|
||||
KEY "PERCENTUALE TEMPO PARZIALE"
|
||||
PROMPT 85 5 ""
|
||||
PROMPT 83 5 ""
|
||||
PICTURE "##@,@@"
|
||||
FIELD PERCPARZ
|
||||
END
|
||||
|
||||
@ -306,29 +306,30 @@ END
|
||||
NUMERO 17
|
||||
BEGIN
|
||||
KEY "MESE EROGAZIONE"
|
||||
PROMPT 103 5 ""
|
||||
PROMPT 104 5 ""
|
||||
FIELD MESEEROG
|
||||
END
|
||||
|
||||
STRINGA 18
|
||||
BEGIN
|
||||
KEY "TITOLO EROGAZIONE"
|
||||
PROMPT 109 5 ""
|
||||
PROMPT 110 5 ""
|
||||
FIELD TITEROG
|
||||
END
|
||||
|
||||
NUMERO 19
|
||||
BEGIN
|
||||
KEY "PERCENTUALE ABBATTIMENTO"
|
||||
PROMPT 114 5 ""
|
||||
PROMPT 112 5 ""
|
||||
PICTURE "##@,@@"
|
||||
FIELD PERCABB
|
||||
END
|
||||
|
||||
NUMERO 20
|
||||
BEGIN
|
||||
KEY "AMMONTARE NETTO"
|
||||
PROMPT 117 5 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 119 5 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
FIELD AMMNETTO
|
||||
MESSAGE ADD,FL->20
|
||||
END
|
||||
@ -349,15 +350,16 @@ END
|
||||
|
||||
NUMERO 23
|
||||
BEGIN
|
||||
KEY "PERCENTUALE ABBATTIMENTO"
|
||||
PROMPT 21 7 ""
|
||||
FIELD PERCABB2
|
||||
KEY "ABBATTIMENTO"
|
||||
PROMPT 22 7 ""
|
||||
PICTURE "###.###.###^^^"
|
||||
FIELD ABBATT
|
||||
END
|
||||
|
||||
NUMERO 24
|
||||
BEGIN
|
||||
KEY "AMMONTARE NETTO"
|
||||
PROMPT 34 7 ""
|
||||
PROMPT 35 7 ""
|
||||
PICTURE "###.###.###^^^"
|
||||
FIELD AMMNETTO2
|
||||
MESSAGE ADD,FL->24
|
||||
@ -366,7 +368,7 @@ END
|
||||
NUMERO 25
|
||||
BEGIN
|
||||
KEY "CONTRIBUTI OBBLIGATORI LAVORATORE"
|
||||
PROMPT 48 7 ""
|
||||
PROMPT 50 7 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
FIELD CONTLAV
|
||||
MESSAGE ADD,FL->25
|
||||
@ -411,7 +413,7 @@ END
|
||||
NUMERO 30
|
||||
BEGIN
|
||||
KEY "T.F.R. PER REDDITO DI RIFERIMENTO"
|
||||
PROMPT 10 9 ""
|
||||
PROMPT 11 9 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
FIELD TFRIND
|
||||
MESSAGE ADD,FL->30
|
||||
@ -420,14 +422,15 @@ END
|
||||
NUMERO 31
|
||||
BEGIN
|
||||
KEY "ALIQUOTA"
|
||||
PROMPT 27 9 ""
|
||||
PROMPT 28 9 ""
|
||||
PICTURE "##@,@@"
|
||||
FIELD ALIQUOTA
|
||||
END
|
||||
|
||||
NUMERO 32
|
||||
BEGIN
|
||||
KEY "RETRIBUZIONE MEDIA BIENNIO PRECEDENTE"
|
||||
PROMPT 32 9 ""
|
||||
PROMPT 33 9 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
FIELD RETRMEDIA
|
||||
END
|
||||
@ -435,15 +438,16 @@ END
|
||||
NUMERO 33
|
||||
BEGIN
|
||||
KEY "ALIQUOTA"
|
||||
PROMPT 50 9 ""
|
||||
PROMPT 49 9 ""
|
||||
PICTURE "##@,@@"
|
||||
FIELD ALIQUOTA2
|
||||
END
|
||||
|
||||
NUMERO 34
|
||||
BEGIN
|
||||
KEY "IMPONIBILE T.F.R."
|
||||
PROMPT 54 9 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 57 9 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
FIELD IMPTFR
|
||||
MESSAGE ADD,FL->34
|
||||
END
|
||||
@ -451,8 +455,8 @@ END
|
||||
NUMERO 35
|
||||
BEGIN
|
||||
KEY "IMPONIBILE ALTRE INDENNITA'"
|
||||
PROMPT 71 9 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 73 9 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
FIELD IMPIND
|
||||
MESSAGE ADD,FL->35
|
||||
END
|
||||
@ -460,8 +464,8 @@ END
|
||||
NUMERO 36
|
||||
BEGIN
|
||||
KEY "IMPONIBILE DELL'ANNO"
|
||||
PROMPT 85 9 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 88 9 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
FIELD IMPANNO
|
||||
MESSAGE ADD,FL->36
|
||||
END
|
||||
@ -469,8 +473,8 @@ END
|
||||
NUMERO 37
|
||||
BEGIN
|
||||
KEY "TOTALE REDDITO IMPONIBILE"
|
||||
PROMPT 101 9 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 103 9 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
FIELD TOTIMP
|
||||
MESSAGE ADD,FL->37
|
||||
END
|
||||
@ -478,8 +482,8 @@ END
|
||||
NUMERO 38
|
||||
BEGIN
|
||||
KEY "RITENUTE OPERATE"
|
||||
PROMPT 117 9 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 128 9 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
FIELD ROPEACC
|
||||
MESSAGE ADD,FL->38
|
||||
END
|
||||
@ -487,7 +491,7 @@ END
|
||||
NUMERO 39
|
||||
BEGIN
|
||||
KEY "IMPOSTA DOVUTA"
|
||||
PROMPT 10 11 ""
|
||||
PROMPT 11 11 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
FIELD IMPDOV
|
||||
MESSAGE ADD,FL->39
|
||||
@ -496,7 +500,7 @@ END
|
||||
NUMERO 40
|
||||
BEGIN
|
||||
KEY "RITENUTE FISCALI"
|
||||
PROMPT 27 11 ""
|
||||
PROMPT 28 11 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
FIELD RITECC
|
||||
MESSAGE ADD,FL->40
|
||||
@ -505,7 +509,7 @@ END
|
||||
NUMERO 41
|
||||
BEGIN
|
||||
KEY "QUOTA SPETTANTE"
|
||||
PROMPT 44 11 ""
|
||||
PROMPT 45 11 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
FIELD QUOTASPET
|
||||
END
|
||||
@ -513,7 +517,7 @@ END
|
||||
NUMERO 42
|
||||
BEGIN
|
||||
KEY "INDENNITA' SPETTANTE"
|
||||
PROMPT 61 11 ""
|
||||
PROMPT 62 11 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
FIELD INDSPETT
|
||||
MESSAGE ADD,FL->42
|
||||
@ -522,7 +526,7 @@ END
|
||||
NUMERO 43
|
||||
BEGIN
|
||||
KEY "RITENUTE OPERATE"
|
||||
PROMPT 78 11 ""
|
||||
PROMPT 79 11 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
FIELD ROPE
|
||||
MESSAGE ADD,FL->43
|
||||
@ -531,7 +535,7 @@ END
|
||||
NUMERO 44
|
||||
BEGIN
|
||||
KEY "IMPONIBILE C.S.S.N."
|
||||
PROMPT 95 11 ""
|
||||
PROMPT 96 11 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
FIELD IMPOCSSN
|
||||
MESSAGE ADD,FL->44
|
||||
@ -551,35 +555,35 @@ END
|
||||
NUMERO 20
|
||||
BEGIN
|
||||
KEY "AMMONTARE NETTO"
|
||||
PROMPT 117 1 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 119 1 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 24
|
||||
BEGIN
|
||||
KEY "AMMONTARE NETTO"
|
||||
PROMPT 26 3 ""
|
||||
PROMPT 35 3 ""
|
||||
PICTURE "###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 25
|
||||
BEGIN
|
||||
KEY "CONTRIBUTI OBBLIGATORI LAVORATORE"
|
||||
PROMPT 41 3 ""
|
||||
PROMPT 50 3 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 26
|
||||
BEGIN
|
||||
KEY "T.F.R."
|
||||
PROMPT 60 3 ""
|
||||
PROMPT 67 3 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 27
|
||||
BEGIN
|
||||
KEY "ALTRE INDENNITA'"
|
||||
PROMPT 72 3 ""
|
||||
PROMPT 84 3 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
END
|
||||
|
||||
@ -600,77 +604,77 @@ END
|
||||
NUMERO 30
|
||||
BEGIN
|
||||
KEY "T.F.R. PER REDDITO DI RIFERIMENTO"
|
||||
PROMPT 10 5 ""
|
||||
PROMPT 11 5 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 34
|
||||
BEGIN
|
||||
KEY "IMPONIBILE T.F.R."
|
||||
PROMPT 54 5 ""
|
||||
PROMPT 57 5 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 35
|
||||
BEGIN
|
||||
KEY "IMPONIBILE ALTRE INDENNITA'"
|
||||
PROMPT 71 5 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 73 5 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 36
|
||||
BEGIN
|
||||
KEY "IMPONIBILE DELL'ANNO"
|
||||
PROMPT 85 5 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 88 5 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 37
|
||||
BEGIN
|
||||
KEY "TOTALE REDDITO IMPONIBILE"
|
||||
PROMPT 101 5 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 103 5 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 38
|
||||
BEGIN
|
||||
KEY "RITENUTE OPERATE"
|
||||
PROMPT 117 5 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
PROMPT 128 5 ""
|
||||
PICTURE "#.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 39
|
||||
BEGIN
|
||||
KEY "IMPOSTA DOVUTA"
|
||||
PROMPT 10 7 ""
|
||||
PROMPT 11 7 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 40
|
||||
BEGIN
|
||||
KEY "RITENUTE FISCALI"
|
||||
PROMPT 27 7 ""
|
||||
PROMPT 28 7 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 42
|
||||
BEGIN
|
||||
KEY "INDENNITA' SPETTANTE"
|
||||
PROMPT 61 7 ""
|
||||
PROMPT 62 7 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 43
|
||||
BEGIN
|
||||
KEY "RITENUTE OPERATE"
|
||||
PROMPT 78 7 ""
|
||||
PROMPT 79 7 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
END
|
||||
|
||||
NUMERO 44
|
||||
BEGIN
|
||||
KEY "IMPONIBILE C.S.S.N."
|
||||
PROMPT 95 7 ""
|
||||
PROMPT 96 7 ""
|
||||
PICTURE "###.###.###.###^^^"
|
||||
END
|
||||
|
||||
|
100
m770/77stq.cpp
100
m770/77stq.cpp
@ -3882,8 +3882,8 @@ TDipendente::TDipendente(const TCursor& cur)
|
||||
{
|
||||
_fine_rapporto = rec.get("DATAFR");
|
||||
_lavoro_precedente = rec.get("CFDLPREC").not_empty();
|
||||
_causa = rec.get_char("CAUSA");
|
||||
_rettifica_conguaglio = rec.get_char("RETCON");
|
||||
_causa = toupper(rec.get_char("CAUSA"));
|
||||
_rettifica_conguaglio = toupper(rec.get_char("RETCON"));
|
||||
_numero_progressivo = rec.get_int("NPROG");
|
||||
}
|
||||
else
|
||||
@ -4003,6 +4003,10 @@ protected:
|
||||
virtual int prima_riga(PaginaQuadro p) const;
|
||||
virtual int riga_totali(PaginaQuadro p) const;
|
||||
|
||||
bool init(long codditta);
|
||||
|
||||
virtual void preprocess_corpo(const TRectype& rec);
|
||||
|
||||
void stampa_corpo(TPrinter& pr);
|
||||
void stampa_totali(TPrinter& pr);
|
||||
void stampa_firma(TPrinter& pr);
|
||||
@ -4015,7 +4019,35 @@ public:
|
||||
void TQuadroA::azzera_totali()
|
||||
{
|
||||
TPrint_section& totali = section('F', last_page);
|
||||
totali.reset();
|
||||
totali.reset(); // Azzera le righe
|
||||
|
||||
for (int i = totali.fields()-1; i >= 0; i--)
|
||||
totali.field(i).set(""); // Azzera i campi
|
||||
}
|
||||
|
||||
void TQuadroA::preprocess_corpo(const TRectype& rec)
|
||||
{
|
||||
if (rec.num() == LF_QUAA)
|
||||
{
|
||||
const bool lav_prec = rec.get("CFDLPREC").not_empty();
|
||||
const char rett_con = toupper(rec.get_char("RETCON"));
|
||||
|
||||
const bool add = !lav_prec && rett_con != 'B';
|
||||
enable_message_add(add);
|
||||
|
||||
// Nasconde i dati anagrafici quando rett_con = B
|
||||
TPrint_section& body = section('B', odd_page);
|
||||
for (int i = 2; i <= 12; i++)
|
||||
{
|
||||
TForm_item& f = body.field(i);
|
||||
f.enable(rett_con != 'B');
|
||||
}
|
||||
|
||||
// Stampa solo le date di fine rapporto del 95
|
||||
TForm_item& datafr = body.field(16);
|
||||
const TDate dfr = rec.get("DATAFR");
|
||||
datafr.enable(dfr.year() == 1995);
|
||||
}
|
||||
}
|
||||
|
||||
void TQuadroA::stampa_corpo(TPrinter& pr)
|
||||
@ -4088,6 +4120,12 @@ int TQuadroA::riga_totali(PaginaQuadro p) const
|
||||
{
|
||||
const int h = ((TQuadroA*)this)->section('B', odd_page).height();
|
||||
return prima_riga(p) + elementi_pagina(p) * h;
|
||||
}
|
||||
|
||||
bool TQuadroA::init(long codditta)
|
||||
{
|
||||
azzera_totali();
|
||||
return InitPrint(codditta);
|
||||
}
|
||||
|
||||
bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis)
|
||||
@ -4095,7 +4133,7 @@ bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis
|
||||
TCursor& cur = *cursor();
|
||||
TPrinter& pr = printer();
|
||||
|
||||
if (!InitPrint(codditta))
|
||||
if (!init(codditta))
|
||||
return FALSE;
|
||||
|
||||
pr.formlen(QA_FORMLEN);
|
||||
@ -4134,23 +4172,7 @@ bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis
|
||||
}
|
||||
|
||||
if (!stampato_ultimo)
|
||||
{
|
||||
if (quadro() == "A")
|
||||
{
|
||||
const TDipendente& dip = indice[pos];
|
||||
const bool add = !dip.lavoro_precedente() && dip.rettifica_conguaglio() != 'B';
|
||||
enable_message_add(add);
|
||||
TForm_item& datafr = find_field('B', odd_page, 16);
|
||||
datafr.enable(dip.anno_fine_rapporto() == 1995);
|
||||
} else
|
||||
if (quadro() == "A2")
|
||||
{
|
||||
const TRectype& rec = cur.curr();
|
||||
const char retcon = rec.get_char("RETCON");
|
||||
const bool add = retcon != 'B';
|
||||
enable_message_add(add);
|
||||
}
|
||||
}
|
||||
preprocess_corpo(cur.curr());
|
||||
|
||||
switch(_PaginaCorrente)
|
||||
{
|
||||
@ -4290,6 +4312,7 @@ protected:
|
||||
virtual int elementi_pagina(PaginaQuadro p) const;
|
||||
virtual int prima_riga(PaginaQuadro p) const;
|
||||
virtual long filtra(const long codditta);
|
||||
virtual void preprocess_corpo(const TRectype& rec);
|
||||
|
||||
public:
|
||||
TQuadroA1(const char* form, const char* quadro) : TQuadroA(form, quadro) { }
|
||||
@ -4316,7 +4339,18 @@ long TQuadroA1::filtra(const long codditta)
|
||||
const long items = cursor()->items();
|
||||
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
||||
void TQuadroA1::preprocess_corpo(const TRectype& rec)
|
||||
{
|
||||
if (rec.num() == LF_QUAA1)
|
||||
{
|
||||
// Stampa solo le date di ricezione del 95
|
||||
const TDate dr = rec.get("DATARIC26");
|
||||
TForm_item& dataric = find_field('B', odd_page, 26);
|
||||
dataric.enable(dr.year() == 1995);
|
||||
}
|
||||
}
|
||||
|
||||
class TStampaQuadroA1 : public TStampaQuadroA
|
||||
{
|
||||
@ -4348,6 +4382,7 @@ class TQuadroA2 : public TQuadroA
|
||||
protected:
|
||||
virtual int elementi_pagina(PaginaQuadro p) const;
|
||||
virtual int prima_riga(PaginaQuadro p) const;
|
||||
virtual void preprocess_corpo(const TRectype& rec);
|
||||
|
||||
public:
|
||||
TQuadroA2(const char* form, const char* quadro) : TQuadroA(form, quadro) { }
|
||||
@ -4365,6 +4400,24 @@ int TQuadroA2::prima_riga(PaginaQuadro p) const
|
||||
return p == PRIMA ? 32 : 4;
|
||||
}
|
||||
|
||||
void TQuadroA2::preprocess_corpo(const TRectype& rec)
|
||||
{
|
||||
if (rec.num() == LF_QUAA2)
|
||||
{
|
||||
const char ret_con = toupper(rec.get_char("RETCON"));
|
||||
const bool add = ret_con != 'B';
|
||||
enable_message_add(add);
|
||||
|
||||
// Nasconde i dati anagrafici quando rett_con = B
|
||||
TPrint_section& body = section('B', odd_page);
|
||||
for (int i = 2; i <= 7; i++)
|
||||
{
|
||||
TForm_item& f = body.field(i);
|
||||
f.enable(add);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class TStampaQuadroA2 : public TStampaQuadroA
|
||||
{
|
||||
protected:
|
||||
@ -4498,7 +4551,8 @@ bool TBusta::print(const long codditta, const long, const long)
|
||||
{
|
||||
const bool ok = InitPrint(codditta);
|
||||
if (ok)
|
||||
{
|
||||
{
|
||||
// Calcola identificatore del quadretto corrispondente al quadro L
|
||||
TForm_item& dietor = find_field('B', odd_page, 'L' * 10);
|
||||
const int anno = anno_770();
|
||||
const bool elle = esiste_record_L(codditta, anno);
|
||||
|
Loading…
x
Reference in New Issue
Block a user