Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : Modifiche al pacchetto gestione 770 (ora denominato
Gestione Percipienti), in modo da avere diciture corrette per quanto riguarda
i programmi di stampa e gestione quadri, ora chiamati RIEPILOGHI.
Commentato l'uso dei quadri che non servivano piu', modificati
opportunamente i menus e programmi per gestione parametri ed azzeramenti


git-svn-id: svn://10.65.10.50/trunk@7030 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1998-09-03 13:32:44 +00:00
parent a7867e4a1c
commit ec5cd6f14d
40 changed files with 2381 additions and 927 deletions

View File

@ -86,7 +86,7 @@ END
NUMBER F_CODCONC2 3
BEGIN
PROMPT 23 5 "Cod.Concessione "
FLAGS "RZ"
FLAGS "RZH"
USE %UCC
INPUT CODTAB F_CODCONC2
DISPLAY "Codice" CODTAB
@ -100,7 +100,7 @@ END
NUMBER F_CODCONC3 3
BEGIN
PROMPT 47 5 "Cod.Concessione "
FLAGS "RZ"
FLAGS "RZH"
COPY USE F_CODCONC2
INPUT CODTAB F_CODCONC3
COPY DISPLAY F_CODCONC2
@ -120,27 +120,28 @@ END
NUMBER F_CODTES2 3
BEGIN
PROMPT 23 6 "Cod.Tesoreria "
FLAGS "RZ"
FLAGS "RZH"
FIELD LF_BASEBIS->L0CTES2
END
NUMBER F_CODTES3 3
BEGIN
PROMPT 47 6 "Cod.Tesoreria "
FLAGS "RZ"
FLAGS "RZH"
FIELD LF_BASEBIS->L0CTES3
END
/*
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 0 8 ""
END
*/
NUMBER F_CODUI 3
BEGIN
PROMPT 1 9 "Ufficio imposte "
FLAGS "RZD"
FLAGS "RZDH"
USE %UID
JOIN LF_COMUNI TO %UID INTO COM==S6
INPUT CODTAB F_CODUI
@ -156,48 +157,51 @@ END
STRING F_DESCRUI 50
BEGIN
PROMPT 25 9 ""
FLAGS "D"
FLAGS "DH"
END
STRING F_INDUI 35
BEGIN
PROMPT 1 10 "Indirizzo "
FLAGS "D"
FLAGS "DH"
END
STRING F_CIVUI 10
BEGIN
PROMPT 47 10 ""
FLAGS "D"
FLAGS "DH"
END
STRING F_CAPUI 5
BEGIN
PROMPT 63 10 "C.A.P. "
FLAGS "D"
FLAGS "DH"
END
STRING F_COMUI 50
BEGIN
PROMPT 1 11 "Comune "
FLAGS "D"
FLAGS "DH"
END
STRING F_PROVUI 5
BEGIN
PROMPT 63 11 "Prov. "
FLAGS "D"
FLAGS "DH"
END
/*
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 0 14 ""
FLAGS "H"
END
*/
NUMBER F_CODCS 3
BEGIN
PROMPT 1 15 "Centro servizi "
FLAGS "RZD"
FLAGS "RZDH"
USE %UCS
JOIN LF_COMUNI TO %UCS INTO COM==S6
INPUT CODTAB F_CODCS
@ -213,37 +217,37 @@ END
STRING F_DESCRCS 50
BEGIN
PROMPT 25 15 ""
FLAGS "D"
FLAGS "DH"
END
STRING F_INDCS 35
BEGIN
PROMPT 1 16 "Indirizzo "
FLAGS "D"
FLAGS "DH"
END
STRING F_CIVCS 10
BEGIN
PROMPT 47 16 ""
FLAGS "D"
FLAGS "DH"
END
STRING F_CAPCS 5
BEGIN
PROMPT 63 16 "C.A.P. "
FLAGS "D"
FLAGS "DH"
END
STRING F_COMCS 50
BEGIN
PROMPT 1 17 "Comune "
FLAGS "D"
FLAGS "DH"
END
STRING F_PROVCS 5
BEGIN
PROMPT 63 17 "Prov. "
FLAGS "D"
FLAGS "DH"
END
LISTBOX F_TIPOA2BTN 1

View File

@ -1191,12 +1191,29 @@ int TQuadroC_E2::write_prospetto_e1() const
int quadriC_E2(int argc, char* argv[])
{
TString16 taitol;
taitol << "Quadro ";
if (strnicmp(argv[2], "DB", 2) == 0)
taitol << "D bis";
taitol << "Riepilogo ";
const char * nome_quadro = argv[2];
if (strnicmp(nome_quadro, "C", 1) == 0)
taitol << "SC";
else
taitol << argv[2];
TQuadroC_E2 a(argv[2]);
if (strnicmp(nome_quadro, "DB", 2) == 0)
taitol << "SG";
else
if (strnicmp(nome_quadro, "D1", 2) == 0)
taitol << "SH";
else
if (strnicmp(nome_quadro, "D", 1) == 0)
taitol << "SF";
else
if (strnicmp(nome_quadro, "E1", 2) == 0)
taitol << "SQ";
else
if (strnicmp(nome_quadro, "E", 1) == 0)
taitol << "SP";
else
taitol << nome_quadro;
TQuadroC_E2 a(nome_quadro);
a.run(argc, argv, taitol);
return TRUE;
}

View File

@ -9,7 +9,7 @@ END
ENDPAGE
PAGE "Quadro C" -1 -1 78 18
PAGE "Riepilogo SC" -1 -1 78 18
GROUPBOX DLG_NULL 78 5
BEGIN

View File

@ -9,7 +9,7 @@ END
ENDPAGE
PAGE "Quadro D" -1 -1 78 18
PAGE "Riepilogo SF" -1 -1 78 18
GROUPBOX DLG_NULL 78 5
BEGIN

View File

@ -9,7 +9,7 @@ END
ENDPAGE
PAGE "Quadro D1" -1 -1 78 18
PAGE "Riepilogo SH" -1 -1 78 18
GROUPBOX DLG_NULL 78 5
BEGIN

View File

@ -9,7 +9,7 @@ END
ENDPAGE
PAGE "Quadro D bis" -1 -1 78 18
PAGE "Riepilogo SG" -1 -1 78 18
GROUPBOX DLG_NULL 78 5
BEGIN

View File

@ -9,7 +9,7 @@ END
ENDPAGE
PAGE "Quadro E" -1 -1 78 18
PAGE "Riepilogo SP" -1 -1 78 18
GROUPBOX DLG_NULL 78 5
BEGIN

View File

@ -14,7 +14,7 @@ END
ENDPAGE
PAGE "Quadro E1" -1 -1 78 18
PAGE "Riepilogo SQ" -1 -1 78 18
GROUPBOX DLG_NULL 78 5
BEGIN

View File

@ -487,7 +487,7 @@ bool M71310_application::user_destroy()
int m71310(int argc, char* argv[])
{
M71310_application a;
a.run(argc, argv, "Quadro L");
a.run(argc, argv, "Riepilogo SL/SK");
return 0;
}

View File

@ -15,7 +15,7 @@ END
#include <toolbar.h>
ENDPAGE
PAGE "Quadro L" -1 -1 78 18
PAGE "Riepilogo SL/SK" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN

View File

@ -2,7 +2,7 @@
#include <checks.h>
#include "772.h"
#define usage "Error - usage : %s -{0|1|2|3|4}"
#define usage "Error - usage : %s -{0|1|2|3|4|5}"
int main(int argc,char** argv)
{
@ -20,6 +20,8 @@ int main(int argc,char** argv)
m72400(argc,argv); break;
case 4:
stampa_quadro(argc,argv); break;
case 5:
stampa_riepilogo(argc,argv); break;
default:
error_box(usage, argv[0]) ;
}

View File

@ -14,6 +14,7 @@ int m72200 (int argc, char* argv[]); // Stampa delle certificazioni
int m72300 (int argc, char* argv[]); // Stampa movimenti per percipiente
int m72400 (int argc, char* argv[]); // Stampa versamenti ritenute
int stampa_quadro(int argc, char* argv[]); // Stampa quadro dichiarazione
int stampa_riepilogo(int argc, char* argv[]); // Stampa riepilogo SC/SF/SG/SM/SP/SQ/SL-SK
#endif

View File

@ -42,6 +42,7 @@ class TSt_certif : public TPrintapp
real impo;
real rite;
real netto;
real inps;
};
righe_pag* _rig;
TRelation* _rel;
@ -65,9 +66,9 @@ class TSt_certif : public TPrintapp
int _mese_da, _mese_a, _codc_p;
int _riga, _off_lung, _conta;
long _num_att, _codanagER, _codanagPE_p, _codanagPE;
real _tot_corr, _tot_somme, _tot_quote, _tot_impo, _tot_rite, _tot_netto;
real _t_corr, _t_somme, _t_quote, _t_impo, _t_rite, _t_netto;
real _corr, _quote, _impo, _rite, _netto, _somme;
real _tot_corr, _tot_somme, _tot_quote, _tot_impo, _tot_rite, _tot_netto, _tot_inps;
real _t_corr, _t_somme, _t_quote, _t_impo, _t_rite, _t_netto, _t_inps;
real _corr, _quote, _impo, _rite, _netto, _somme, _inps;
bool _intesta, _stampa, _settato_totale, _fai_footer;
bool _st_modulo, _st_data;
@ -100,7 +101,7 @@ public:
int stampa_riga(int,int,const char*);
void dati_erogante();
void dati_percipiente();
void riempi_record(long,char,long,const real&,int,const real&,const real&,const real&,const real&,const real&,const real&);
void riempi_record(long,char,long,const real&,int,const real&,const real&,const real&,const real&,const real&,const real&,const real&);
// D = stampa ditta, S = stampa a livello di studio
TSt_certif(char livello='D') : _intesta(TRUE), _liv(toupper(livello)) {}
@ -152,7 +153,8 @@ bool TSt_certif::mese_handler (TMask_field& f, KEY k)
TRectype& TSt_certif::look_schperc (long cod, char t, long codan, int np)
{
TLocalisamfile schede(LF_SCPERC);
// TLocalisamfile schede(LF_SCPERC); // Gosen
TLocalisamfile& schede = *_scperc;
schede.zero();
schede.put(SPR_CODDITTA, cod);
schede.put(SPR_TIPOA, t);
@ -184,11 +186,14 @@ void TSt_certif::init_sort()
_rig = new righe_pag;
_sort = new TSort(sizeof(righe_pag));
/*
_sort->addsortkey ((char*)&(_rig->ditta) - (char*)&(_rig->ditta),5);
_sort->addsortkey ((char*)&(_rig->tipoa) - (char*)&(_rig->ditta),1);
_sort->addsortkey ((char*)&(_rig->codan) - (char*)&(_rig->ditta),5);
_sort->addsortkey ((char*)&(_rig->perc) - (char*)&(_rig->ditta),6);
_sort->addsortkey ((char*)&(_rig->codc) - (char*)&(_rig->ditta),2);
*/
_sort->addsortkey (0, 23);
_sort->init();
}
@ -197,7 +202,7 @@ void TSt_certif::crea_sort()
long ditta, dittac, codan, codanc;
char tipoa, tipoac;
int nprog, nprogc, codc, mese, anno;
real corrisp, somme, impo, rite, netto, quote, perc;
real corrisp, somme, impo, rite, netto, quote, perc, inps;
TDate datapag;
dittac = codanc = 0l;
@ -216,7 +221,7 @@ void TSt_certif::crea_sort()
datapag = _cur->curr().get(PAG_DATAPAG);
if (ditta == dittac && tipoa == tipoac && codan == codanc && nprog == nprogc)
continue;
TRectype dep = look_schperc(ditta, tipoa, codan, nprog);
const TRectype& dep = look_schperc(ditta, tipoa, codan, nprog);
mese = dep.get_int(SPR_MESEC);
anno = dep.get_int(SPR_ANNOC);
codc = dep.get_int(SPR_CODCAUS);
@ -246,15 +251,17 @@ void TSt_certif::crea_sort()
rite = _cur->curr().get_real(PAG_RITENUTA);
impo = _cur->curr().get_real(PAG_IMPONIBILE);
netto = _cur->curr().get_real(PAG_NETTO);
inps = _cur->curr().get_real(PAG_INPSPERC);
quote = corrisp-impo;
riempi_record(ditta,tipoa,codan,perc,codc,corrisp,somme,quote,impo,rite,netto);
riempi_record(ditta,tipoa,codan,perc,codc,corrisp,somme,quote,impo,rite,netto,inps);
}
}
void TSt_certif::riempi_record(long d,char t,long ca,const real& p,int c,
const real& co,const real& so,
const real& qu,const real& im,const real& ri,const real& ne)
const real& qu,const real& im,const real& ri,
const real& ne, const real& inps)
{
sprintf(_rig->ditta, "%5ld", d);
_rig->tipoa = t;
@ -269,6 +276,7 @@ void TSt_certif::riempi_record(long d,char t,long ca,const real& p,int c,
_rig->impo = im;
_rig->rite = ri;
_rig->netto = ne;
_rig->inps = inps;
_sort->sort((const char*)_rig);
}
@ -279,13 +287,17 @@ int TSt_certif::stampa_riga(int i, int ct, const char* d)
{
TString16 app (_perc_p.left(3)); //stampo solo la parte intera
app.ltrim();
set_row(i,"%02d %4d %-.25s @34g%r@50g%r@66g%r",_codc_p,ct,d,&_tot_corr,&_tot_somme,&_tot_quote);
set_row(i++,"@82g%r@98g%s@101g%r@117g%r",&_tot_impo,(const char*)app,&_tot_rite,&_tot_netto);
real lordo_netto_iva = _tot_corr + _tot_somme;
real somme_quote = _tot_somme + _tot_quote;
set_row(i,"%02d %4d %-.25s @34g%r@50g%r@66g%r",_codc_p,ct,d,&lordo_netto_iva,&somme_quote,&_tot_impo);
set_row(i++,"@83g%s@86g%r@101g%r@117g%r",(const char*)app,&_tot_rite,&_tot_inps,&_tot_netto);
}
else
{
real non_sogg = _tot_corr - _tot_impo + _tot_somme;
real imp_netto = _tot_impo - _tot_rite;
real imp_netto = _tot_impo - _tot_rite /* - _tot_inps */;
TString16 app (_perc_p.left(3));
app.ltrim();
set_row(i++, "@3g%4d@11g%-.28s@43g%12.0r@57g%12.0r@71g%12.0r@85g%s@89g%12.0r@104g%12.0r",
@ -295,14 +307,19 @@ int TSt_certif::stampa_riga(int i, int ct, const char* d)
return i;
}
// Totale su carta bianca
void TSt_certif::stampa_totale(int i)
{
TString dep(94);
dep.fill('-');
set_row(i++, "");
set_row(i++, "@38g%s", (const char*) dep);
set_row(i, "@15gTOTALE@34g%r@50g%r@66g%r@82g%r@101g%r@117g%r",
&_t_corr,&_t_somme,&_t_quote,&_t_impo,&_t_rite,&_t_netto);
real lordo_netto_iva = _t_corr + _t_somme;
real somme_quote = _t_somme + _t_quote;
set_row(i, "@15gTOTALE@34g%r@50g%r@66g%r@86g%r@101g%r@117g%r",
&lordo_netto_iva,&somme_quote,&_t_impo,&_t_rite,&_t_inps,&_t_netto);
}
void TSt_certif::salva_totale()
@ -314,6 +331,7 @@ void TSt_certif::salva_totale()
_tot_impo += _impo;
_tot_rite += _rite;
_tot_netto+= _netto;
_tot_inps += _inps;
}
void TSt_certif::leggi_sort()
@ -325,9 +343,7 @@ void TSt_certif::leggi_sort()
if ((_buf = _sort->retrieve()) != NULL)
{
TString16 key1, key2;
struct righe_pag* rp;
rp = (struct righe_pag*)_buf;
struct righe_pag* rp = (struct righe_pag*)_buf;
long ditta = atol(rp->ditta);
_tipoa = rp->tipoa;
_codanagPE = atol(rp->codan);
@ -346,6 +362,7 @@ void TSt_certif::leggi_sort()
_impo = rp->impo;
_rite = rp->rite;
_netto = rp->netto;
_inps = rp->inps;
key1.format("%c%5ld", _tipoa, _codanagPE);
key2.format("%s%02d", (const char*)perc, codc);
@ -365,12 +382,13 @@ void TSt_certif::leggi_sort()
_t_impo += _tot_impo;
_t_rite += _tot_rite;
_t_netto += _tot_netto;
_t_inps += _tot_inps;
if (!_st_modulo)
{
stampa_totale(i);
_tot_corr=_tot_somme=_tot_quote=_tot_impo=_tot_rite=_tot_netto=ZERO; //sono i totali relativi ad ogni singola riga di stampa
_t_corr = _t_somme = _t_quote = _t_impo = _t_rite =_t_netto = ZERO; //sono i totali finali (relativi cioe' al percipiente)
_tot_corr=_tot_somme=_tot_quote=_tot_impo=_tot_rite=_tot_netto=_tot_inps=ZERO; //sono i totali relativi ad ogni singola riga di stampa
_t_corr = _t_somme = _t_quote = _t_impo = _t_rite =_t_netto = _t_inps=ZERO; //sono i totali finali (relativi cioe' al percipiente)
}
//salvo gli importi del record che sto leggendo
@ -392,8 +410,9 @@ void TSt_certif::leggi_sort()
_t_impo += _tot_impo;
_t_rite += _tot_rite;
_t_netto += _tot_netto;
_t_inps += _tot_inps;
_tot_corr=_tot_somme=_tot_quote=_tot_impo=_tot_rite=_tot_netto=ZERO;
_tot_corr=_tot_somme=_tot_quote=_tot_impo=_tot_rite=_tot_netto=_tot_inps=ZERO;
if (_st_modulo)
_conta += 1;
@ -435,6 +454,7 @@ void TSt_certif::leggi_sort()
_t_impo += _tot_impo;
_t_rite += _tot_rite;
_t_netto += _tot_netto;
_t_inps += _tot_inps;
if (!_st_modulo)
stampa_totale(i);
@ -449,7 +469,7 @@ void TSt_certif::preprocess_footer()
{
//riga totale
real t_non_sogg = _t_corr - _t_impo + _t_somme;
real t_imp_netto = _t_impo - _t_rite;
real t_imp_netto = _t_impo - _t_rite /* - _t_inps */;
reset_footer();
@ -462,15 +482,16 @@ void TSt_certif::preprocess_footer()
tr = _t_rite.string();
tim = t_imp_netto.string();
_tot_corr=_tot_somme=_tot_quote=_tot_impo=_tot_rite=_tot_netto=ZERO;
_tot_corr=_tot_somme=_tot_quote=_tot_impo=_tot_rite=_tot_netto=_tot_inps=ZERO;
if (_settato_totale)
_t_corr = _t_somme = _t_quote = _t_impo = _t_rite =_t_netto = ZERO;
_t_corr = _t_somme = _t_quote = _t_impo = _t_rite =_t_netto = _t_inps = ZERO;
if (_settato_totale)
set_footer(r++, "@43g%12s@57g%12s@71g%12s@89g%12s@104g%12s", (const char*)tc,
(const char*)tns,(const char*)ti,(const char*)tr,(const char*)tim);
else set_footer(r++, "@5gsegue...");
else
set_footer(r++, "@5gsegue...");
set_footer(r++, "");
set_footer(r++, "");
@ -523,8 +544,8 @@ void TSt_certif::preprocess_footer()
bool TSt_certif::preprocess_print(int file, int counter)
{
_key1p = _key2p = "";
_tot_corr = _tot_somme = _tot_quote = _tot_impo = _tot_rite = _tot_netto = ZERO;
_t_corr = _t_somme = _t_quote = _t_impo = _t_rite = _t_netto = ZERO;
_tot_corr = _tot_somme = _tot_quote = _tot_impo = _tot_rite = _tot_netto = _tot_inps = ZERO;
_t_corr = _t_somme = _t_quote = _t_impo = _t_rite = _t_netto = _t_inps = ZERO;
_stampa = _settato_totale = _fai_footer = FALSE;
_conta = 0;
@ -785,17 +806,17 @@ void TSt_certif::preprocess_header()
set_header(i++, "");
set_header(i++, "@50g%s,li %d %s %d", (const char*)_luogo, _data.day(), itom(_data.month()), _data.year());
set_header(i++, "");
set_header(i++, "@7gPer gli adempimenti previsti dall'art.7 bis del D.P.R. 29 Settembre 1973,n. 600 e successive modifica-");
set_header(i++, "zioni si attesta che nel corso del periodo dal 01/01/%d al 31/12/%d al percipiente evidenziato in riquadro", _anno_dic, _anno_dic);
set_header(i++, "sono stati corrisposti i seguenti compensi debitamente assoggettati a ritenuta d'acconto:");
set_header(i++, "@7gPer gli adempimenti previsti dall'art.7 bis del D.P.R. 29 Settembre 1973,n. 600 e successive modificazioni");
set_header(i++, "si attesta che nel corso del periodo dal 01/01/%d al 31/12/%d al percipiente evidenziato in riquadro", _anno_dic, _anno_dic);
set_header(i++, "sono stati corrisposti i seguenti compensi debitamente assoggettati a ritenuta d'acconto e ad eventuale ritenuta previdenziale:");
set_header(i++, "");
_intesta = FALSE;
}
TString sep(132);
sep.fill('-');
set_header(i++, (const char*)sep);
set_header(i++, "Codice@53gSomme@69gQuote");
set_header(i++, "Cs Trib Descrizione@36gCorrispettivo@53gNon soggette@69gNon soggette@87gImponibili@98gAl@108gRitenute@123gNet.corr.");
set_header(i++, "Codice@36gTotale lordo@53gSomme e Quote@90gRitenute@108gRitenute");
set_header(i++, "Cs Trib Descrizione@36gal netto IVA@53gNon soggette@69gImponibile@83gAl@90gFiscali@108gPrevidenz.@123gNet.corr.");
set_header(i, (const char*)sep);
}

View File

@ -14,3 +14,4 @@
#define F_MODULO 114
#define F_LUNG 115
#define F_LARG 116
#define F_INPS 117

View File

@ -132,17 +132,22 @@ END
BOOLEAN F_MODULO
BEGIN
PROMPT 3 13 "Stampa su modulo "
HELP "Indicare se si desidera stampare su modulo"
MESSAGE TRUE SHOW,F_LUNG|"8",F_LUNG
MESSAGE FALSE HIDE,F_LUNG
FLAGS "GH" // Per ora lo ignoriamo
MESSAGE TRUE SHOW,F_LUNG|"8",F_LUNG|SHOW,F_INPS
MESSAGE FALSE HIDE,F_LUNG|HIDE,F_INPS
END
NUMBER F_LUNG 1
BEGIN
PROMPT 28 13 "Margine di lunghezza "
END
BOOLEAN F_INPS
BEGIN
PROMPT 28 14 "Stampa importo contributi previdenziali"
END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 "~Stampa"

View File

@ -22,3 +22,8 @@ MENUBAR MENU_BAR(4)
MENU MENU_BAR(4)
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(5)
MENU MENU_BAR(5)
SUBMENU MENU_FILE "~File"

View File

@ -1,6 +1,6 @@
#include "773100.h"
PAGE "Parametri Modello 770" -1 -1 76 13
PAGE "Parametri gestione percipienti" -1 -1 76 13
//
// NB Il parametro AnnoDic e' letto in tutte le stampe
@ -33,6 +33,7 @@ BEGIN
ITEM "1|Ordine primario data versamento"
ITEM "2|Ordine primario periodo riferimento"
FIELD FlStQl
FLAGS "H"
END
LIST F_FSTAMPAQCQD 29
@ -41,6 +42,7 @@ BEGIN
ITEM "1|Per codice causale e aliquota"
ITEM "2|Per codice tributo e aliquota"
FIELD FlStQcQd
FLAGS "H"
END
BUTTON DLG_OK 10 2

View File

@ -287,8 +287,8 @@ bool TAzzeramento_archivi::user_create()
bool TAzzeramento_archivi::user_destroy()
{
delete _msk;
delete _rel;
delete _msk;
delete _cnf_studio;
delete _riporti;
@ -623,6 +623,7 @@ void TAzzeramento_archivi::elab_tutte(const bool azzsch, const bool azzqua)
{
// creazione istanze d'azzeramento
azzera_create(azzsch, azzqua);
TProgind pi (3,"Azzeramento riepiloghi...",FALSE,TRUE);
// richiesto azzeramento schede percipienti
if (azzsch)
@ -641,6 +642,7 @@ void TAzzeramento_archivi::elab_tutte(const bool azzsch, const bool azzqua)
_reset_SCPERC->run();
_reset_RPAG->run();
_reset_RVER->run();
pi.addstatus(1);
}
// richiesto azzeramento quadri
@ -704,6 +706,7 @@ void TAzzeramento_archivi::elab_tutte(const bool azzsch, const bool azzqua)
_reset_QUAR->run();
_reset_QUAS->run();
_reset_QUAT->run();
pi.addstatus(1);
}
// handle log schede percipienti
@ -712,6 +715,7 @@ void TAzzeramento_archivi::elab_tutte(const bool azzsch, const bool azzqua)
// distruzione istanze d'azzeramento
azzera_destroy(azzsch, azzqua);
pi.setstatus(3);
return;
}

View File

@ -53,7 +53,7 @@ END
GROUPBOX DLG_NULL -1 3
BEGIN
PROMPT 1 12 "@bAzzeramento quadri dichiarazione"
PROMPT 1 12 "@bAzzeramento riepiloghi"
FLAGS "R"
END

View File

@ -24,7 +24,7 @@
#include "../ba/ba4600.h"
HIDDEN TString80 __tmp;
HIDDEN const int NUM_QUADRI = 29;
HIDDEN const int NUM_QUADRI = 30;
typedef enum { grassetto=0, sottolineato, piano } stile;
@ -248,19 +248,24 @@ const char* TManutenzione_quadri::make_prompt(int i, stile vivid)
__tmp << "Quadro B1";
break;
case 6:
__tmp << "Quadro C" ;
//__tmp << "Quadro C" ;
__tmp << "Riepilogo SC" ;
break;
case 7:
__tmp << "Quadro D" ;
//__tmp << "Quadro D" ;
__tmp << "Riepilogo SF" ;
break;
case 8:
__tmp << "Quadro D1";
//__tmp << "Quadro D1";
__tmp << "Riepilogo SH";
break;
case 9:
__tmp << "Quadro E" ;
//__tmp << "Quadro E" ;
__tmp << "Riepilogo SP" ;
break;
case 10:
__tmp << "Quadro E1";
//__tmp << "Quadro E1";
__tmp << "Riepilogo SQ";
break;
case 11:
__tmp << "Quadro E2";
@ -287,7 +292,8 @@ const char* TManutenzione_quadri::make_prompt(int i, stile vivid)
__tmp << "Quadro I" ;
break;
case 19:
__tmp << "Quadro L" ;
//__tmp << "Quadro L" ;
__tmp << "Riepilogo SL/SK" ;
break;
case 20:
__tmp << "Quadro N" ;
@ -311,7 +317,8 @@ const char* TManutenzione_quadri::make_prompt(int i, stile vivid)
__tmp << "Quadro Ab";
break;
case 27:
__tmp << "Quadro Db";
//__tmp << "Quadro Db";
__tmp << "Riepilogo SG";
break;
default:
break;
@ -389,7 +396,7 @@ if (k == K_SPACE)
if (f.dlg() == DLG_STOPREC_STQD) // enter su menu
{ // stampe dichiarazioni
f.mask().hide(-MENU_STAMPE);
f.mask().show(-MENU_STAMPEDICH);
f.mask().show(-MENU_STAMPEDICH_VIS);
f.mask().set_focus_field(B_BASE);
f.mask().set_caption("Stampe dichiarazioni");
return TRUE;
@ -406,7 +413,7 @@ bool TManutenzione_quadri::hide_menu(TMask_field& f, KEY k)
if (f.mask().field(DLG_STOPREC_DICH).shown()) // cancel da menu
{ // dati anagrafici
f.mask().hide(-MENU_DATIANAG);
f.mask().show(-MENU_MAIN);
f.mask().show(-MENU_MAIN_VIS);
f.mask().first_focus(DLG_MANUTENZ);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE;
@ -414,7 +421,7 @@ bool TManutenzione_quadri::hide_menu(TMask_field& f, KEY k)
if (f.mask().field(DLG_STOPREC_ST0).shown()) // cancel da menu
{ // stampe
f.mask().hide(-MENU_STAMPE);
f.mask().show(-MENU_MAIN);
f.mask().show(-MENU_MAIN_VIS);
f.mask().first_focus(DLG_STOPREC_ST);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE;
@ -422,12 +429,12 @@ bool TManutenzione_quadri::hide_menu(TMask_field& f, KEY k)
if (f.mask().field(DLG_STOPREC_SD0).shown()) // cancel da menu
{ // soggetto dichiarante
f.mask().hide(-MENU_SOGGDICH);
f.mask().show(-MENU_MAIN);
f.mask().show(-MENU_MAIN_VIS);
f.mask().first_focus(DLG_STOPREC_SD);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE;
}
if (f.mask().field(B_BASE).shown()) // cancel da menu
if (f.mask().field(B_C).shown()) // cancel da menu
{ // stampe dichiarazioni
f.mask().hide(-MENU_STAMPEDICH);
f.mask().show(-MENU_STAMPE);
@ -627,6 +634,6 @@ bool TManutenzione_quadri::query_mask()
int MenuQuadri (int argc, char* argv[])
{
TManutenzione_quadri a;
a.run(argc, argv, "Manutenzione dichiarazione");
a.run(argc, argv, "Gestione percipienti");
return 0;
}

View File

@ -1,6 +1,6 @@
#include "776100a.h"
PAGE "Manutenzione dichiarazione" -1 -1 64 8
PAGE "Gestione percipienti" -1 -1 64 8
NUMBER F_CODDITTA 5
BEGIN

View File

@ -6,6 +6,8 @@
#define MENU_STAMPE 3
#define MENU_SOGGDICH 4
#define MENU_STAMPEDICH 5
#define MENU_MAIN_VIS 6
#define MENU_STAMPEDICH_VIS 7
#define F_CODDITTA 101
#define F_RAGDITTA 102
@ -173,5 +175,7 @@
#define B_U 299
#define DLG_STOPREC_SP 300
#define DLG_CANCEL_MENUSTQ 301
#define T_L 302
#define B_L 303
#endif

File diff suppressed because it is too large Load Diff

View File

@ -85,7 +85,7 @@ bool TImmissioneDichiarazione::firm_change_enabled() const
int ImmissioneDichiarazioni(int argc, char* argv[])
{
TImmissioneDichiarazione app;
app.run(argc, argv, "Immissione dichiarazione");
app.run(argc, argv, "Attivazione sostituto");
return 0;
}

View File

@ -22,28 +22,28 @@ class TSelezioneDich : public TConfig_application
TConfig* _user_cnf, * _studio_cnf;
int _n_ditte;
int _anno_dic;
TRelation* _nditte;
//TRelation* _nditte;
long _da_cod, _a_cod;
bool _builded_nomiditte;
void build_nomiditte();
void build_ditte_sheet();
void build_ditte_sel_sheet();
//void build_nomiditte();
//void build_ditte_sheet();
//void build_ditte_sel_sheet();
bool is_in (long codditta);
void init_sheet();
//void init_sheet();
void check_all_dic();
public:
void set_choice_limits(TMask& m);
//void set_choice_limits(TMask& m);
long select_firm_range(long from, long to);
long set_previous_firm_range();
// handlers & handlers
static bool to_ditt_handler (TMask_field&, KEY);
static bool fr_ditt_handler (TMask_field&, KEY);
static bool to_butt_handler (TMask_field&, KEY);
static bool fr_butt_handler (TMask_field&, KEY);
//static bool to_ditt_handler (TMask_field&, KEY);
//static bool fr_ditt_handler (TMask_field&, KEY);
//static bool to_butt_handler (TMask_field&, KEY);
//static bool fr_butt_handler (TMask_field&, KEY);
static bool mask_select (TMask_field&, KEY);
static bool mask_azzera (TMask_field&, KEY);
//static bool mask_azzera (TMask_field&, KEY);
// Seleziona tutte le dic
static bool tutte_handler (TMask_field&, KEY);
// Mostra solo le selezionate
@ -81,8 +81,8 @@ bool TSelezioneDich::user_create()
_studio_cnf = new TConfig(CONFIG_STUDIO);
_nditte = new TRelation(LF_NDITTE);
_nditte->add(LF_BASE,"CODDITTA=CODDITTA");
//_nditte = new TRelation(LF_NDITTE);
//_nditte->add(LF_BASE,"CODDITTA=CODDITTA");
_ditte = new TArray_sheet(11, 1, 67, 20, "Seleziona dichiarazioni",
"@1|Cod.@5|Ragione Sociale@50");
@ -99,9 +99,9 @@ bool TSelezioneDich::user_destroy()
{
delete _ditte;
delete _ditte_sel;
delete _nditte;
delete _user_cnf;
delete _studio_cnf;
//delete _nditte;
return TRUE;
}
@ -110,6 +110,7 @@ bool TSelezioneDich::firm_change_enabled() const
return FALSE;
}
/*
void TSelezioneDich::init_sheet()
{
_n_ditte = 0l;
@ -137,10 +138,11 @@ void TSelezioneDich::init_sheet()
build_ditte_sheet();
}
*/
bool TSelezioneDich::preprocess_config (TMask& m, TConfig& config)
{
init_sheet();
//init_sheet();
// Setto l'anno dichiarazione con quello preso dai parametri di studio
// ma SOLO SE non gia' compilato nei par. utente
@ -148,21 +150,25 @@ bool TSelezioneDich::preprocess_config (TMask& m, TConfig& config)
if (_anno_dic == 0)
_anno_dic = (int)_studio_cnf->get_long(ANNO_SEL, _section);
const long codditta = _user_cnf->get_long(DITTA_770, _section);
m.set(F_ANNODIC, _anno_dic);
m.set(F_CODDITTA, codditta);
// const long l = select_firm_range(_da_cod, _a_cod);
// Evidenzia le ditte precedentemente selezionate. Legge _old_ditte
const long l = set_previous_firm_range();
//const long l = set_previous_firm_range();
set_choice_limits(m);
m.field(F_SELECT).set(format("%ld", l));
//set_choice_limits(m);
//m.field(F_SELECT).set(format("%ld", l));
m.set_handler (DLG_SELECT_2, mask_select);
m.set_handler (F_ANNULLA, mask_azzera);
m.set_handler (A_CODICE, to_ditt_handler);
m.set_handler (DA_CODICE, fr_ditt_handler);
m.set_handler (F_TUTTE, tutte_handler);
m.set_handler (F_DICSEL, dicsel_handler);
//m.set_handler (DLG_SELECT_2, mask_select);
//m.set_handler (F_ANNULLA, mask_azzera);
//m.set_handler (A_CODICE, to_ditt_handler);
//m.set_handler (DA_CODICE, fr_ditt_handler);
//m.set_handler (F_TUTTE, tutte_handler);
//m.set_handler (F_DICSEL, dicsel_handler);
return TRUE;
}
@ -180,38 +186,42 @@ bool TSelezioneDich::postprocess_config (TMask& m, TConfig& config)
if (m.last_key() == K_ENTER)
{
const int anno_dic = m.get_int(F_ANNODIC);
const long selec = _ditte->checked();
const long items = _ditte->items();
const long ditta_dic = m.get_long(F_CODDITTA);
//const long selec = _ditte->checked();
//const long items = _ditte->items();
TProgind prg(items, "Registrazione in corso\nAttendere prego...", FALSE, TRUE);
//TProgind prg(items, "Registrazione in corso\nAttendere prego...", FALSE, TRUE);
// Registro l'anno dic. nei parametri utente
_user_cnf->set(ANNO_SEL, anno_dic);
_user_cnf->set(DITTA_770, ditta_dic);
// _user_cnf->set(DITTE_SEL, ditta_dic, _section, TRUE, 0);
// Compatto l'array delle ditte nel .ini
int ditte_in_ini = 0;
long codditta = 0L;
for (int i = 0; i < items; i++)
{
if (_selected[i])
{
TToken_string& d = (TToken_string&)_nomiditte[i];
codditta = d.get_long(1);
_user_cnf->set(DITTE_SEL, codditta, _section, TRUE, ditte_in_ini);
ditte_in_ini++ ;
}
prg.addstatus(1);
}
// int ditte_in_ini = 0;
//
// long codditta = 0L;
// for (int i = 0; i < items; i++)
// {
// if (_selected[i])
// {
// TToken_string& d = (TToken_string&)_nomiditte[i];
// codditta = d.get_long(1);
// _user_cnf->set(DITTE_SEL, codditta, _section, TRUE, ditte_in_ini);
// ditte_in_ini++ ;
// }
// prg.addstatus(1);
// }
// Segno l'ultima ditta nel .ini
_user_cnf->set(DITTE_SEL, "", _section, TRUE, ditte_in_ini);
// _user_cnf->set(DITTE_SEL, "", _section, TRUE, ditte_in_ini);
// Reset dei due codici ditta "Da" "A"
_a_cod = _da_cod = 0L;
// _a_cod = _da_cod = 0L;
}
return TRUE;
}
/*
bool TSelezioneDich::mask_select (TMask_field& f, KEY k)
{
if (k == K_SPACE)
@ -227,7 +237,10 @@ bool TSelezioneDich::mask_select (TMask_field& f, KEY k)
}
return TRUE;
}
*/
// --------------------------- handlers per selezione ditte
/*
bool TSelezioneDich::mask_azzera (TMask_field& f, KEY k)
{
if (k == K_SPACE)
@ -241,8 +254,6 @@ bool TSelezioneDich::mask_azzera (TMask_field& f, KEY k)
return TRUE;
}
// --------------------------- handlers per selezione ditte
bool TSelezioneDich::to_ditt_handler(TMask_field& f, KEY key)
{
TMask& m = f.mask();
@ -308,6 +319,7 @@ bool TSelezioneDich::fr_butt_handler(TMask_field& f, KEY key)
}
return TRUE;
}
*/
void TSelezioneDich::check_all_dic()
{
@ -315,6 +327,7 @@ void TSelezioneDich::check_all_dic()
_ditte->check(i);
}
/*
bool TSelezioneDich::tutte_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE)
@ -357,6 +370,7 @@ void TSelezioneDich::set_choice_limits(TMask& m)
if (last != -1) m.field(A_CODICE).set(format("%ld",last));
m.set(F_SELECT, _selected.ones());
}
*/
// Legge da _old_ditte le ditte selezionate e le evidenzia
long TSelezioneDich::set_previous_firm_range()
@ -415,6 +429,7 @@ long TSelezioneDich::select_firm_range(long from, long to)
}
// 23/6/95 - Scelta ditte solo tra quelle che hanno dichiarazione
/*
void TSelezioneDich::build_nomiditte()
{
_nomiditte.destroy();
@ -475,11 +490,12 @@ void TSelezioneDich::build_ditte_sel_sheet()
const long pos = _ditte_sel->add(d);
}
}
*/
int SelezioneDichiarazioni(int argc, char* argv[])
{
TSelezioneDich app;
app.run(argc, argv, "Selezione dichiarazione");
app.run(argc, argv, "Selezione stampa");
return 0;
}

View File

@ -1,14 +1,6 @@
// 776300a.h - Maschera selezione dichiarazioni
// 776300a.h - Maschera selezione stampe
#define F_ANNODIC 101
#define DA_CODICE 102
#define A_CODICE 103
#define F_SELECT 106
#define F_ANNULLA 107
#define F_VERIFICA 108
#define DLG_SELECT_2 109
#define F_TUTTE 110
#define F_DICSEL 111
#define RADIO1 112
#define RADIO2 113
#define F_CODDITTA 101
#define F_RAGDITTA 102
#define F_ANNODIC 103

View File

@ -1,101 +1,66 @@
// 776300a.uml
// SELEZIONE DICHIARAZIONI
// SI COMPONE DI TRE SEZIONI :
// - LE SEGUENTI DICHIARAZIONI..
// - SELEZIONE FRA LIMITI..
// - TUTTE..
// OGNUNA DELLE QUALI DEVE DISABILITARE LE ALTRE
// SELEZIONE DITTA PER MENU STAMPE
// RESA UGUALE ALLA MASCHERA 776100a.uml
#include "776300a.h"
PAGE " Nuova Selezione " -1 -1 70 16
PAGE "Selezione stampa" -1 -1 75 10
// SEZIONE "LE SEGUENTI DICHIARAZIONI"
BOOLEAN RADIO1
NUMBER F_CODDITTA 5
BEGIN
PROMPT 2 2 " Le seguenti dichiarazioni"
MESSAGE TRUE ENABLE,DLG_SELECT_2|" ",RADIO2|" ",F_TUTTE|DISABLE,2@
MESSAGE FALSE DISABLE,DLG_SELECT_2
PROMPT 1 1 "Codice "
USE LF_NDITTE SELECT LF_BASE->CODDITTA!=""
JOIN LF_BASE INTO CODDITTA==CODDITTA
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGDITTA RAGSOC
HELP "Codice della ditta da selezionare"
CHECKTYPE REQUIRED
WARNING "Manca la ditta"
KEY 1
GROUP 1
END
BUTTON DLG_SELECT_2 25 1
STRING F_RAGDITTA 50
BEGIN
PROMPT 38 2 "~Seleziona dichiarazioni"
HELP "Indicare le dichiarazioni da selezionare per la stampa"
FLAGS "D"
END
// SEZIONE "SELEZIONE FRA LIMITI"
BOOLEAN RADIO2
BEGIN
PROMPT 2 4 " Fra limiti di codici"
MESSAGE TRUE ENABLE,2@|" ",RADIO1|" ",F_TUTTE|DISABLE,DLG_SELECT_2
MESSAGE FALSE DISABLE,2@
END
NUMBER DA_CODICE 6
BEGIN
PROMPT 38 4 "da "
FLAGS "BD"
HELP "Codice dichiarazione di inizio selezione"
GROUP 2
END
NUMBER A_CODICE 6
BEGIN
PROMPT 53 4 "a "
FLAGS "BD"
HELP "Codice ditta di fine selezione"
GROUP 2
END
// SEZIONE "SELEZIONE TUTTE"
BOOLEAN F_TUTTE
BEGIN
PROMPT 2 6 " Tutte"
MESSAGE TRUE " ",RADIO1|" ",RADIO2|DISABLE,DLG_SELECT_2|DISABLE,2@
HELP "Seleziona tutte le dichiarazioni"
END
STRING F_SELECT 5
BEGIN
PROMPT 2 8 "Dichiarazioni selezionate "
FLAGS "DR"
PROMPT 1 2 "Rag. Soc. "
USE LF_NDITTE KEY 2 SELECT LF_BASE->CODDITTA!=""
JOIN LF_BASE INTO CODDITTA==CODDITTA
INPUT RAGSOC F_RAGDITTA
DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Codice" CODDITTA
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGDITTA RAGSOC
HELP "Ragione sociale della ditta da selezionare"
KEY 2
GROUP 1
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 2 10 "Anno dichiarazione "
PROMPT 1 4 "Anno dichiarazione "
HELP "Anno dichiarazione"
FLAGS "A"
WARNING "Inserire l'anno"
CHECKTYPE REQUIRED
END
BUTTON F_DICSEL 33 1
BEGIN
PROMPT 2 12 "~Elenco Dichiarazioni Selezionate"
HELP "Visualizza le dichiarazioni selezionate"
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON F_ANNULLA 10 2
BEGIN
PROMPT -23 -1 "A~zzera"
HELP "Annullare la selezione delle dichiarazioni"
MESSAGE RESET,DA_CODICE|RESET,A_CODICE
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -33 -1 ""
PROMPT -22 -1 "Fine"
END
ENDPAGE
ENDMASK

View File

@ -3,34 +3,21 @@ Caption = "Gestione percipienti"
Picture = <7701.bmp>
Module = 4
Flags = ""
Item_01 = "Immissione dichiarazione", "776mod -1", ""
Item_02 = "Manutenzione dichiarazione", "776mod -0", ""
Item_03 = "Selezione dichiarazione", "776mod -2", ""
Item_04 = "Stampe", [PRASSI77_002]
Item_05 = "Tabelle", [PRASSI77_003]
Item_06 = "Generazione versamenti", "774 -0", ""
Item_07 = "Azzeramento archivi", "774 -2 T", ""
Item_08 = "Parametri di studio", "773mod -0", ""
[PRASSI77_003]
Caption = "Tabelle"
Picture = <7701.bmp>
Module = 0
Flags = ""
Item_01 = "Tabella C.A.A.F.", "773mod -3 %caf", ""
Item_02 = "Tabella causali", "773mod -3 %ca7", ""
Item_03 = "Tabella enti previdenziali", "773mod -3 %ent", ""
Item_01 = "Attivazione sostituto", "776mod -1", ""
Item_02 = "Gestione percipienti", "776mod -0", ""
Item_03 = "Stampe",[PRASSI77_002]
Item_04 = "Tabella causali", "773mod -3 %ca7", ""
Item_05 = "Azzeramento archivi", "774 -2 T", ""
Item_06 = "Parametri di studio", "773mod -0", ""
[PRASSI77_002]
Caption = "Stampe"
Picture = <ba03.bmp>
Module = 0
Flags = ""
Item_01 = "Selezione dichiarazione", "776mod -2", ""
Item_01 = "Selezione stampa", "776mod -2", ""
Item_02 = "Schede percipienti", "772mod -0 S", ""
Item_03 = "Certificazioni", "772mod -1 S", ""
Item_04 = "Lista movimenti percipienti", "772mod -2 S", ""
Item_05 = "Menu stampe dichiarazioni", '773mod -1 menu_st "Stampe dichiarazioni"', ""

117
m770/77sr.cpp Executable file
View File

@ -0,0 +1,117 @@
// Applicazione generica di stampa riepiloghi SC|SF|SG|SH|SP|SQ|SL/SK
// Invocazione astrale:
// 772mod -5 [SC|SF|SG|SH|SP|SQ|SL/SK]
#include <applicat.h>
#include <form.h>
#include <printer.h>
#include "77lib.h"
#include "77sr.h"
class TStampa_riepilogo : public TSkeleton_application
{
TForm *_frm;
TMask *_msk;
TString _titolo;
TString16
_riepilogo;
long _currfirm; // Ditta corrente
int _curryear; // Anno corrente
protected:
virtual bool create();
virtual bool destroy();
virtual void main_loop();
public:
const TString& titolo() const { return _titolo; }
TStampa_riepilogo(const char* riepilogo);
virtual ~TStampa_riepilogo() {};
};
TStampa_riepilogo::TStampa_riepilogo(const char * riepilogo)
{
_titolo = "Stampa riepilogo ";
_riepilogo = riepilogo;
_titolo << _riepilogo;
}
bool TStampa_riepilogo::create()
{
TString form_name;
form_name = "77sr";
if (_riepilogo == "SL/SK")
form_name << "SL";
else
form_name << _riepilogo;
form_name.lower();
_frm = new TForm(form_name); // fatal_box automaGico se il form non esiste...
_msk = new TMask("77sr"); // La maschera est unica.
_msk->set_caption(titolo());
{
TConfig conf(CONFIG_USER, "77");
_currfirm = conf.get_long(DITTA_770, "77");
}
{
TConfig conf(CONFIG_STUDIO, "77");
_curryear = conf.get_int(ANNO_SEL, "77");
}
_msk->set(F_CODICE,_currfirm);
_msk->set(F_ANNO,_curryear);
TLocalisamfile& ditte = _frm->cursor()->file(LF_NDITTE);
ditte.put("CODDITTA",_currfirm);
_msk->set(F_RAGIONE,ditte.read() == NOERR ? ditte.get("RAGSOC") : "Ditta inesistente");
return TSkeleton_application::create();
}
bool TStampa_riepilogo::destroy()
{
delete _msk;
delete _frm;
return TApplication::destroy();
}
void TStampa_riepilogo::main_loop()
{
while (_msk->run() != K_QUIT) // Visualizza la maschera ebbasta
{
// Setta il filtro del cursore sulla ditta
//
TCursor *cur = _frm->cursor();
TRectype from(cur->curr());
from.zero();
from.put("CODDITTA",_currfirm);
if (_riepilogo == "SL/SK")
from.put("QLAP", _curryear); // E' necessario filtrare anche l'anno !?
TRectype to(from);
cur->setregion(from, to);
const int hh = 6;
const int fl = printer().formlen();
int rows[4];
rows[0] = hh-2;
rows[1] = hh;
rows[2] = fl-1;
rows[3] = 0;
_frm->genera_intestazioni(odd_page, hh-1);
_frm->genera_fincatura(odd_page, hh-2, fl-1, rows);
if (cur->items() > 0)
_frm->print();
}
}
int stampa_riepilogo(int argc, char* argv[])
{
// Bzz:
// Di default sulla linea di comando passa il riepilogo SC
// anche se non viene passato niun parametro.
TStampa_riepilogo* app = new TStampa_riepilogo(argc > 2 ? argv[2] : "SC");
app->run(argc, argv, app->titolo());
delete app;
return 0;
}

6
m770/77sr.h Executable file
View File

@ -0,0 +1,6 @@
#define F_CODICE 102
#define F_RAGIONE 103
#define F_ANNO 104

41
m770/77sr.uml Executable file
View File

@ -0,0 +1,41 @@
#include "77sr.h"
PAGE "" -1 -1 76 8
NUMBER F_CODICE 5
BEGIN
PROMPT 2 2 "Cod.Ditta "
FLAGS "D"
END
STRING F_RAGIONE 50
BEGIN
PROMPT 19 2 ""
FLAGS "D"
END
NUMBER F_ANNO 4
BEGIN
PROMPT 2 4 "Anno dich."
FLAGS "D"
END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 "Fine"
END
ENDPAGE
ENDMASK

201
m770/77srsc.frm Executable file
View File

@ -0,0 +1,201 @@
USE 61
JOIN %CA7 TO 61 ALIAS 14 INTO CODTAB=CODCAUS
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 116 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 13 TO 218@ ALIAS 313 INTO STATO=="" COM==COMNASC
JOIN 13 TO 216@ ALIAS 413 INTO STATO==STATORES COM==COMRES
END
DESCRIPTION
BEGIN
61->* "Riepilogo SC"
9->* "Ditte"
6->* "Anagrafica persone fisiche e giuridiche"
8->* "Anagrafica persone fisiche"
216@->* "Anagrafica persone fisiche e giuridiche"
218@->* "Anagrafica persone fisiche"
313@->* "Comuni"
413@->* "Comuni"
END
GENERAL
BEGIN
OFFSET 0 0
END
SECTION HEADER ODD 6
STRINGA 1 40 1
BEGIN
KEY "nome ditta"
PROMPT 1 1 "Ditta: "
FIELD 9->RAGSOC
END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 106 1 "Data "
MESSAGE _TODAY
END
NUMERO 3 7
BEGIN
KEY "Nr. pagina"
PROMPT 122 1 "Pagina "
MESSAGE _PAGENO
END
NUMERO 4 40
BEGIN
KEY "Intestazione stampa"
PROMPT 55 2 "Stampa riepilogo SC"
END
END
SECTION BODY ODD 2 COLUMNWISE
STRING 1 50
BEGIN
SPECIAL STRINGA INTESTAZIONE "Ragione Sociale" "Ragione Sociale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Ragione Sociale"
PROMPT 1 1 ""
FIELD 216@->RAGSOC
END
STRINGA 2 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "Caus." "Caus."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "CAUSALE riepilogo SC"
PROMPT 2 1 ""
FIELD CAUSALE
END
STRING 3 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "Tass." "Tass."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "FLAG TASSAZIONE SEPARATA"
PROMPT 3 1 ""
FIELD TASSAZIONE
END
NUMBER 4 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CAmm. lordo" "Amm. lordo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "AMMONTARE LORDO CORRISPOSTO"
PROMPT 4 1 ""
PICTURE "###.###.###^^^"
FIELD AMMLORDO
END
NUMBER 5 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CContributi" "Contributi"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "CONTRIBUTI OBBLIGATORI"
PROMPT 5 1 ""
PICTURE "###.###.###^^^"
FIELD CONTROBB
END
NUMBER 6 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Somme non sogg" "Somme non sogg"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "SOMME NON SOGGETTE A RITENUTA"
PROMPT 6 1 ""
PICTURE "###.###.###^^^"
FIELD SOMNONSOGG
END
NUMBER 7 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CImponibile" "Imponibile"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPONIBILE"
PROMPT 7 1 ""
PICTURE "###.###.###^^^"
FIELD IMPONIBILE
END
NUMBER 8 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CImposta" "Imposta"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPOSTA"
PROMPT 8 1 ""
PICTURE "###.###.###^^^"
FIELD IMPOSTA
END
NUMBER 9 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CDetr. fam." "Detr. fam."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "DETRAZIONI PER CARICHI DI FAMIGLIA"
PROMPT 9 1 ""
PICTURE "###.###.###^^^"
FIELD DETCARFAM
END
NUMBER 10 6
BEGIN
SPECIAL STRINGA INTESTAZIONE "Gg.det" "Gg.det"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "NUMERO GIORNI DETRAZIONI PER LAVORO DIPENDENTE"
PROMPT 10 1 ""
FIELD GGLAVDIP
END
NUMBER 11 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CDetr. lav." "Detr. lav."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "DETRAZIONI PER LAVORO DIPENDENTE"
PROMPT 11 1 ""
PICTURE "###.###.###^^^"
FIELD DETLAVDIP
END
NUMBER 12 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CTot. detr." "Tot. detr."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "TOTALE DETRAZIONI"
PROMPT 12 1 ""
PICTURE "###.###.###^^^"
FIELD TOTDET
END
NUMBER 13 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Ritenute" "Ritenute"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "RITENUTE OPERATE"
PROMPT 13 1 ""
PICTURE "###.###.###^^^"
FIELD RITENUTE
END
END

141
m770/77srsf.frm Executable file
View File

@ -0,0 +1,141 @@
USE 62
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 206 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 6 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR
JOIN 13 TO 218@ ALIAS 313 INTO STATO=="" COM==COMNASC
JOIN 13 TO 216@ ALIAS 413 INTO STATO==STATORES COM==COMRES
JOIN 13 TO 216@ ALIAS 513 INTO STATO=="" COM==COMRF
JOIN %STA TO 216@ ALIAS 104 INTO CODTAB=STATORES
END
DESCRIPTION
BEGIN
62->* "Quadro D 770"
9->* "Ditte"
6->* "Anagrafica persone fisiche e giuridiche"
8->* "Anagrafica persone fisiche"
206@->* "Anagrafica persone fisiche e giuridiche"
216@->* "Anagrafica persone fisiche e giuridiche"
218@->* "Anagrafica persone fisiche"
313@->* "Comune nascita"
413@->* "Comune residenza"
513@->* "Comune residenza fiscale"
END
GENERAL
BEGIN
OFFSET 0 0
END
SECTION HEADER ODD 6
STRINGA 1 40 1
BEGIN
KEY "nome ditta"
PROMPT 1 1 "Ditta: "
FIELD 9->RAGSOC
END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 106 1 "Data "
MESSAGE _TODAY
END
NUMERO 3 7
BEGIN
KEY "Nr. pagina"
PROMPT 122 1 "Pagina "
MESSAGE _PAGENO
END
NUMERO 4 40
BEGIN
KEY "Intestazione stampa"
PROMPT 55 2 "Stampa riepilogo SF"
END
END
SECTION BODY ODD 2 COLUMWISE
STRINGA 1 50
BEGIN
SPECIAL STRINGA INTESTAZIONE "Ragione Sociale" "Ragione Sociale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "RAGSOC GIURIDICHE"
PROMPT 1 1 ""
FIELD 216@->RAGSOC
END
STRINGA 2 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cCausale" "Causale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "CAUSALE"
PROMPT 2 1 ""
FIELD CAUSALE
END
NUMBER 3 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cTotale" "Tot."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "TOTALE"
PROMPT 3 1 ""
FIELD TOTALE
PICTURE "###.###.###^^^"
END
NUMBER 4 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "Somme non sogg." "Somme non sogg."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "SOMME NON SOGGETTE A RITENUTA"
PROMPT 4 1 ""
FIELD SOMME
PICTURE "###.###.###^^^"
END
NUMBER 5 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "Som. Reg. Conv." "Som. Reg. Conv"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "SOMREGCONV"
PROMPT 5 1 ""
FIELD SOMREGCONV
PICTURE "###.###.###^^^"
END
NUMBER 6 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cImponibile" "Imponibile"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPONIBILE"
PROMPT 6 1 ""
FIELD IMPONIBILE
PICTURE "###.###.###^^^"
END
NUMBER 7 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cImporto" "Importo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPORTO"
PROMPT 7 1 ""
FIELD IMPORTO
PICTURE "###.###.###^^^"
END
END

153
m770/77srsg.frm Executable file
View File

@ -0,0 +1,153 @@
USE 120
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 6 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR
JOIN 13 TO 218@ ALIAS 313 INTO STATO=="" COM==COMNASC
JOIN 13 TO 216@ ALIAS 413 INTO STATO==STATORES COM==COMRES
JOIN 13 TO 216@ ALIAS 513 INTO STATO=="" COM==COMRF
JOIN %STA TO 216@ ALIAS 104 INTO CODTAB=STATORES
END
DESCRIPTION
BEGIN
120->* "Quadro D bis 770"
9->* "Ditte"
6->* "Anagrafica persone fisiche e giuridiche"
8->* "Anagrafica persone fisiche"
216@->* "Anagrafica persone fisiche e giuridiche"
218@->* "Anagrafica persone fisiche (percipiente)"
313@->* "Comune nascita"
413@->* "Comune residenza"
513@->* "Comune residenza fiscale"
END
GENERAL
BEGIN
OFFSET 0 0
END
SECTION HEADER ODD 6
STRINGA 1 40 1
BEGIN
KEY "nome ditta"
PROMPT 1 1 "Ditta: "
FIELD 9->RAGSOC
END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 106 1 "Data "
MESSAGE _TODAY
END
NUMERO 3 7
BEGIN
KEY "Nr. pagina"
PROMPT 122 1 "Pagina "
MESSAGE _PAGENO
END
NUMERO 4 40
BEGIN
KEY "Intestazione stampa"
PROMPT 55 2 "Stampa riepilogo SG"
END
END
SECTION BODY ODD 2 COLUMNWISE
STRINGA 1 50
BEGIN
SPECIAL STRINGA INTESTAZIONE "Ragione Sociale" "Ragione Sociale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "RAGSOC GIURIDICHE"
PROMPT 1 1 ""
FIELD 216@->RAGSOC
GROUP 2
END
STRINGA 2 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "Caus." "Caus."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "CAUSALE"
PROMPT 2 1 ""
FIELD CAUSALE
END
NUMERO 3 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CTotale" "Totale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "TOTALE"
PROMPT 3 1 ""
FIELD TOTALE
PICTURE "###.###.###^^^"
END
NUMERO 4 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Somm. non sogg. iva" "Somm. non sogg. iva"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "SOMME NON SOGGETTE A RITENUTA"
PROMPT 4 1 ""
FIELD SOMME
PICTURE "###.###.###^^^"
END
NUMERO 5 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Somm. reg. conv." "Som. reg.conv."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "SOMREGCONV"
PROMPT 5 1 ""
FIELD SOMREGCONV
PICTURE "###.###.###^^^"
END
NUMERO 6 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CImponibile" "Imponibile"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPONIBILE"
PROMPT 6 1 ""
FIELD IMPONIBILE
PICTURE "###.###.###^^^"
END
NUMERO 7 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CImporto" "Importo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPORTO"
PROMPT 7 1 ""
FIELD IMPORTO
PICTURE "###.###.###^^^"
END
STRINGA 8 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Contributo 10%" "Contributo 10%"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Contributo del 10%"
PROMPT 8 1 ""
FIELD CONTR10
END
END

138
m770/77srsh.frm Executable file
View File

@ -0,0 +1,138 @@
USE 63
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 6 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR
JOIN 13 TO 218@ ALIAS 313 INTO STATO=="" COM==COMNASC
JOIN 13 TO 216@ ALIAS 413 INTO STATO==STATORES COM==COMRES
JOIN 13 TO 216@ ALIAS 513 INTO STATO=="" COM==COMRF
END
DESCRIPTION
BEGIN
63->* "Quadro D1 770"
9->* "Ditte"
6->* "Anagrafica persone fisiche e giuridiche"
8->* "Anagrafica persone fisiche"
216@->* "Anagrafica persone fisiche e giuridiche"
218@->* "Anagrafica persone fisiche"
313@->* "Comune nascita"
413@->* "Comune residenza"
513@->* "Comune residenza fiscale"
END
GENERAL
BEGIN
OFFSET 0 0
END
SECTION HEADER ODD 6
STRINGA 1 40 1
BEGIN
KEY "nome ditta"
PROMPT 1 1 "Ditta: "
FIELD 9->RAGSOC
END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 106 1 "Data "
MESSAGE _TODAY
END
NUMERO 3 7
BEGIN
KEY "Nr. pagina"
PROMPT 122 1 "Pagina "
MESSAGE _PAGENO
END
NUMERO 4 40
BEGIN
KEY "Intestazione stampa"
PROMPT 55 2 "Stampa riepilogo SH"
END
END
SECTION BODY ODD 2 COLUMNWISE
STRINGA 1 50
BEGIN
SPECIAL STRINGA INTESTAZIONE "Ragione sociale" "Ragione sociale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "RAGSOC GIURIDICHE"
PROMPT 1 1 ""
FIELD 216@->RAGSOC
END
STRING 2 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "Caus." "Caus."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "CAUSALE"
PROMPT 2 1 ""
FIELD CAUSALE
END
NUMBER 3 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CTotale" "Totale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "TOTALE"
PROMPT 3 1 ""
FIELD TOTALE
PICTURE "###.###.###^^^"
END
NUMBER 4 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Spes. Ant." "Spes. Ant."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "SPESE ANTICIPATE"
PROMPT 4 1 ""
FIELD SPESEANT
PICTURE "###.###.###^^^"
END
NUMBER 5 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Quaota Provv." "quaota Provv."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "QUOTA PROVVIGIONI"
PROMPT 5 1 ""
FIELD QUOTAPRO
PICTURE "###.###.###^^^"
END
NUMBER 6 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CImponibile" "Imponibile"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPONIBILE"
PROMPT 6 1 ""
FIELD IMPONIBILE
PICTURE "###.###.###^^^"
END
NUMBER 7 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Rit. Op." "Rit. Op."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "RITENUTE OPERATE"
PROMPT 7 1 ""
FIELD IMPORTO
PICTURE "###.###.###^^^"
END
END

198
m770/77srsl.frm Executable file
View File

@ -0,0 +1,198 @@
USE 42
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR
END
DESCRIPTION
BEGIN
42->* "Quadro L"
9->* "Anagrafica ditte"
END
GENERAL
BEGIN
OFFSET 0 0
END
SECTION HEADER ODD 6
STRINGA 1 40 1
BEGIN
KEY "nome ditta"
PROMPT 1 1 "Ditta: "
FIELD 9->RAGSOC
END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 106 1 "Data "
MESSAGE _TODAY
END
NUMERO 3 7
BEGIN
KEY "Nr. pagina"
PROMPT 122 1 "Pagina "
MESSAGE _PAGENO
END
NUMERO 4 40
BEGIN
KEY "Intestazione stampa"
PROMPT 55 2 "Stampa riepilogo SL/SK"
END
END
SECTION BODY ODD 2 COLUMNWISE
DATA 1 12
BEGIN
KEY "Data versamento"
SPECIAL STRINGA INTESTAZIONE "@cData ver." "Data ver."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
PROMPT 1 1 ""
FIELD 42->QLDV
END
LISTA 2 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cMese rif." "Mese rif."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Mese rif."
PROMPT 2 1 ""
FIELD 42->QLMP
ITEM " | "
ITEM "1|Gennaio"
ITEM "2|Febbraio"
ITEM "3|Marzo"
ITEM "4|Aprile"
ITEM "5|Maggio"
ITEM "6|Giugno"
ITEM "7|Luglio"
ITEM "8|Agosto"
ITEM "9|Settembre"
ITEM "10|Ottobre"
ITEM "11|Novembre"
ITEM "12|Dicembre"
END
LISTA 3 11
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cLuogo ver." "Luogo ver."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Luogo Versamento"
PROMPT 3 1 ""
FIELD 42->QLLV
ITEM " | "
ITEM "C|Concessione"
ITEM "T|Tesoreria"
END
LISTA 4 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cTipo ver." "Tipo ver."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Tipo versamento"
PROMPT 4 1 ""
FIELD 42->QLTV
ITEM " | "
ITEM "B|Del. bancaria"
ITEM "C|C/C postale"
ITEM "D|Distinta"
END
NUMERO 5 7
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cCod. T." "Cod. T."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Codice tributo"
PROMPT 5 1 ""
FIELD 42->QLCT
END
NUMERO 6 9
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cArt. Bil." "Art. Bil."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Articolo di bilancio"
PROMPT 6 1 ""
FIELD 42->QLAB
END
STRINGA 7 7
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cCod. q." "Cod. q."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Codice quadro"
PROMPT 7 1 ""
FIELD 42->QLCODQUA
END
STRINGA 8 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cSerie" "Serie"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "SERIE"
PROMPT 8 1 ""
FIELD 42->QLSERIE
END
NUMERO 9 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cRit. effettuate" "Rit. effettuate"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Ritenute effettuate"
PROMPT 9 1 ""
FIELD 42->QLRITEFF
PICTURE "###.###.###.###^^^"
END
NUMERO 10 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cImp. Versato" "Imp. Versato"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Importo versato"
PROMPT 10 1 ""
FIELD 42->QLRITVER
PICTURE "###.###.###.###^^^"
END
LISTA 11 3
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cRSS" "RSS"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "RSS"
PROMPT 11 1 ""
ITEM " | "
ITEM "1|VA"
ITEM "2|SA"
ITEM "3|SI"
FIELD 42->QLRSS
END
STRINGA 12 7
BEGIN
SPECIAL STRINGA INTESTAZIONE "@cNote" "Note"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Note"
PROMPT 12 1 ""
FIELD 42->QLNOTE
END
END

141
m770/77srsp.frm Executable file
View File

@ -0,0 +1,141 @@
USE 64
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 6 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR
JOIN 13 TO 218@ ALIAS 313 INTO STATO=="" COM==COMNASC
JOIN 13 TO 216@ ALIAS 413 INTO STATO==STATORES COM==COMRES
JOIN 13 TO 216@ ALIAS 513 INTO STATO=="" COM==COMRF
END
DESCRIPTION
BEGIN
64->* "Quadro E 770"
9->* "Ditte"
6->* "Anagrafica persone fisiche e giuridiche"
8->* "Anagrafica persone fisiche"
216@->* "Anagrafica persone fisiche e giuridiche"
218@->* "Anagrafica persone fisiche"
313@->* "Comune nascita"
413@->* "Comune residenza"
END
GENERAL
BEGIN
OFFSET 0 0
END
SECTION HEADER ODD 6
STRINGA 1 40 1
BEGIN
KEY "nome ditta"
PROMPT 1 1 "Ditta: "
FIELD 9->RAGSOC
END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 106 1 "Data "
MESSAGE _TODAY
END
NUMERO 3 7
BEGIN
KEY "Nr. pagina"
PROMPT 122 1 "Pagina "
MESSAGE _PAGENO
END
NUMERO 4 40
BEGIN
KEY "Intestazione stampa"
PROMPT 55 2 "Stampa riepilogo SP"
END
END
SECTION BODY ODD 2 COLUMNWISE
STRINGA 1 50
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CRagione Sociale" "Ragione Sociale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "RAGSOC GIURIDICHE"
PROMPT 1 1 ""
FIELD 216@->RAGSOC
GROUP 2
END
STRING 2 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "Caus." "Caus."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "CAUSALE"
PROMPT 2 1 ""
FIELD CAUSALE
END
NUMBER 3 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CImponibile" "Imponibile"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPONIBILE"
PROMPT 3 1 ""
FIELD IMPONIBILE
PICTURE "###.###.###^^^"
END
NUMBER 4 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CAliquota" "Aliquota"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "ALIQUOTA"
PROMPT 4 1 ""
FIELD PERC
PICTURE "##@,@@"
END
NUMBER 5 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CImporto" "Importo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPORTO"
PROMPT 5 1 ""
FIELD IMPORTO
PICTURE "###.###.###^^^"
END
NUMBER 6 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CNetto" "Netto"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "NETTO"
PROMPT 6 1 ""
FIELD NETTO
PICTURE "###.###.###^^^"
END
NUMBER 7 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CSomme" "Somme"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "SOMME"
PROMPT 7 1 ""
FIELD SOMME
PICTURE "###.###.###^^^"
END
END

185
m770/77srsq.frm Executable file
View File

@ -0,0 +1,185 @@
USE 65
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 6 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR
JOIN 13 TO 218@ ALIAS 313 INTO STATO=="" COM==COMNASC
JOIN 13 TO 216@ ALIAS 413 INTO STATO==STATORES COM==COMRES
JOIN 13 TO 216@ ALIAS 513 INTO STATO=="" COM==COMRF
JOIN 89 ALIAS 189 INTO CODDITTA==CODDITTA CODCAUS=="C"
JOIN 89 ALIAS 289 INTO CODDITTA==CODDITTA CODCAUS=="D"
END
DESCRIPTION
BEGIN
65->* "Quadro E1 770"
9->* "Ditte"
6->* "Anagrafica persone fisiche e giuridiche"
8->* "Anagrafica persone fisiche"
216@->* "Anagrafica persone fisiche e giuridiche"
218@->* "Anagrafica persone fisiche"
313@->* "Comune nascita"
413@->* "Comune residenza"
189->* "Riga 1 del prospetto e1"
289->* "Riga 2 del prospetto e1"
END
GENERAL
BEGIN
OFFSET 0 0
END
SECTION HEADER ODD 6
STRINGA 1 40 1
BEGIN
KEY "nome ditta"
PROMPT 1 1 "Ditta: "
FIELD 9->RAGSOC
END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 106 1 "Data "
MESSAGE _TODAY
END
NUMERO 3 7
BEGIN
KEY "Nr. pagina"
PROMPT 122 1 "Pagina "
MESSAGE _PAGENO
END
NUMERO 4 40
BEGIN
KEY "Intestazione stampa"
PROMPT 55 2 "Stampa riepilogo SQ"
END
END
SECTION BODY ODD 2 COLUMNWISE
STRINGA 1 50
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CRagione Sociale" "Ragione Sociale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "RAGSOC GIURIDICHE"
PROMPT 1 1 ""
FIELD 216@->RAGSOC
GROUP 2
END
STRING 2 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "@Caus." "Caus."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "CAUSALE"
PROMPT 2 1 ""
FIELD CAUSALE
END
NUMBER 3 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CSomme" "Somme"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Somme"
PROMPT 3 1 ""
FIELD SOMME
PICTURE "###.###.###^^^"
END
NUMBER 4 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CAmmontare" "Ammontare"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Ammontare"
PROMPT 4 1 ""
FIELD AMMONTARE
PICTURE "###.###.###^^^"
END
NUMBER 5 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Ragione Sociale" "Ragione Sociale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "ALIQUOTA"
PROMPT 5 1 ""
FIELD PERC
PICTURE "##@,@@"
END
NUMBER 6 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CImporto" "Importo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Importo"
PROMPT 6 1 ""
FIELD IMPORTO
PICTURE "###.###.###^^^"
END
NUMBER 7 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CNetto" "Netto"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Netto"
PROMPT 7 1 ""
FIELD NETTO
PICTURE "###.###.###^^^"
END
NUMERO 8 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CAmm. Compl." "Amm. Compl."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "AMMONTARE COMPLESSIVO"
PROMPT 8 1 ""
FIELD 189@->COMPENSO
PICTURE "###.###.###^^^"
END
NUMERO 9 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Imponibile" "Imponibile"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPONIBILE"
PROMPT 9 1 ""
FIELD 189@->IMPONIBILE
PICTURE "###.###.###^^^"
END
NUMERO 10 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Rit. Op." "Rit. Op."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "RITENUTE OPERATE"
PROMPT 10 1 ""
FIELD 189@->RITENUTA
PICTURE "###.###.###^^^"
END
NUMERO 11 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Ragione Sociale" "Ragione Sociale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "AMMONTARE COMPLESSIVO"
PROMPT 11 1 ""
FIELD 289@->COMPENSO
PICTURE "###.###.###^^^"
END
END

View File

@ -22,7 +22,7 @@ TResetfile::~TResetfile()
// pack file se richiesto rimozione record
// e file azzerato
if(_removerec && _is_reseted)
_file->pack();
_file->pack(FALSE);
delete _file;
}
@ -120,13 +120,13 @@ int TResetfile::run()
long pi = 0L;
// istanza indicatore progressivo per avanzamento azzeramento
TProgind p(pmax, testo, FALSE, TRUE);
//TProgind p(pmax, testo, FALSE, TRUE);
// loop di scansione file da azzerare
for (err = _file->first(); err == NOERR; err = _file->next())
{
// incremento indicatore progressivo
p.addstatus(1);
//p.addstatus(1);
pi++;
// richiamo handler VALIDATE_RECORD
@ -168,7 +168,7 @@ int TResetfile::run()
}
// rabbocco indicatore progressivo
p.addstatus(pmax-pi);
//p.addstatus(pmax-pi);
// chiusura file
_file->close();