Continuano le correzioni degli errori di ritorno dai test XI

L.A.


git-svn-id: svn://10.65.10.50/trunk@4110 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luciano 1997-01-31 16:31:04 +00:00
parent 71683ec0ca
commit c38fa51cfe
36 changed files with 9592 additions and 9553 deletions

@ -3,6 +3,7 @@
#include <msksheet.h>
#include <tabutil.h>
#include <mailbox.h>
#include <defmask.h>
#include "scperc.h"
#include "rver.h"
@ -74,10 +75,10 @@ void TSchedaPercipienti::update_lasts(TMask& m)
bool TSchedaPercipienti::changing_mask(int mode)
{
if (mode == MODE_QUERY)
return _mode != MODE_QUERY;
else
return TRUE;
if ((mode == MODE_MOD) && (_mode == MODE_INS))
return FALSE;
else
return _mode != mode;
}
TMask* TSchedaPercipienti::get_mask(int mode)
@ -106,6 +107,7 @@ TMask* TSchedaPercipienti::load_mask(int n)
break;
case 1:
{
m->disable(DLG_FINDREC);
m->set_handler(F_DATADOC, check_handler);
m->set_handler(F_CODCAUS, check_causale);
m->set_handler(F_SPESE, check_spese);
@ -244,8 +246,12 @@ bool TSchedaPercipienti::codanagr_handler(TMask_field& f, KEY k)
const bool variazione = app().coll_variazione();
char tipo = f.mask().get(F_TIPOA)[0];
TString16 codanagr(f.get());
if (codanagr.not_empty())
if (codanagr.not_empty())
{
if (!app().esiste_perc(f.mask(), codanagr))
return f.warning_box("Percipiente non valido");;
setta_nprog(m, variazione, codanagr);
}
}
return TRUE;
@ -289,12 +295,12 @@ bool TSchedaPercipienti::nprog_handler(TMask_field& f, KEY key)
// f.mask().stop_run(K_AUTO_ENTER);
}
if (key == K_TAB)
{
if (nprog==0 || !app().esiste_perc(f.mask()))
return FALSE;
// if (key == K_TAB)
// {
// if (!app().esiste_perc(f.mask()))
// return FALSE;
// f.mask().stop_run(K_AUTO_ENTER); // entra in modo modifica/inserimento
}
// }
return TRUE;
}
@ -677,8 +683,8 @@ bool TSchedaPercipienti::check_compensi(TMask_field& f, KEY k)
if (app()._tot_compenso > doc_compenso)
{
warning_box ("Il totale dei compensi non puo' superare\n"
"il compenso indicato nel documento");
f.warning_box ("Il totale dei compensi non puo' superare\n"
"il compenso indicato nel documento");
return forzatura;
}
@ -695,8 +701,8 @@ bool TSchedaPercipienti::check_spese(TMask_field& f, KEY k)
if (app()._tot_spese > doc_spese)
{
warning_box ("Il totale delle spese non puo' superare\n"
"la spesa indicata nel documento");
f.warning_box ("Il totale delle spese non puo' superare\n"
"la spesa indicata nel documento");
return forzatura;
}
}
@ -773,10 +779,10 @@ bool TSchedaPercipienti::check_handler(TMask_field& f, KEY k)
if (diff > ZERO)
if (diff > THRESOLD)
{
warning_box ("La differenza tra il totale dei versamenti "
"e il totale delle ritenute non puo' superare "
"le %s lire", THRESOLD.string());
return TRUE;
f.warning_box ("La differenza tra il totale dei versamenti "
"e il totale delle ritenute non puo' superare "
"le %s lire", THRESOLD.string());
return FALSE;
}
}
return TRUE;

@ -12,7 +12,7 @@
#define F_CODANAGRCOM 108
#define F_ANNODIC 109
#define F_RICERCA 110
#define F_RAGSOC 111
//#define F_RAGSOC 111
#define F_CODANAGRPERC 112
#define F_NPROGA 113

@ -1,5 +1,7 @@
#include "770100a.h"
TOOLBAR "" 0 18 0 4
#include <toolbar.h>
BUTTON F_GESTPERC 22 2
BEGIN
@ -7,8 +9,6 @@ BEGIN
MESSAGE RUN,775,-0,#F_CODDITTA,#F_TIPOA,#F_CODANAGR
END
#include <toolbar.h>
ENDPAGE
PAGE "Scheda percipienti" -1 -1 78 21
@ -20,28 +20,26 @@ END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RDG"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_RAGDITTA RAGSOC
FIELD LF_SCPERC->CODDITTA
PROMPT 3 1 "Ditta "
FLAGS "RDGP"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
FIELD LF_SCPERC->CODDITTA
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
FLAGS "DP"
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 52 4 "Anno dichiarazione "
FLAGS "DR"
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DRP"
END
TEXT DLG_NULL
@ -82,7 +80,7 @@ BEGIN
OUTPUT F_CODANAGRPERC CODANAGR
OUTPUT F_RAGSOCPER LF_ANAG->RAGSOC
MESSAGE COPY, F_CODANAGR
ADD RUN 775 -0
ADD RUN 775 -0
GROUP 2
END
@ -98,19 +96,12 @@ BEGIN
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_RAGSOCCOM RAGSOC
MESSAGE COPY, F_CODANAGR
MESSAGE COPY, F_CODANAGRPERC
MESSAGE COPY, F_CODANAGR
ADD RUN BA4 -1
FLAGS "H"
FLAGS "H"
GROUP 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 25 8 ""
FLAGS "H"
END
STRING F_RAGSOCCOM 50
BEGIN
PROMPT 25 8 ""
@ -123,7 +114,6 @@ BEGIN
OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_TIPOA TIPOA
ADD RUN BA4 -1
MESSAGE COPY, F_RAGSOC
MESSAGE COPY, F_RAGSOCPER
GROUP 1
END
@ -132,8 +122,7 @@ STRING F_RAGSOCPER 50
BEGIN
PROMPT 25 8 ""
FLAGS "D"
GROUP 2
MESSAGE COPY, F_RAGSOC
GROUP 2
END
NUMBER F_NPROG 6
@ -158,7 +147,7 @@ BEGIN
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_NPROG NPROG
END
END
ENDPAGE

@ -6,8 +6,9 @@ ENDPAGE
PAGE "Scheda percipienti" -1 -1 78 20
NUMBER F_CODDITTA 5
BEGIN
FLAGS "AH"
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_SCPERC->CODDITTA
KEY 1
END
@ -24,28 +25,16 @@ END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 14 0 ""
PROMPT 12 0 ""
FIELD LF_SCPERC->CODANAGR
MESSAGE COPY, F_CODANAGR_G
KEY 1
FLAGS "D"
END
NUMBER F_CODANAGR_G 5
STRING F_RAGSOC2 50
BEGIN
PROMPT 17 0 ""
USE LF_ANAG KEY 1
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_RAGSOC2 RAGSOC
CHECKTYPE REQUIRED
FLAGS "HG"
END
STRING F_RAGSOC2 45
BEGIN
PROMPT 24 0 ""
PROMPT 19 0 ""
FLAGS "D"
END
@ -95,40 +84,6 @@ BEGIN
ADD RUN 773mod -3 %CA7
END
NUMBER F_PERC_INPS 6
BEGIN
PROMPT 1 10 ""
PICTURE ".2"
FLAGS "H"
END
NUMBER F_PERC_ASS_INPS 6
BEGIN
PROMPT 1 11 ""
PICTURE ".2"
FLAGS "H"
END
NUMBER F_PERC_COMMIT_INPS 6
BEGIN
PROMPT 1 12 ""
PICTURE ".2"
FLAGS "H"
END
BOOLEAN F_FLAG_INPS
BEGIN
PROMPT 1 13 ""
FLAGS "H"
END
NUMBER F_CASSA_PREV 6
BEGIN
PROMPT 1 14 ""
PICTURE ".2"
FLAGS "H"
END
STRING F_CODQUA 2
BEGIN
PROMPT 12 1 ""
@ -161,32 +116,38 @@ END
BOOLEAN F_CT
BEGIN
PROMPT 22 2 "C.T."
PROMPT 20 2 "C.T."
FLAGS "D"
END
BOOLEAN F_RIT
BEGIN
PROMPT 29 2 "Rit."
PROMPT 27 2 "Rit."
FLAGS "D"
END
STRING SPF_CAUSD 1
BEGIN
PROMPT 34 2 "Causale D "
FLAGS "D"
END
NUMBER F_QUOTAIMP 6
STRING SPF_CAUSD1 1
BEGIN
PROMPT 1 1 ""
FLAGS "H"
PROMPT 47 2 "Causale D1 "
FLAGS "D"
END
NUMBER F_PERRIT 5
BOOLEAN F_FORCED
BEGIN
PROMPT 1 1 ""
PICTURE ".2"
FLAGS "H"
FIELD LF_SCPERC->FORZATURA
PROMPT 65 2 "Forzatura"
HELP "Attivare questo flag per forzare la registrazione anche di dati incongruenti"
END
DATE F_DATADOC
BEGIN
PROMPT 0 3 "Data "
PROMPT 0 4 "Data "
FIELD LF_SCPERC->DATADOC
WARNING "Manca la data del documento"
CHECKTYPE REQUIRED
@ -194,13 +155,13 @@ END
STRING F_NUMDOC 7
BEGIN
PROMPT 17 3 "Numero"
PROMPT 17 4 "Numero "
FIELD LF_SCPERC->NUMDOC
END
NUMBER F_COMPENS 15
BEGIN
PROMPT 32 3 "Compenso "
PROMPT 33 4 "Compenso "
FIELD LF_SCPERC->COMPENSO
PICTURE "."
FLAGS "R"
@ -209,7 +170,7 @@ END
NUMBER F_IVA 15
BEGIN
PROMPT 58 3 "Iva "
PROMPT 59 4 "Iva "
FIELD LF_SCPERC->IVA
PICTURE "."
FLAGS "R"
@ -218,7 +179,7 @@ END
NUMBER F_SPESE 15
BEGIN
PROMPT 0 4 "Spese "
PROMPT 0 5 "Spese "
FIELD LF_SCPERC->SPESE
PICTURE "."
FLAGS "R"
@ -227,21 +188,21 @@ END
NUMBER F_TOTDOC 15
BEGIN
PROMPT 23 4 "Totale "
PROMPT 23 5 "Totale "
FIELD LF_SCPERC->TOTALE
PICTURE "."
FLAGS "R"
FLAGS "RD"
NUM_CALC {#F_COMPENS + #F_SPESE + #F_IVA}
END
TEXT DLG_NULL
BEGIN
PROMPT 48 4 "Competenza:"
PROMPT 47 5 "Competenza:"
END
NUMBER F_MESECOMP 2
BEGIN
PROMPT 59 4 "Mese "
PROMPT 58 5 "Mese "
FIELD LF_SCPERC->MESEC
NUM_EXPR {(#THIS>=0) && (#THIS<13)}
WARNING "Mese non valido"
@ -251,40 +212,21 @@ END
NUMBER F_ANNOCOMP 4
BEGIN
PROMPT 68 4 "Anno "
PROMPT 67 5 "Anno "
FIELD LF_SCPERC->ANNOC
NUM_EXPR {(#THIS==0)||((#THIS>1900)&&(#THIS<2100))}
WARNING "Anno non valido"
HELP "Inserire l'anno di competenza"
END
NUMBER F_TOTRIT 15
BEGIN
PROMPT 53 5 ""
FIELD LF_SCPERC->TOTRIT
FLAGS "H"
END
STRING SPF_CAUSD 1
BEGIN
PROMPT 38 2 "Causale D "
FLAGS "D"
END
STRING SPF_CAUSD1 1
BEGIN
PROMPT 52 2 "Causale D1 "
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 5 "@bPagamenti"
PROMPT 1 7 "@bPagamenti"
END
SPREADSHEET F_PAGAMENTI 0 6
SPREADSHEET F_PAGAMENTI 79 5
BEGIN
PROMPT 0 6 ""
PROMPT 0 8 ""
ITEM "Data@10"
ITEM "Compenso@15"
ITEM "Spese@15"
@ -298,12 +240,12 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 1 13 "@bVersamenti"
PROMPT 1 14 "@bVersamenti"
END
SPREADSHEET F_VERSAMENTI 79 5
BEGIN
PROMPT 0 14 ""
PROMPT 0 15 ""
ITEM "1015"
ITEM "Data@10"
ITEM "Luogo"
@ -314,11 +256,79 @@ BEGIN
ITEM "Ritenuta@15"
END
BOOLEAN F_FORCED
// MAI VISUALIZZATO
NUMBER F_CODANAGR_G 5
BEGIN
FIELD LF_SCPERC->FORZATURA
PROMPT 1 20 "Forzatura"
HELP "Attivare questo flag per forzare la registrazione anche di dati incongruenti"
PROMPT 80 80 ""
USE LF_ANAG KEY 1
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_RAGSOC2 RAGSOC
CHECKTYPE REQUIRED
FLAGS "HG"
END
// MAI VISUALIZZATO
NUMBER F_PERC_INPS 6
BEGIN
PROMPT 80 80 ""
PICTURE ".2"
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_PERC_ASS_INPS 6
BEGIN
PROMPT 80 80 ""
PICTURE ".2"
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_PERC_COMMIT_INPS 6
BEGIN
PROMPT 80 80 ""
PICTURE ".2"
FLAGS "H"
END
// MAI VISUALIZZATO
BOOLEAN F_FLAG_INPS
BEGIN
PROMPT 80 80 ""
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_CASSA_PREV 6
BEGIN
PROMPT 80 80 ""
PICTURE ".2"
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_QUOTAIMP 6
BEGIN
PROMPT 80 80 ""
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_PERRIT 5
BEGIN
PROMPT 80 80 ""
PICTURE ".2"
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_TOTRIT 15
BEGIN
PROMPT 80 80 ""
FIELD LF_SCPERC->TOTRIT
FLAGS "H"
END
ENDPAGE

@ -100,7 +100,7 @@ END
BUTTON DLG_AZZERAPAG 9 2
BEGIN
PROMPT -33 -1 "Azzera"
PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@
END

@ -131,7 +131,7 @@ END
NUMBER 107 6
BEGIN
PROMPT 2 6 "Progressivo per versamento banca "
FLAGS "Z"
FLAGS "ZG"
GROUP 2 6
END
@ -167,7 +167,7 @@ END
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -34 -1 "Azzera"
PROMPT -34 -1 "A~zzera"
MESSAGE RESET,1@|RESET,2@|RESET,3@|RESET,101
END

@ -130,10 +130,17 @@ real TSchedaPercipienti::calcola_imponibile(const real& compenso)
bool TSchedaPercipienti::vers_notify(TSheet_field& s, int r, KEY k)
{
switch(k)
{
// Pulisco descrizioni luogo e tipo versamento (solo se non gia' indicati!)
{
// Inserimento riga
case K_INS:
// Impedisce inserimento di nuove righe
return FALSE;
// Inizio modifica riga
case K_SPACE:
{
// Pulisco descrizioni luogo e tipo versamento (solo se non gia' indicati!)
TSheet_field& vers = app().vers();
TMask& mp = vers.sheet_mask();
TString16 tipo(mp.get(F_TIPOVERS));
@ -143,15 +150,8 @@ bool TSchedaPercipienti::vers_notify(TSheet_field& s, int r, KEY k)
if (luo.empty())
mp.reset(71);
break;
}
case K_INS:
{
// Aggiorna NUMVERS nella riga aggiunta
/* TSheet_field& vers = app().vers();
TToken_string& riga = vers.row(r);
riga.add(++(app()._lastvers), 7);
break;*/
}
}
default:
break;
}
@ -161,24 +161,14 @@ bool TSchedaPercipienti::vers_notify(TSheet_field& s, int r, KEY k)
bool TSchedaPercipienti::pags_notify(TSheet_field& s, int r, KEY k)
{
switch(k)
{
// Pulisco i buffer di confronto
case K_ENTER:
__impo = ZERO;
__compe = ZERO;
__percra = ZERO;
__rite = "";
break;
case K_INS:
{
// Aggiorna NUMVERS e NUMPAG nella riga aggiunta
/*
TSheet_field& pags = app().pags();
TToken_string& riga = pags.row(r);
riga.add(-1, 7);
riga.add(++(app()._lastpag), 8);
break; */
}
{
// Inserimento riga
case K_INS:
// Impedisce inserimento di nuove righe
return FALSE;
// Inizio modifica riga
case K_SPACE:
{
app()._azzerato_pag = FALSE;
@ -206,6 +196,16 @@ bool TSchedaPercipienti::pags_notify(TSheet_field& s, int r, KEY k)
fld.check_type(CHECK_NONE);
break;
}
// Fine modifica di una riga
case K_ENTER:
// Pulisco i buffer di confronto
__impo = ZERO;
__compe = ZERO;
__percra = ZERO;
__rite = "";
break;
default:
break;
}
@ -1031,7 +1031,7 @@ bool TSchedaPercipienti::imponibile_handler(TMask_field& f, KEY k)
if (k == K_TAB)
{
const real imponibile(f.mask().get(MPAG_IMPONIBILE));
const bool forza_ricalcolo = __impo != ZERO ? imponibile != __impo : FALSE;
const bool forza_ricalcolo = __impo != imponibile;
if (__impo != imponibile)
__impo = imponibile;
if (forza_ricalcolo)

@ -27,24 +27,24 @@
#define MPAG_SPESA 103
#define MPAG_IMPONIBILE 104
#define MPAG_PERCRA 105
#define MPAG_RITPAG 106
#define MPAG_INPSPERC 107
#define MPAG_INPSCOMP 108
#define MPAG_NETTO 109
#define MPAG_RITPAG 106
#define MPAG_INPSPERC 107
#define MPAG_INPSCOMP 108
#define MPAG_NETTO 109
// Id della maschera di edit dello sheet versamenti
#define F_VERS_1015 101
#define F_DATAVERS 102
#define F_LUOVERS 103
#define F_TIPOVERS 104
#define F_RITVERS 108
#define F_ABI 105 // abi e cab
#define F_CAB 72
#define SM_PROGRBANCA 107
#define F_VERS_1015 101
#define F_DATAVERS 102
#define F_LUOVERS 103
#define F_TIPOVERS 104
#define F_ABI 105 // abi e cab
#define F_CAB 72
#define SM_PROGRBANCA 107
#define F_RITVERS 108
// Posizioni nella riga
const int SS_POS_NUMVERS = 8;
const int SS_POS_RITPAG = 5;
const int SS_POS_NUMVERS = 8;
const int SS_POS_RITPAG = 5;
const int SS_POS_NRIGA = 5;
const int SS_POS_NVER = 6;
const int SS_POS_RITVERS = 7;
@ -52,7 +52,7 @@ const int SS_POS_RITVERS = 7;
// Posizioni nell'array-sheet dei pagamenti
const int AS_POS_NRIGA = 5;
const int AS_POS_NVER = 6;
const int AS_POS_RITPAG = 4;
const int AS_POS_RITPAG = 4;
#define COLONNE_SIGNIFICATIVE_SPREADSHEET_VERSAMENTI 7
#define COLONNE_SIGNIFICATIVE_SPREADSHEET_PAGAMENTI 7
@ -131,7 +131,7 @@ class TSchedaPercipienti : public TRelation_application
static bool ver_notify (int r, KEY key);
static bool pag_select (TMask_field& f, KEY key);
static bool ver_azzera (TMask_field& f, KEY key);
static bool pag_azzera (TMask_field& f, KEY key);
static bool pag_azzera (TMask_field& f, KEY key);
void enable_vers_cells (int r, bool enable=TRUE);
void disable_vers_cells (int r) { enable_vers_cells(r,FALSE); }
@ -145,10 +145,9 @@ class TSchedaPercipienti : public TRelation_application
const char* codanagr=NULL);
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual TRelation* get_relation() const { return _rel; }
virtual bool user_create();
virtual bool user_destroy();
virtual TRelation* get_relation() const { return _rel; }
virtual TMask* get_mask(int mode);
virtual bool changing_mask(int mode);
virtual void init_query_mode (TMask&);
@ -158,35 +157,26 @@ class TSchedaPercipienti : public TRelation_application
virtual int rewrite(const TMask& m);
virtual int write(const TMask& m);
virtual int read(TMask& m);
virtual void on_config_change();
void init_mask(TMask&);
TMask* load_mask(int n);
void fill_sheet(TMask&);
bool scrivi_dati_per(TRectype& rec);
void mask2rel(const TMask& m);
void rec2row(TToken_string& r, TRectype& rec, int row);
// void update_lasts();
void update_lasts(TMask& m);
void init_mask(TMask&);
TMask* load_mask(int n);
void fill_sheet(TMask&);
bool scrivi_dati_per(TRectype& rec);
void mask2rel(const TMask& m);
void rec2row(TToken_string& r, TRectype& rec, int row);
void update_lasts(TMask& m);
void attach_pag_vers (int pag, long numvers);
void detach_pag_vers (int pag);
bool my_empty_items(TToken_string& r, bool versamenti);
void new_row(TSheet_field& ver_pag, int r, bool vers);
int anno_dic() const { return _anno_dic; }
void attach_pag_vers (int pag, long numvers);
void detach_pag_vers (int pag);
void new_row(TSheet_field& ver_pag, int r, bool vers);
bool my_empty_items(TToken_string& r, bool versamenti);
int anno_dic() const { return _anno_dic; }
public:
bool _flag_cg;
public:
void load_pag_sheet(const long numvers);
TTipo_coll tipo_coll() const { return _coll._tipo_coll; }
void load_pag_sheet(const long numvers);
TTipo_coll tipo_coll() const { return _coll._tipo_coll; }
void compila_testata(TMask& m);
bool coll_variazione() const;
bool coll_datanum() const { return _coll._datadoc.not_empty() && _coll._numdoc.not_empty(); }
@ -195,7 +185,6 @@ class TSchedaPercipienti : public TRelation_application
TSheet_field& pags() const;
TSheet_field& vers() const;
public:
TSchedaPercipienti ();
~TSchedaPercipienti() {};
};

File diff suppressed because it is too large Load Diff

@ -1,264 +1,264 @@
#include "771100.h"
//
// Lista modifiche
//
// 1.4.96 Aggiunti campi prefisso/telefono
//
TOOLBAR "" 0 20 0 2
BUTTON F_FISICA 10 2
BEGIN
PROMPT -15 -1 "~Fisiche"
END
BUTTON F_ATTIVITA 10 2
BEGIN
PROMPT -25 -1 "~Attivita'"
END
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -35 -1 ""
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -45 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -55 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE
PAGE "Dati relativi alle persone fisiche" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 0 ""
FLAGS "R"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Ditta "
FLAGS "RDG"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
JOIN LF_ANAG TO LF_NDITTE INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN LF_ANAGFIS TO LF_ANAG INTO CODANAGR=CODANAGR
JOIN LF_COMUNI TO LF_ANAGFIS INTO COM==COMNASC
JOIN LF_COMUNI TO LF_ANAG ALIAS 1 INTO COM==COMRES
JOIN LF_COMUNI TO LF_ANAG ALIAS 2 INTO COM==COMRF
OUTPUT APF_RAGSOC LF_NDITTE->RAGSOC
OUTPUT F_ATTIV LF_NDITTE->CODATTPREV
OUTPUT F_ANAGR LF_ANAG->CODANAGR
OUTPUT F_COFI LF_ANAG->COFI
OUTPUT F_COGNOME LF_ANAG->RAGSOC[1,30]
OUTPUT F_NOME LF_ANAG->RAGSOC[31,50]
OUTPUT F_INDRES LF_ANAG->INDRES
OUTPUT F_CIVRES LF_ANAG->CIVRES
OUTPUT F_CAPRES LF_ANAG->CAPRES
OUTPUT F_INDRF LF_ANAG->INDRF
OUTPUT F_CIVRF LF_ANAG->CIVRF
OUTPUT F_CAPRF LF_ANAG->CAPRF
OUTPUT F_EVECC LF_ANAG->EVECC
OUTPUT F_SESSO LF_ANAGFIS->SESSO
OUTPUT F_DATANASC LF_ANAGFIS->DATANASC
OUTPUT F_COMNASC LF_COMUNI->DENCOM
OUTPUT F_PROVNASC LF_COMUNI->PROVCOM
OUTPUT F_COMRES 1@->DENCOM
OUTPUT F_PROVRES 1@->PROVCOM
OUTPUT F_COMRF 2@->DENCOM
OUTPUT F_PROVRF 2@->PROVCOM
OUTPUT F_PTELRF LF_ANAG->PTELRF
OUTPUT F_TELRF LF_ANAG->TELRF
OUTPUT F_DOMFISC LF_ANAG->VARSLORES
KEY 1
END
STRING APF_RAGSOC 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
END
NUMBER F_ANAGR 5
BEGIN
PROMPT -1 -1 ""
FLAGS "H"
END
STRING F_COFI 16
BEGIN
PROMPT 1 4 "Codice fiscale "
FLAGS "D"
END
NUMBER F_EVECC 1
BEGIN
PROMPT 46 4 "Eventi naturali eccezionali "
FLAGS "D"
END
STRING F_COGNOME 30
BEGIN
PROMPT 1 5 "Cognome "
FLAGS "D"
END
LIST F_RSS 7
BEGIN
PROMPT 58 5 "R.S.S. "
ITEM " |Nessuna"
ITEM "1|VA"
ITEM "2|SA"
ITEM "3|SI"
FIELD LF_BASE->RSS
END
STRING F_NOME 20
BEGIN
PROMPT 1 6 "Nome "
FLAGS "D"
END
STRING F_SESSO 1
BEGIN
PROMPT 39 6 "Sesso "
FLAGS "D"
END
DATE F_DATANASC
BEGIN
PROMPT 49 6 "Data di nascita "
FLAGS "D"
END
STRING F_COMNASC 50
BEGIN
PROMPT 1 7 "Comune nascita "
FLAGS "D"
END
STRING F_PROVNASC 5
BEGIN
PROMPT 70 7 ""
FLAGS "D"
END
STRING F_ATTIV 5
BEGIN
PROMPT 1 8 "Attivita' "
USE %AIS
INPUT CODTAB F_ATTIV
OUTPUT F_DESCRATT S0
CHECKTYPE REQUIRED
FLAGS "D"
END
STRING F_DESCRATT 50
BEGIN
PROMPT 25 8 ""
FLAGS "D"
END
BOOLEAN F_DOMFISC
BEGIN
PROMPT 1 9 "Dom.fiscale o residenza variati rispetto all'anno precedente "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 10 "Residenza"
END
STRING F_INDRES 35
BEGIN
PROMPT 1 11 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRES 10
BEGIN
PROMPT 47 11 ""
FLAGS "D"
END
STRING F_CAPRES 5
BEGIN
PROMPT 63 11 "C.A.P. "
FLAGS "D"
END
STRING F_COMRES 50
BEGIN
PROMPT 1 12 "Comune "
FLAGS "D"
END
STRING F_PROVRES 5
BEGIN
PROMPT 63 12 "Prov. "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 0 14 "Domicilio fiscale "
END
STRING F_PTELRF 10
BEGIN
PROMPT 1 15 "Telefono "
FLAGS "D"
END
STRING F_TELRF 30
BEGIN
PROMPT 20 15 ""
FLAGS "D"
END
STRING F_INDRF 35
BEGIN
PROMPT 1 16 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRF 10
BEGIN
PROMPT 47 16 ""
FLAGS "D"
END
STRING F_CAPRF 5
BEGIN
PROMPT 63 16 "C.A.P. "
FLAGS "D"
END
STRING F_COMRF 50
BEGIN
PROMPT 1 17 "Comune "
FLAGS "D"
END
STRING F_PROVRF 5
BEGIN
PROMPT 63 17 "Prov. "
FLAGS "D"
END
ENDPAGE
ENDMASK
#include "771100.h"
//
// Lista modifiche
//
// 1.4.96 Aggiunti campi prefisso/telefono
//
TOOLBAR "" 0 20 0 2
BUTTON F_FISICA 10 2
BEGIN
PROMPT -15 -1 "F~isiche"
END
BUTTON F_ATTIVITA 10 2
BEGIN
PROMPT -25 -1 "~Attivita'"
END
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -35 -1 "~Registra"
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -45 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -55 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE
PAGE "Dichiarante" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 0 ""
FLAGS "R"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Ditta "
FLAGS "RDG"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
JOIN LF_ANAG TO LF_NDITTE INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN LF_ANAGFIS TO LF_ANAG INTO CODANAGR=CODANAGR
JOIN LF_COMUNI TO LF_ANAGFIS INTO COM==COMNASC
JOIN LF_COMUNI TO LF_ANAG ALIAS 1 INTO COM==COMRES
JOIN LF_COMUNI TO LF_ANAG ALIAS 2 INTO COM==COMRF
OUTPUT APF_RAGSOC LF_NDITTE->RAGSOC
OUTPUT F_ATTIV LF_NDITTE->CODATTPREV
OUTPUT F_ANAGR LF_ANAG->CODANAGR
OUTPUT F_COFI LF_ANAG->COFI
OUTPUT F_COGNOME LF_ANAG->RAGSOC[1,30]
OUTPUT F_NOME LF_ANAG->RAGSOC[31,50]
OUTPUT F_INDRES LF_ANAG->INDRES
OUTPUT F_CIVRES LF_ANAG->CIVRES
OUTPUT F_CAPRES LF_ANAG->CAPRES
OUTPUT F_INDRF LF_ANAG->INDRF
OUTPUT F_CIVRF LF_ANAG->CIVRF
OUTPUT F_CAPRF LF_ANAG->CAPRF
OUTPUT F_EVECC LF_ANAG->EVECC
OUTPUT F_SESSO LF_ANAGFIS->SESSO
OUTPUT F_DATANASC LF_ANAGFIS->DATANASC
OUTPUT F_COMNASC LF_COMUNI->DENCOM
OUTPUT F_PROVNASC LF_COMUNI->PROVCOM
OUTPUT F_COMRES 1@->DENCOM
OUTPUT F_PROVRES 1@->PROVCOM
OUTPUT F_COMRF 2@->DENCOM
OUTPUT F_PROVRF 2@->PROVCOM
OUTPUT F_PTELRF LF_ANAG->PTELRF
OUTPUT F_TELRF LF_ANAG->TELRF
OUTPUT F_DOMFISC LF_ANAG->VARSLORES
KEY 1
END
STRING APF_RAGSOC 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
END
NUMBER F_ANAGR 5
BEGIN
PROMPT -1 -1 ""
FLAGS "H"
END
STRING F_COFI 16
BEGIN
PROMPT 1 4 "Codice fiscale "
FLAGS "D"
END
NUMBER F_EVECC 1
BEGIN
PROMPT 46 4 "Eventi naturali eccezionali "
FLAGS "D"
END
STRING F_COGNOME 30
BEGIN
PROMPT 1 5 "Cognome "
FLAGS "D"
END
LIST F_RSS 7
BEGIN
PROMPT 58 5 "R.S.S. "
ITEM " |Nessuna"
ITEM "1|VA"
ITEM "2|SA"
ITEM "3|SI"
FIELD LF_BASE->RSS
END
STRING F_NOME 20
BEGIN
PROMPT 1 6 "Nome "
FLAGS "D"
END
STRING F_SESSO 1
BEGIN
PROMPT 39 6 "Sesso "
FLAGS "D"
END
DATE F_DATANASC
BEGIN
PROMPT 49 6 "Data di nascita "
FLAGS "D"
END
STRING F_COMNASC 50
BEGIN
PROMPT 1 7 "Comune nascita "
FLAGS "D"
END
STRING F_PROVNASC 5
BEGIN
PROMPT 70 7 ""
FLAGS "D"
END
STRING F_ATTIV 5
BEGIN
PROMPT 1 8 "Attivita' "
USE %AIS
INPUT CODTAB F_ATTIV
OUTPUT F_DESCRATT S0
CHECKTYPE REQUIRED
FLAGS "D"
END
STRING F_DESCRATT 50
BEGIN
PROMPT 25 8 ""
FLAGS "D"
END
BOOLEAN F_DOMFISC
BEGIN
PROMPT 1 9 "Dom.fiscale o residenza variati rispetto all'anno precedente "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 10 "Residenza"
END
STRING F_INDRES 35
BEGIN
PROMPT 1 11 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRES 10
BEGIN
PROMPT 47 11 ""
FLAGS "D"
END
STRING F_CAPRES 5
BEGIN
PROMPT 63 11 "C.A.P. "
FLAGS "D"
END
STRING F_COMRES 50
BEGIN
PROMPT 1 12 "Comune "
FLAGS "D"
END
STRING F_PROVRES 5
BEGIN
PROMPT 63 12 "Prov. "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 0 14 "Domicilio fiscale "
END
STRING F_PTELRF 10
BEGIN
PROMPT 1 15 "Telefono "
FLAGS "D"
END
STRING F_TELRF 30
BEGIN
PROMPT 20 15 ""
FLAGS "D"
END
STRING F_INDRF 35
BEGIN
PROMPT 1 16 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRF 10
BEGIN
PROMPT 47 16 ""
FLAGS "D"
END
STRING F_CAPRF 5
BEGIN
PROMPT 63 16 "C.A.P. "
FLAGS "D"
END
STRING F_COMRF 50
BEGIN
PROMPT 1 17 "Comune "
FLAGS "D"
END
STRING F_PROVRF 5
BEGIN
PROMPT 63 17 "Prov. "
FLAGS "D"
END
ENDPAGE
ENDMASK

@ -1,327 +1,313 @@
#include "771100.h"
TOOLBAR "" 0 20 0 2
BUTTON F_GIURIDICA 10 2
BEGIN
PROMPT -15 -1 "~Giuridiche"
END
BUTTON F_ATTIVITA 10 2
BEGIN
PROMPT -25 -1 "~Attività"
MESSAGE K_TAB,F_ATTIV
END
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -35 -1 ""
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -45 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -55 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE
PAGE "Dichiarante" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 0 ""
FLAGS "R"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Ditta "
FLAGS "GRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
JOIN LF_ANAG TO LF_NDITTE INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN LF_ANAGGIU TO LF_ANAG INTO CODANAGR=CODANAGR
JOIN LF_COMUNI TO LF_ANAG ALIAS 1 INTO COM==COMRES
JOIN LF_COMUNI TO LF_ANAG ALIAS 2 INTO COM==COMRF
OUTPUT F_RAGSOC LF_NDITTE->RAGSOC
OUTPUT F_ATTIV LF_NDITTE->CODATTPREV
OUTPUT F_ANAGR LF_ANAG->CODANAGR
OUTPUT F_COFI LF_ANAG->COFI
OUTPUT F_RAGIONE LF_ANAG->RAGSOC
OUTPUT F_COMRES 1@->DENCOM
OUTPUT F_PROVRES 1@->PROVCOM
OUTPUT F_INDRES LF_ANAG->INDRES
OUTPUT F_CIVRES LF_ANAG->CIVRES
OUTPUT F_CAPRES LF_ANAG->CAPRES
OUTPUT F_EVECC LF_ANAG->EVECC
OUTPUT F_COMRF 2@->DENCOM
OUTPUT F_PROVRF 2@->PROVCOM
OUTPUT F_INDRF LF_ANAG->INDRF
OUTPUT F_CIVRF LF_ANAG->CIVRF
OUTPUT F_CAPRF LF_ANAG->CAPRF
OUTPUT F_PTELRF LF_ANAG->PTELRF
OUTPUT F_TELRF LF_ANAG->TELRF
OUTPUT F_DATAAPPBIL LF_ANAGGIU->DATAAPPBIL
OUTPUT F_DATATAPPBI LF_ANAGGIU->DATATAPPBI
OUTPUT F_STATOSOC LF_ANAGGIU->STATOSOC
OUTPUT F_NATGIU LF_ANAGGIU->NATGIU
OUTPUT F_SITSOC LF_ANAGGIU->SITSOC
OUTPUT F_SEDELEG LF_ANAG->VARSLORES
OUTPUT F_DOMFISC LF_ANAG->VARDF
MESSAGE COPY,1@
MESSAGE DISABLE,F_SEDELEG|DISABLE,F_DOMFISC
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
MESSAGE COPY,2@
END
NUMBER F_ANAGR 5
BEGIN
PROMPT -1 -1 ""
FLAGS "H"
END
/*
STRING F_ATTIV 5
BEGIN
PROMPT 1 4 "Attività "
USE %AIS
INPUT CODTAB F_ATTIV
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_DESCRATT S0
CHECKTYPE REQUIRED
FLAGS "D"
END
*/
STRING F_ATTIV 5
BEGIN
PROMPT 1 4 "Attività "
USE LF_ATTIV
INPUT CODDITTA F_CODDITTA SELECT
INPUT CODATT F_ATTIV
DISPLAY "Attivita'" CODATT
DISPLAY "Prevalente" ATTPREV
DISPLAY " @50" DESCR
OUTPUT F_DESCRATT DESCR
CHECKTYPE REQUIRED
FLAGS "D"
END
STRING F_DESCRATT 50
BEGIN
PROMPT 26 4 ""
FLAGS "D"
END
STRING F_COFI 16
BEGIN
PROMPT 1 6 "Codice fiscale "
FLAGS "D"
END
STRING F_RAGIONE 50
BEGIN
PROMPT 1 7 "Denominazione "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 0 8 ""
END
BOOLEAN F_SEDELEG
BEGIN
PROMPT 1 9 "Sede legale"
//FLAGS "D"
END
STRING F_COMRES 50
BEGIN
PROMPT 1 10 "Comune "
FLAGS "D"
END
STRING F_PROVRES 5
BEGIN
PROMPT 63 10 "Prov. "
FLAGS "D"
END
STRING F_INDRES 35
BEGIN
PROMPT 1 11 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRES 10
BEGIN
PROMPT 47 11 ""
FLAGS "D"
END
STRING F_CAPRES 5
BEGIN
PROMPT 63 11 "C.A.P. "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 0 13 ""
END
BOOLEAN F_DOMFISC
BEGIN
PROMPT 1 14 "Domicilio fiscale"
//FLAGS "D"
END
STRING F_PTELRF 10
BEGIN
PROMPT 25 14 "Telefono "
FLAGS "D"
END
STRING F_TELRF 30
BEGIN
PROMPT 45 14 ""
FLAGS "D"
END
STRING F_COMRF 50
BEGIN
PROMPT 1 15 "Comune "
FLAGS "D"
END
STRING F_PROVRF 5
BEGIN
PROMPT 63 15 "Prov. "
FLAGS "D"
END
STRING F_INDRF 35
BEGIN
PROMPT 1 16 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRF 10
BEGIN
PROMPT 47 16 ""
FLAGS "D"
END
STRING F_CAPRF 5
BEGIN
PROMPT 63 16 "C.A.P. "
FLAGS "D"
END
ENDPAGE
PAGE "Dichiarante pagina 2" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 0 ""
FLAGS "R"
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 1 1 "Ditta "
FLAGS "FRD"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
GROUP 2
END
DATE F_DATAAPPBIL
BEGIN
PROMPT 1 5 "Data approvazione del bilancio "
FLAGS "D"
END
DATE F_DATATAPPBI
BEGIN
PROMPT 1 6 "Data termine del bilancio "
FLAGS "D"
END
NUMBER F_STATOSOC 1
BEGIN
PROMPT 1 8 "Stato "
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 15 8 "(Tab.A)"
END
NUMBER F_NATGIU 2
BEGIN
PROMPT 48 8 "Natura giuridica "
FLAGS "RD"
END
TEXT DLG_NULL
BEGIN
PROMPT 69 8 "(Tab.B)"
END
NUMBER F_SITSOC 1
BEGIN
PROMPT 1 9 "Situazione "
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 15 9 "(Tab.E)"
END
LIST F_RSS 7
BEGIN
PROMPT 48 9 "R.S.S. "
ITEM " |Nessuna"
ITEM "1|VA"
ITEM "2|SA"
ITEM "3|SI"
FIELD LF_BASE->RSS
END
NUMBER F_EVECC 1
BEGIN
PROMPT 1 11 "Eventi naturali eccezionali "
FLAGS "D"
END
ENDPAGE
ENDMASK
#include "771100.h"
TOOLBAR "" 0 20 0 2
BUTTON F_GIURIDICA 10 2
BEGIN
PROMPT -15 -1 "~Giuridiche"
END
BUTTON F_ATTIVITA 10 2
BEGIN
PROMPT -25 -1 "~Attività"
MESSAGE K_TAB,F_ATTIV
END
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -35 -1 "~Registra"
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -45 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -55 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE
PAGE "Dichiarante" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 0 ""
FLAGS "R"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Ditta "
FLAGS "GRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
JOIN LF_ANAG TO LF_NDITTE INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN LF_ANAGGIU TO LF_ANAG INTO CODANAGR=CODANAGR
JOIN LF_COMUNI TO LF_ANAG ALIAS 1 INTO COM==COMRES
JOIN LF_COMUNI TO LF_ANAG ALIAS 2 INTO COM==COMRF
OUTPUT F_RAGSOC LF_NDITTE->RAGSOC
OUTPUT F_ATTIV LF_NDITTE->CODATTPREV
OUTPUT F_ANAGR LF_ANAG->CODANAGR
OUTPUT F_COFI LF_ANAG->COFI
OUTPUT F_RAGIONE LF_ANAG->RAGSOC
OUTPUT F_COMRES 1@->DENCOM
OUTPUT F_PROVRES 1@->PROVCOM
OUTPUT F_INDRES LF_ANAG->INDRES
OUTPUT F_CIVRES LF_ANAG->CIVRES
OUTPUT F_CAPRES LF_ANAG->CAPRES
OUTPUT F_EVECC LF_ANAG->EVECC
OUTPUT F_COMRF 2@->DENCOM
OUTPUT F_PROVRF 2@->PROVCOM
OUTPUT F_INDRF LF_ANAG->INDRF
OUTPUT F_CIVRF LF_ANAG->CIVRF
OUTPUT F_CAPRF LF_ANAG->CAPRF
OUTPUT F_PTELRF LF_ANAG->PTELRF
OUTPUT F_TELRF LF_ANAG->TELRF
OUTPUT F_DATAAPPBIL LF_ANAGGIU->DATAAPPBIL
OUTPUT F_DATATAPPBI LF_ANAGGIU->DATATAPPBI
OUTPUT F_STATOSOC LF_ANAGGIU->STATOSOC
OUTPUT F_NATGIU LF_ANAGGIU->NATGIU
OUTPUT F_SITSOC LF_ANAGGIU->SITSOC
OUTPUT F_SEDELEG LF_ANAG->VARSLORES
OUTPUT F_DOMFISC LF_ANAG->VARDF
MESSAGE COPY,1@
MESSAGE DISABLE,F_SEDELEG|DISABLE,F_DOMFISC
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
MESSAGE COPY,2@
END
NUMBER F_ANAGR 5
BEGIN
PROMPT -1 -1 ""
FLAGS "H"
END
STRING F_ATTIV 5
BEGIN
PROMPT 1 4 "Attività "
USE LF_ATTIV
INPUT CODDITTA F_CODDITTA SELECT
INPUT CODATT F_ATTIV
DISPLAY "Attivita'" CODATT
DISPLAY "Prevalente" ATTPREV
DISPLAY " @50" DESCR
OUTPUT F_DESCRATT DESCR
CHECKTYPE REQUIRED
FLAGS "D"
END
STRING F_DESCRATT 50
BEGIN
PROMPT 26 4 ""
FLAGS "D"
END
STRING F_COFI 16
BEGIN
PROMPT 1 6 "Codice fiscale "
FLAGS "D"
END
STRING F_RAGIONE 50
BEGIN
PROMPT 1 7 "Denominazione "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 0 8 ""
END
BOOLEAN F_SEDELEG
BEGIN
PROMPT 1 9 "Sede legale"
//FLAGS "D"
END
STRING F_COMRES 50
BEGIN
PROMPT 1 10 "Comune "
FLAGS "D"
END
STRING F_PROVRES 5
BEGIN
PROMPT 63 10 "Prov. "
FLAGS "D"
END
STRING F_INDRES 35
BEGIN
PROMPT 1 11 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRES 10
BEGIN
PROMPT 47 11 ""
FLAGS "D"
END
STRING F_CAPRES 5
BEGIN
PROMPT 63 11 "C.A.P. "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 0 13 ""
END
BOOLEAN F_DOMFISC
BEGIN
PROMPT 1 14 "Domicilio fiscale"
//FLAGS "D"
END
STRING F_PTELRF 10
BEGIN
PROMPT 25 14 "Telefono "
FLAGS "D"
END
STRING F_TELRF 30
BEGIN
PROMPT 45 14 ""
FLAGS "D"
END
STRING F_COMRF 50
BEGIN
PROMPT 1 15 "Comune "
FLAGS "D"
END
STRING F_PROVRF 5
BEGIN
PROMPT 63 15 "Prov. "
FLAGS "D"
END
STRING F_INDRF 35
BEGIN
PROMPT 1 16 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRF 10
BEGIN
PROMPT 47 16 ""
FLAGS "D"
END
STRING F_CAPRF 5
BEGIN
PROMPT 63 16 "C.A.P. "
FLAGS "D"
END
ENDPAGE
PAGE "Pag.2" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 0 ""
FLAGS "R"
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 1 1 "Ditta "
FLAGS "FRD"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
GROUP 2
END
DATE F_DATAAPPBIL
BEGIN
PROMPT 1 5 "Data approvazione del bilancio "
FLAGS "D"
END
DATE F_DATATAPPBI
BEGIN
PROMPT 1 6 "Data termine del bilancio "
FLAGS "D"
END
NUMBER F_STATOSOC 1
BEGIN
PROMPT 1 8 "Stato "
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 15 8 "(Tab.A)"
END
NUMBER F_NATGIU 2
BEGIN
PROMPT 48 8 "Natura giuridica "
FLAGS "RD"
END
TEXT DLG_NULL
BEGIN
PROMPT 69 8 "(Tab.B)"
END
NUMBER F_SITSOC 1
BEGIN
PROMPT 1 9 "Situazione "
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 15 9 "(Tab.E)"
END
LIST F_RSS 7
BEGIN
PROMPT 48 9 "R.S.S. "
ITEM " |Nessuna"
ITEM "1|VA"
ITEM "2|SA"
ITEM "3|SI"
FIELD LF_BASE->RSS
END
NUMBER F_EVECC 1
BEGIN
PROMPT 1 11 "Eventi naturali eccezionali "
FLAGS "D"
END
ENDPAGE
ENDMASK

@ -1,206 +1,206 @@
#include "771100.h"
TOOLBAR "" 0 20 0 2
BUTTON F_GIURIDICA 10 2
BEGIN
PROMPT -15 -1 "~Giuridiche"
END
BUTTON DCF_DITTA 10 2
BEGIN
PROMPT -25 -1 "~Ditte"
END
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -35 -1 ""
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -45 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -55 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE
PAGE "Dati C.A.A." -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 0 ""
FLAGS "R"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Ditta "
FLAGS "GRD"
USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA
JOIN LF_BASE TO LF_NDITTE INTO CODDITTA=CODDITTA
OUTPUT F_RAGSOC LF_NDITTE->RAGSOC
OUTPUT F_ANAGR LF_BASE->CODCAAF
CHECKTYPE REQUIRED
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 4 "Dati anagrafici"
END
NUMBER F_ANAGR 5
BEGIN
PROMPT 1 5 "Codice "
USE LF_ANAGGIU KEY 1
INPUT CODANAGR F_ANAGR
JOIN LF_ANAG TO LF_ANAGGIU INTO CODANAGR=CODANAGR TIPOA="G"
JOIN LF_COMUNI TO LF_ANAG ALIAS 1 INTO COM==COMRES
JOIN LF_COMUNI TO LF_ANAG ALIAS 2 INTO COM==COMRF
DISPLAY "Codice" CODANAGR
DISPLAY "Ragione Sociale@50" LF_ANAG->RAGSOC
OUTPUT F_COFI LF_ANAG->COFI
OUTPUT F_RAGIONE LF_ANAG->RAGSOC
OUTPUT F_INDRES LF_ANAG->INDRES
OUTPUT F_CIVRES LF_ANAG->CIVRES
OUTPUT F_CAPRES LF_ANAG->CAPRES
OUTPUT F_INDRF LF_ANAG->INDRF
OUTPUT F_CIVRF LF_ANAG->CIVRF
OUTPUT F_CAPRF LF_ANAG->CAPRF
OUTPUT F_COMRES 1@->DENCOM
OUTPUT F_PROVRES 1@->PROVCOM
OUTPUT F_COMRF 2@->DENCOM
OUTPUT F_PROVRF 2@->PROVCOM
OUTPUT F_ANAGR CODANAGR
CHECKTYPE NORMAL
FLAGS "R"
END
STRING F_COFI 16
BEGIN
PROMPT 43 5 "Codice fiscale "
FLAGS "D"
END
STRING F_RAGIONE 50
BEGIN
PROMPT 1 6 "Ragione sociale "
FLAGS "D"
END
NUMBER F_DITTACAAF 5
BEGIN
PROMPT 1 9 "Ditta CAA "
FLAGS "RZ"
USE LF_NDITTE KEY 3 SELECT CODANAGR=#F_ANAGR
INPUT TIPOA "G"
INPUT CODANAGR F_ANAGR
INPUT CODDITTA F_DITTACAAF
DISPLAY "Ditta" CODDITTA
DISPLAY "Tipo" TIPOA
DISPLAY "Cod.Anagrafico" CODANAGR
DISPLAY "Num.Iscr.Albo" NISCRAA
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_NISCRAA NISCRAA
OUTPUT F_DITTACAAF CODDITTA
CHECKTYPE NORMAL
FIELD LF_BASE->DITTACAAF
END
STRING F_NISCRAA 10
BEGIN
PROMPT 30 9 "Numero di iscrizione all'albo "
CHECKTYPE REQUIRED
FLAGS "DG"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 11 "Sede legale"
END
STRING F_INDRES 35
BEGIN
PROMPT 1 12 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRES 10
BEGIN
PROMPT 47 12 ""
FLAGS "D"
END
STRING F_CAPRES 5
BEGIN
PROMPT 63 12 "C.A.P. "
FLAGS "D"
END
STRING F_COMRES 50
BEGIN
PROMPT 1 13 "Comune "
FLAGS "D"
END
STRING F_PROVRES 5
BEGIN
PROMPT 63 13 "Prov. "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 15 "Domicilio fiscale "
END
STRING F_INDRF 35
BEGIN
PROMPT 1 16 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRF 10
BEGIN
PROMPT 47 16 ""
FLAGS "D"
END
STRING F_CAPRF 5
BEGIN
PROMPT 63 16 "C.A.P. "
FLAGS "D"
END
STRING F_COMRF 50
BEGIN
PROMPT 1 17 "Comune "
FLAGS "D"
END
STRING F_PROVRF 5
BEGIN
PROMPT 63 17 "Prov. "
FLAGS "D"
END
ENDPAGE
ENDMASK
#include "771100.h"
TOOLBAR "" 0 20 0 2
BUTTON F_GIURIDICA 10 2
BEGIN
PROMPT -15 -1 "~Giuridiche"
END
BUTTON DCF_DITTA 10 2
BEGIN
PROMPT -25 -1 "~Ditte"
END
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -35 -1 "~Registra"
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -45 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -55 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE
PAGE "Dati C.A.A." -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 0 ""
FLAGS "R"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Ditta "
FLAGS "GRD"
USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA
JOIN LF_BASE TO LF_NDITTE INTO CODDITTA=CODDITTA
OUTPUT F_RAGSOC LF_NDITTE->RAGSOC
OUTPUT F_ANAGR LF_BASE->CODCAAF
CHECKTYPE REQUIRED
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 4 "Dati anagrafici"
END
NUMBER F_ANAGR 5
BEGIN
PROMPT 1 5 "Codice "
USE LF_ANAGGIU KEY 1
INPUT CODANAGR F_ANAGR
JOIN LF_ANAG TO LF_ANAGGIU INTO CODANAGR=CODANAGR TIPOA="G"
JOIN LF_COMUNI TO LF_ANAG ALIAS 1 INTO COM==COMRES
JOIN LF_COMUNI TO LF_ANAG ALIAS 2 INTO COM==COMRF
DISPLAY "Codice" CODANAGR
DISPLAY "Ragione Sociale@50" LF_ANAG->RAGSOC
OUTPUT F_COFI LF_ANAG->COFI
OUTPUT F_RAGIONE LF_ANAG->RAGSOC
OUTPUT F_INDRES LF_ANAG->INDRES
OUTPUT F_CIVRES LF_ANAG->CIVRES
OUTPUT F_CAPRES LF_ANAG->CAPRES
OUTPUT F_INDRF LF_ANAG->INDRF
OUTPUT F_CIVRF LF_ANAG->CIVRF
OUTPUT F_CAPRF LF_ANAG->CAPRF
OUTPUT F_COMRES 1@->DENCOM
OUTPUT F_PROVRES 1@->PROVCOM
OUTPUT F_COMRF 2@->DENCOM
OUTPUT F_PROVRF 2@->PROVCOM
OUTPUT F_ANAGR CODANAGR
CHECKTYPE NORMAL
FLAGS "R"
END
STRING F_COFI 16
BEGIN
PROMPT 43 5 "Codice fiscale "
FLAGS "D"
END
STRING F_RAGIONE 50
BEGIN
PROMPT 1 6 "Ragione sociale "
FLAGS "D"
END
NUMBER F_DITTACAAF 5
BEGIN
PROMPT 1 9 "Ditta CAA "
FLAGS "RZ"
USE LF_NDITTE KEY 3 SELECT CODANAGR=#F_ANAGR
INPUT TIPOA "G"
INPUT CODANAGR F_ANAGR
INPUT CODDITTA F_DITTACAAF
DISPLAY "Ditta" CODDITTA
DISPLAY "Tipo" TIPOA
DISPLAY "Cod.Anagrafico" CODANAGR
DISPLAY "Num.Iscr.Albo" NISCRAA
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_NISCRAA NISCRAA
OUTPUT F_DITTACAAF CODDITTA
CHECKTYPE NORMAL
FIELD LF_BASE->DITTACAAF
END
STRING F_NISCRAA 10
BEGIN
PROMPT 30 9 "Numero di iscrizione all'albo "
CHECKTYPE REQUIRED
FLAGS "DG"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 11 "Sede legale"
END
STRING F_INDRES 35
BEGIN
PROMPT 1 12 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRES 10
BEGIN
PROMPT 47 12 ""
FLAGS "D"
END
STRING F_CAPRES 5
BEGIN
PROMPT 63 12 "C.A.P. "
FLAGS "D"
END
STRING F_COMRES 50
BEGIN
PROMPT 1 13 "Comune "
FLAGS "D"
END
STRING F_PROVRES 5
BEGIN
PROMPT 63 13 "Prov. "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 15 "Domicilio fiscale "
END
STRING F_INDRF 35
BEGIN
PROMPT 1 16 "Indirizzo "
FLAGS "D"
END
STRING F_CIVRF 10
BEGIN
PROMPT 47 16 ""
FLAGS "D"
END
STRING F_CAPRF 5
BEGIN
PROMPT 63 16 "C.A.P. "
FLAGS "D"
END
STRING F_COMRF 50
BEGIN
PROMPT 1 17 "Comune "
FLAGS "D"
END
STRING F_PROVRF 5
BEGIN
PROMPT 63 17 "Prov. "
FLAGS "D"
END
ENDPAGE
ENDMASK

@ -1,135 +1,135 @@
#include "771100.h"
TOOLBAR "" 0 20 0 2
BUTTON F_FISICA 10 2
BEGIN
PROMPT -14 -1 "~Fisiche"
END
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -24 -1 ""
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -34 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -44 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE
PAGE "Direttore / Professionista" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 0 ""
FLAGS "R"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Ditta "
FLAGS "GRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGSOC RAGSOC
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 7
BEGIN
PROMPT 0 5 "Dati anagrafici"
END
NUMBER F_ANAGR 5
BEGIN
PROMPT 1 6 "Codice "
USE LF_ANAGFIS KEY 1
CHECKTYPE NORMAL
INPUT CODANAGR F_ANAGR
JOIN LF_ANAG TO LF_ANAGFIS INTO TIPOA="F" CODANAGR=CODANAGR
JOIN LF_COMUNI TO LF_ANAGFIS INTO COM==COMNASC
DISPLAY "Codice" CODANAGR
DISPLAY "Ragione Sociale@50" LF_ANAG->RAGSOC
OUTPUT F_COFI LF_ANAG->COFI
OUTPUT F_COGNOME LF_ANAG->RAGSOC[1,30]
OUTPUT F_NOME LF_ANAG->RAGSOC[31,50]
OUTPUT F_SESSO SESSO
OUTPUT F_DATANASC DATANASC
OUTPUT F_COMNASC LF_COMUNI->DENCOM
OUTPUT F_PROVNASC LF_COMUNI->PROVCOM
OUTPUT F_ANAGR CODANAGR
FIELD LF_BASE->CODPRO
FLAGS "R"
KEY 1
END
STRING F_COFI 16
BEGIN
PROMPT 1 7 "Codice fiscale "
FLAGS "D"
END
STRING F_COGNOME 30
BEGIN
PROMPT 1 8 "Cognome "
FLAGS "D"
END
STRING F_NOME 20
BEGIN
PROMPT 1 9 "Nome "
FLAGS "D"
END
STRING F_SESSO 1
BEGIN
PROMPT 39 9 "Sesso "
FLAGS "D"
END
DATE F_DATANASC
BEGIN
PROMPT 49 9 "Data di nascita "
FLAGS "D"
END
STRING F_COMNASC 50
BEGIN
PROMPT 1 10 "Comune nascita "
FLAGS "D"
END
STRING F_PROVNASC 5
BEGIN
PROMPT 70 10 ""
FLAGS "D"
END
BOOLEAN F_CONTROLLI
BEGIN
PROMPT 1 13 "Si attesta che sono stati eseguiti i controlli di cui art.4"
FIELD LF_BASE->FLART4
END
ENDPAGE
ENDMASK
#include "771100.h"
TOOLBAR "" 0 20 0 2
BUTTON F_FISICA 10 2
BEGIN
PROMPT -14 -1 "F~isiche"
END
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -24 -1 "~Registra"
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -34 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -44 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE
PAGE "Direttore / Professionista" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 0 ""
FLAGS "R"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Ditta "
FLAGS "GRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGSOC RAGSOC
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 7
BEGIN
PROMPT 0 5 "Dati anagrafici"
END
NUMBER F_ANAGR 5
BEGIN
PROMPT 1 6 "Codice "
USE LF_ANAGFIS KEY 1
CHECKTYPE NORMAL
INPUT CODANAGR F_ANAGR
JOIN LF_ANAG TO LF_ANAGFIS INTO TIPOA="F" CODANAGR=CODANAGR
JOIN LF_COMUNI TO LF_ANAGFIS INTO COM==COMNASC
DISPLAY "Codice" CODANAGR
DISPLAY "Ragione Sociale@50" LF_ANAG->RAGSOC
OUTPUT F_COFI LF_ANAG->COFI
OUTPUT F_COGNOME LF_ANAG->RAGSOC[1,30]
OUTPUT F_NOME LF_ANAG->RAGSOC[31,50]
OUTPUT F_SESSO SESSO
OUTPUT F_DATANASC DATANASC
OUTPUT F_COMNASC LF_COMUNI->DENCOM
OUTPUT F_PROVNASC LF_COMUNI->PROVCOM
OUTPUT F_ANAGR CODANAGR
FIELD LF_BASE->CODPRO
FLAGS "R"
KEY 1
END
STRING F_COFI 16
BEGIN
PROMPT 1 7 "Codice fiscale "
FLAGS "D"
END
STRING F_COGNOME 30
BEGIN
PROMPT 1 8 "Cognome "
FLAGS "D"
END
STRING F_NOME 20
BEGIN
PROMPT 1 9 "Nome "
FLAGS "D"
END
STRING F_SESSO 1
BEGIN
PROMPT 39 9 "Sesso "
FLAGS "D"
END
DATE F_DATANASC
BEGIN
PROMPT 49 9 "Data di nascita "
FLAGS "D"
END
STRING F_COMNASC 50
BEGIN
PROMPT 1 10 "Comune nascita "
FLAGS "D"
END
STRING F_PROVNASC 5
BEGIN
PROMPT 70 10 ""
FLAGS "D"
END
BOOLEAN F_CONTROLLI
BEGIN
PROMPT 1 13 "Si attesta che sono stati eseguiti i controlli di cui art.4"
FIELD LF_BASE->FLART4
END
ENDPAGE
ENDMASK

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,300 +1,300 @@
#include "771200.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "1" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA1->CODDITTA
KEY 1
END
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA1->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
MESSAGE COPY,2@
KEY 1
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
MESSAGE COPY,3@
END
STRING QAF_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
MESSAGE COPY,4@
END
NUMBER QAF_NPROG 4
BEGIN
PROMPT 72 1 ""
FIELD LF_QUAA1->NPROG
FLAGS "DG"
KEY 1
MESSAGE COPY,5@
END
LISTBOX F_MESEANNO 9
BEGIN
PROMPT 2 3 "8 Periodo di riferimento "
FLAGS "M"
FIELD LF_QUAA1->MESERIF
END
NUMBER QA1F_ANNORIF 4
BEGIN
PROMPT 44 3 ""
FLAGS "D"
FIELD LF_QUAA1->ANNORIF
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 4 "@bSaldo IRPEF per il 1994"
END
NUMBER F_IMPRIMB9 15
BEGIN
PROMPT 2 5 "9 Imposta rimbors. "
FIELD LF_QUAA1->IMPRIMB9
PICTURE "."
END
NUMBER F_IMPVERS10 15
BEGIN
PROMPT 45 5 "10 Imposta ver. "
FIELD LF_QUAA1->IMPVERS10
PICTURE "."
END
NUMBER F_INTER11 15
BEGIN
PROMPT 2 6 "11 Interessi "
FIELD LF_QUAA1->INTER11
PICTURE "."
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 8 "@bPrima rata acconto IRPEF per il 1995"
END
NUMBER F_IMPVERS12 15
BEGIN
PROMPT 2 9 "12 Imposta versata "
FIELD LF_QUAA1->IMPVERS12
PICTURE "."
END
NUMBER F_INTER13 15
BEGIN
PROMPT 45 9 "13 Interessi "
FIELD LF_QUAA1->INTER13
PICTURE "."
END
NUMBER F_STASSA14 15
BEGIN
PROMPT 2 10 "14 Soprattassa su IRPEF saldo 94 e prima rata acconto 95 "
FIELD LF_QUAA1->STASSA14
PICTURE "."
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 12 "@bSaldo C.S.S.N. per il 1994"
END
NUMBER F_CONTRIMB15 15
BEGIN
PROMPT 2 13 "15 Cont. a rimborso"
FIELD LF_QUAA1->CONTRIMB15
PICTURE "."
HELP "Contributo a rimborso"
END
NUMBER F_CONTVERS16 15
BEGIN
PROMPT 45 13 "16 Cont.versato "
FIELD LF_QUAA1->CONTVERS16
PICTURE "."
HELP "Contributo versato"
END
NUMBER F_INTER17 15
BEGIN
PROMPT 2 14 "17 Interessi "
FIELD LF_QUAA1->INTER17
PICTURE "."
END
ENDPAGE
PAGE "2" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER DLG_NULL 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
GROUP 2
END
STRING DLG_NULL 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
GROUP 3
END
STRING DLG_NULL 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
GROUP 4
END
NUMBER DLG_NULL 4
BEGIN
PROMPT 72 1 ""
FLAGS "DG"
GROUP 5
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 3 "@bPrima rata acconto C.S.S.N. per il 1995"
END
NUMBER F_CONTVER18 15
BEGIN
PROMPT 2 4 "18 Contributo vers."
FIELD LF_QUAA1->CONTVER18
PICTURE "."
END
NUMBER F_INTER19 15
BEGIN
PROMPT 45 4 "19 Interessi "
FIELD LF_QUAA1->INTER19
PICTURE "."
END
NUMBER F_STASSA20 15
BEGIN
PROMPT 2 5 "20 Soprattassa su C.S.S.N. saldo 94 e prima rata acconto 95"
FIELD LF_QUAA1->STASSA20
PICTURE "."
END
STRING F_CONNEFF21 1
BEGIN
PROMPT 2 6 "21 Cong. n/effet. "
FIELD LF_QUAA1->CONNEFF21
HELP "Conguagli non effettuati"
SHEET "Codice|Descrizione@85"
INPUT F_CONNEFF21
ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Aspettativa senza retribuzione"
ITEM "C|Decesso"
ITEM "D|Richiesta di minore secondo acconto"
ITEM "E|Retribuzione insufficiente"
ITEM "F|Nel caso di situazioni per le quali dovrebbero essere indicati piu' codici"
ITEM "G|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT F_CONNEFF21
FLAGS "U"
END
STRING F_TIPOCONG22 1
BEGIN
PROMPT 45 6 "22 Tipo cong. "
FIELD LF_QUAA1->TIPOCONG22
SHEET "Codice|Descrizione@155"
INPUT F_TIPOCONG22
ITEM " |Niente"
ITEM "R|conguaglio tardivo derivante da Mod.730/93 rettificativo ovvero conguaglio conseguente a comunicazione tardiva di Mod.730/94 rettificativo"
ITEM "S|Conguaglio tardivo derivante da comunicazione Mod.730/94 pervenuta entro i termini"
ITEM "T|Conguaglio tardivo derivante da Mod.730/93 ovvero conguaglio conseguente a comunicazione tardiva di Mod.730/94"
ITEM "U|Conguaglio conseguente ad incapienza della retribuzione corrisposta nei periodi di paga precedenti ovvero insufficienza del monte ritenute e/o contributi"
OUTPUT F_TIPOCONG22
FLAGS "U"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 9 "@bDati identificativi del C.A.A.F che ha prestato assistenza "
END
NUMBER F_CODCAAF 5
BEGIN
PROMPT 2 10 "Codice "
FIELD LF_QUAA1->CODCAAF
USE %CAF
CHECKTYPE NORMAL
INPUT CODTAB F_CODCAAF
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0
DISPLAY "N.ro iscrizione" I1
DISPLAY "Codice fiscale@16" S1
OUTPUT F_CODCAAF CODTAB
OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1
END
STRING F_DENCAAF 50
BEGIN
PROMPT 26 10 ""
FLAGS "DU"
END
STRING F_CODFISCAAF 16
BEGIN
PROMPT 2 11 "23 Cod.fiscale "
FLAGS "D"
END
NUMBER F_NISCRA 5
BEGIN
PROMPT 50 11 "25 N.iscrizione albo "
FLAGS "D"
END
DATE F_DATARIC29
BEGIN
PROMPT 2 12 "26 Data ricezione Modello 730-5 "
FIELD LF_QUAA1->DATARIC26
END
ENDPAGE
#include "771200.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "1" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA1->CODDITTA
KEY 1
END
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA1->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
MESSAGE COPY,2@
KEY 1
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
MESSAGE COPY,3@
END
STRING QAF_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
MESSAGE COPY,4@
END
NUMBER QAF_NPROG 4
BEGIN
PROMPT 72 1 ""
FIELD LF_QUAA1->NPROG
FLAGS "DG"
KEY 1
MESSAGE COPY,5@
END
LISTBOX F_MESEANNO 9
BEGIN
PROMPT 2 3 "8 Periodo di riferimento "
FLAGS "M"
FIELD LF_QUAA1->MESERIF
END
NUMBER QA1F_ANNORIF 4
BEGIN
PROMPT 44 3 ""
FLAGS "D"
FIELD LF_QUAA1->ANNORIF
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 4 "@bSaldo IRPEF per il 1994"
END
NUMBER F_IMPRIMB9 15
BEGIN
PROMPT 2 5 "9 Imposta rimbors. "
FIELD LF_QUAA1->IMPRIMB9
PICTURE "."
END
NUMBER F_IMPVERS10 15
BEGIN
PROMPT 45 5 "10 Imposta ver. "
FIELD LF_QUAA1->IMPVERS10
PICTURE "."
END
NUMBER F_INTER11 15
BEGIN
PROMPT 2 6 "11 Interessi "
FIELD LF_QUAA1->INTER11
PICTURE "."
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 8 "@bPrima rata acconto IRPEF per il 1995"
END
NUMBER F_IMPVERS12 15
BEGIN
PROMPT 2 9 "12 Imposta versata "
FIELD LF_QUAA1->IMPVERS12
PICTURE "."
END
NUMBER F_INTER13 15
BEGIN
PROMPT 45 9 "13 Interessi "
FIELD LF_QUAA1->INTER13
PICTURE "."
END
NUMBER F_STASSA14 15
BEGIN
PROMPT 2 10 "14 Soprattassa su IRPEF saldo 94 e prima rata acconto 95 "
FIELD LF_QUAA1->STASSA14
PICTURE "."
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 12 "@bSaldo C.S.S.N. per il 1994"
END
NUMBER F_CONTRIMB15 15
BEGIN
PROMPT 2 13 "15 Cont. a rimborso"
FIELD LF_QUAA1->CONTRIMB15
PICTURE "."
HELP "Contributo a rimborso"
END
NUMBER F_CONTVERS16 15
BEGIN
PROMPT 45 13 "16 Cont.versato "
FIELD LF_QUAA1->CONTVERS16
PICTURE "."
HELP "Contributo versato"
END
NUMBER F_INTER17 15
BEGIN
PROMPT 2 14 "17 Interessi "
FIELD LF_QUAA1->INTER17
PICTURE "."
END
ENDPAGE
PAGE "2" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER DLG_NULL 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
GROUP 2
END
STRING DLG_NULL 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
GROUP 3
END
STRING DLG_NULL 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
GROUP 4
END
NUMBER DLG_NULL 4
BEGIN
PROMPT 72 1 ""
FLAGS "DG"
GROUP 5
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 3 "@bPrima rata acconto C.S.S.N. per il 1995"
END
NUMBER F_CONTVER18 15
BEGIN
PROMPT 2 4 "18 Contributo vers."
FIELD LF_QUAA1->CONTVER18
PICTURE "."
END
NUMBER F_INTER19 15
BEGIN
PROMPT 45 4 "19 Interessi "
FIELD LF_QUAA1->INTER19
PICTURE "."
END
NUMBER F_STASSA20 15
BEGIN
PROMPT 2 5 "20 Soprattassa su C.S.S.N. saldo 94 e prima rata acconto 95"
FIELD LF_QUAA1->STASSA20
PICTURE "."
END
STRING F_CONNEFF21 1
BEGIN
PROMPT 2 6 "21 Cong. n/effet. "
FIELD LF_QUAA1->CONNEFF21
HELP "Conguagli non effettuati"
SHEET "Codice|Descrizione@60"
INPUT F_CONNEFF21
ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Aspettativa senza retribuzione"
ITEM "C|Decesso"
ITEM "D|Richiesta di minore secondo acconto"
ITEM "E|Retribuzione insufficiente"
ITEM "F|Situaz. per le quali dovrebbero essere indicati piu' codici"
ITEM "G|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT F_CONNEFF21
FLAGS "U"
END
STRING F_TIPOCONG22 1
BEGIN
PROMPT 45 6 "22 Tipo cong. "
FIELD LF_QUAA1->TIPOCONG22
SHEET "Codice|Descrizione@60"
INPUT F_TIPOCONG22
ITEM " |Niente"
ITEM "R|Cong. tardivo derivante da Mod.730/93 rettificativo..."
ITEM "S|Cong. tardivo derivante da comunicaz. Mod.730/94..."
ITEM "T|Cong. tardivo deriv. da Mod.730/93 ov. comunic. tardiva Mod.730/94"
ITEM "U|Cong. conseguente ad incapienza della retribuz..."
OUTPUT F_TIPOCONG22
FLAGS "U"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 9 "@bDati identificativi del C.A.A.F che ha prestato assistenza "
END
NUMBER F_CODCAAF 5
BEGIN
PROMPT 2 10 "Codice "
FIELD LF_QUAA1->CODCAAF
USE %CAF
CHECKTYPE NORMAL
INPUT CODTAB F_CODCAAF
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0
DISPLAY "N.ro iscrizione" I1
DISPLAY "Codice fiscale@16" S1
OUTPUT F_CODCAAF CODTAB
OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1
END
STRING F_DENCAAF 50
BEGIN
PROMPT 26 10 ""
FLAGS "DU"
END
STRING F_CODFISCAAF 16
BEGIN
PROMPT 2 11 "23 Cod.fiscale "
FLAGS "D"
END
NUMBER F_NISCRA 5
BEGIN
PROMPT 50 11 "25 N.iscrizione albo "
FLAGS "D"
END
DATE F_DATARIC29
BEGIN
PROMPT 2 12 "26 Data ricezione Modello 730-5 "
FIELD LF_QUAA1->DATARIC26
END
ENDPAGE
ENDMASK

@ -1,128 +1,128 @@
#include "771200.h"
TOOLBAR "" 0 18 0 4
#include <toolbar.h>
BUTTON QA2F_ALLEG_A2 24 2
BEGIN
PROMPT -13 -3 "~Allegati 730/95"
END
ENDPAGE
#define G_DIPEND 1
#define G_QUADROA 2
PAGE "Quadro A2" -1 -1 78 21
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA QAF_CODDITTA
OUTPUT QAF_RAGDITTA RAGSOC
FIELD LF_QUAA2->CODDITTA
END
STRING QAF_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
END
NUMBER QAF_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bDati dipendente"
END
NUMBER F_CODIP 6
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA2->CODDIP
CHECKTYPE REQUIRED
KEY 1
END
NUMBER F_CODANAGDIP 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_CODANAGDIP CODDIP
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
ADD RUN 773mod -1 771150a 45 "Anagrafica dipendenti"
MESSAGE COPY, F_CODIP
FLAGS "H"
GROUP G_DIPEND
END
NUMBER F_CODANAGDIPQA 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_QUAA2 KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODANAGDIPQA
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT F_CODANAGDIPQA CODDIP
OUTPUT QAF_COGNOME LF_DIPEND->COGNOME
OUTPUT QAF_NOME LF_DIPEND->NOME
MESSAGE COPY, F_CODIP
GROUP G_QUADROA
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 8 ""
FLAGS "D"
END
STRING QAF_NOME 20
BEGIN
PROMPT 49 8 ""
FLAGS "D"
END
NUMBER QAF_NPROG 4
BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
USE LF_QUAA2 KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
INPUT NPROG QAF_NPROG
DISPLAY "Codice@10" CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT F_CODIP CODDIP
OUTPUT QAF_NPROG NPROG
FIELD LF_QUAA2->NPROG
KEY 1
END
ENDPAGE
#include "771200.h"
TOOLBAR "" 0 18 0 4
#include <toolbar.h>
BUTTON QA2F_ALLEG_A2 24 2
BEGIN
PROMPT -13 -3 "~Allegati 730/95"
END
ENDPAGE
#define G_DIPEND 1
#define G_QUADROA 2
PAGE "Quadro A2" -1 -1 78 21
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA QAF_CODDITTA
OUTPUT QAF_RAGDITTA RAGSOC
FIELD LF_QUAA2->CODDITTA
END
STRING QAF_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
END
NUMBER QAF_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bDati dipendente"
END
NUMBER F_CODIP 6
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA2->CODDIP
CHECKTYPE REQUIRED
KEY 1
END
NUMBER F_CODANAGDIP 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODANAGDIP
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_CODANAGDIP CODDIP
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
ADD RUN 773mod -1 771150a 45 "Anagrafica dipendenti"
MESSAGE COPY, F_CODIP
FLAGS "H"
GROUP G_DIPEND
END
NUMBER F_CODANAGDIPQA 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_QUAA2 KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODANAGDIPQA
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT F_CODANAGDIPQA CODDIP
OUTPUT QAF_COGNOME LF_DIPEND->COGNOME
OUTPUT QAF_NOME LF_DIPEND->NOME
MESSAGE COPY, F_CODIP
GROUP G_QUADROA
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 8 ""
FLAGS "D"
END
STRING QAF_NOME 20
BEGIN
PROMPT 49 8 ""
FLAGS "D"
END
NUMBER QAF_NPROG 4
BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
USE LF_QUAA2 KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
INPUT NPROG QAF_NPROG
DISPLAY "Codice@10" CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT F_CODIP CODDIP
OUTPUT QAF_NPROG NPROG
FIELD LF_QUAA2->NPROG
KEY 1
END
ENDPAGE
ENDMASK

@ -1,410 +1,410 @@
#include "771200.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "1" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA2->CODDITTA
KEY 1
END
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA2->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
MESSAGE COPY,2@
KEY 1
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
MESSAGE COPY,3@
END
STRING QAF_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
MESSAGE COPY,4@
END
NUMBER QAF_NPROG 4
BEGIN
PROMPT 72 1 ""
FIELD LF_QUAA2->NPROG
FLAGS "DG"
KEY 1
MESSAGE COPY,5@
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 3 "@bASSISTENZA 1995 "
END
STRING QA2F_CNEFF 1
BEGIN
PROMPT 2 4 "8 Conguagli non effettuati "
FIELD LF_QUAA2->CONEFF
FLAGS "U"
HELP "Conguagli non effettuati relativi all'assistenza 1995"
SHEET "Codice|Descrizione@85"
INPUT QA2F_CNEFF
ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Decesso"
ITEM "C|Richiesta di minore secondo acconto"
ITEM "D|Retribuzione insufficiente"
ITEM "E|Nel caso di situazioni per le quali dovrebbero essere indicati piu' codici"
ITEM "F|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT QA2F_CNEFF
GROUP G_ALL
END
STRING QA2F_RETCON 1
BEGIN
PROMPT 38 4 "9 Rettifica conguaglio "
FIELD LF_QUAA2->RETCON
SHEET "Codice|Descrizione@65"
INPUT QA2F_RETCON
ITEM " | "
ITEM "A|Rettifica da parte dei sostituti o dei CAAF degli importi da conguagliare indicati nei mod.730-3,4 e già consegnati entro il 15.5.95 (per il primo numero d'ordine)"
ITEM "B|Rettifica da parte dei sostituti o dei CAAF degli importi da conguagliare indicati nei mod.730-3,4 e già consegnati entro il 15.5.95 (per il primo numero d'ordine)"
ITEM "C|Conguaglio tardivamente effettuato nel mese di luglio"
OUTPUT QA2F_RETCON
FLAGS "U"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 6 "@bSALDO IRPEF PER IL 1994 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imp.ver/tr.IRPEF"
GROUP G_730
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imposta rimbor. "
GROUP G_770
END
NUMBER F_IIRPEFVER8 15
BEGIN
PROMPT 21 7 ""
FIELD LF_QUAA2->SIRPEFRIMB
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imp.da rim.IRPEF"
GROUP G_730
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imposta versata "
GROUP G_770
END
NUMBER F_IIRPEFRI9 15
BEGIN
PROMPT 61 7 ""
FIELD LF_QUAA2->VIRPEF
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "12 Interessi "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "12 1rata ac.IRPEF95"
GROUP G_730
END
NUMBER F_INTER11 15
BEGIN
PROMPT 21 8 ""
FIELD LF_QUAA2->INTIRPEF
PICTURE "."
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 10 "@bPRIMA RATA ACCONTO IRPEF PER IL 1995 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "13 Imposta versata "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "13 2rata ac.IRPEF95"
GROUP G_730
END
NUMBER F_PRIRPEF10 15
BEGIN
// PROMPT 2 11 "Imposta versata "
PROMPT 21 11 ""
FIELD LF_QUAA2->AIRPEFIV
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 11 "14 Interessi "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 41 11 "14 I.v.trat.CSSN "
GROUP G_730
END
NUMBER F_AIRPEFINT 15
BEGIN
PROMPT 61 11 ""
FIELD LF_QUAA2->AIRPEFINT
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "15 Soprattasse IRPEF saldo 94 e prima rata acc.95 "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "15 Importo da rimborsare CSSN "
GROUP G_730
END
NUMBER F_STASSA12 15
BEGIN
PROMPT 61 13 ""
FIELD LF_QUAA2->STASSA15
PICTURE "."
END
ENDPAGE
PAGE "2" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER DLG_NULL 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
GROUP 2
END
STRING DLG_NULL 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
GROUP 3
END
STRING DLG_NULL 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
GROUP 4
END
NUMBER DLG_NULL 4
BEGIN
PROMPT 72 1 ""
FLAGS "DG"
GROUP 5
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 4 "@bSALDO C.S.S.N. PER IL 1994 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "16 Cont.a rimborso "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "16 1r.acc.CSSN 95 "
GROUP G_730
END
NUMBER QA2F_CSSNCRIMB 15
BEGIN
PROMPT 21 5 ""
FIELD LF_QUAA2->CONTR16
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "17 Cont. versato "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "17 2r.acc.CSSN 95 "
GROUP G_730
END
NUMBER QA2F_CSSNCVER 15
BEGIN
// PROMPT 41 5 "Contr. versato "
PROMPT 61 5 ""
FIELD LF_QUAA2->CONTRVER
PICTURE "."
END
NUMBER QA2F_CSSNINT 15
BEGIN
PROMPT 2 6 "18 Interessi "
FIELD LF_QUAA2->INTER18
PICTURE "."
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 8 "@bPRIMA RATA ACCONTO C.S.S.N. PER IL 1995 "
END
NUMBER QA2F_CSSNAIV 15
BEGIN
PROMPT 2 9 "19 Contrib.versato "
FIELD LF_QUAA2->CONTV19
PICTURE "."
GROUP G_ALL
END
NUMBER QA2F_CSSNAINT 15
BEGIN
PROMPT 41 9 "20 Interessi "
FIELD LF_QUAA2->INTE20
PICTURE "."
GROUP G_ALL
END
NUMBER QA2F_STCSSN 15
BEGIN
PROMPT 2 11 "21 Soprattasse su C.S.S.N. saldo 94 e prima rata acc.95 "
FIELD LF_QUAA2->SOPRAT21
PICTURE "."
GROUP G_ALL
END
STRING QA2F_730NLIQ 2
BEGIN
PROMPT 2 12 "22 Mod.730/95 non liquidabile "
SHEET "Codice|Descrizione@80"
INPUT QA2F_730NLIQ
ITEM "|"
ITEM "01|Errata o incompleta compilazione dei dati anagrafici e di residenza del dichiarante"
ITEM "02|Errata o incompleta compilazione dei dati del coniuge e familiari a carico"
ITEM "03|Errata o incompleta compilazione dei dati anagrafici e di residenza del coniuge"
ITEM "04|Errata o incompleta dichiarazione del quadro A Mod.730/95 del dichiarante"
ITEM "05|Errata o incompleta dichiarazione del quadro A Mod.730/95 del coniuge"
ITEM "06|Errata o incompleta dichiarazione del quadro B Mod.730/95 del dichiarante"
ITEM "07|Errata o incompleta dichiarazione del quadro B Mod.730/95 del coniuge"
ITEM "08|Errata o incompleta dichiarazione del quadro C Mod.730/95 del dichiarante"
ITEM "09|Errata o incompleta dichiarazione del quadro D Mod.730/95 del dichiarante"
ITEM "10|Errata o incompleta dichiarazione del quadro E Mod.730/95 del dichiarante"
ITEM "11|Errata o incompleta dichiarazione del quadro E Mod.730/95 del coniuge"
ITEM "12|Errata o incompleta dichiarazione del quadro F Mod.730/95 del dichiarante"
ITEM "13|Errata o incompleta dichiarazione del quadro F Mod.730/95 del coniuge"
FIELD LF_QUAA2->M730NLIQ
FLAGS "Z"
OUTPUT QA2F_730NLIQ
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 14 "@bDati identificativi del C.A.A.F che ha prestato assistenza "
END
NUMBER F_CODCAAF 5
BEGIN
PROMPT 2 15 "Codice "
FIELD LF_QUAA2->CODCAAF
USE %CAF
CHECKTYPE NORMAL
INPUT CODTAB F_CODCAAF
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0
DISPLAY "N.ro iscrizione" I1
DISPLAY "Codice fiscale@16" S1
OUTPUT F_CODCAAF CODTAB
OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1
GROUP G_ALL
END
STRING F_DENCAAF 50
BEGIN
PROMPT 26 15 ""
FLAGS "DU"
END
STRING F_CODFISCAAF 16
BEGIN
PROMPT 2 16 "23 Cod.fiscale "
FLAGS "D"
END
NUMBER F_NISCRA 5
BEGIN
PROMPT 50 16 "25 N.iscrizione albo "
FLAGS "D"
END
ENDPAGE
#include "771200.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "1" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA2->CODDITTA
KEY 1
END
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA2->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
MESSAGE COPY,2@
KEY 1
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
MESSAGE COPY,3@
END
STRING QAF_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
MESSAGE COPY,4@
END
NUMBER QAF_NPROG 4
BEGIN
PROMPT 72 1 ""
FIELD LF_QUAA2->NPROG
FLAGS "DG"
KEY 1
MESSAGE COPY,5@
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 3 "@bASSISTENZA 1995 "
END
STRING QA2F_CNEFF 1
BEGIN
PROMPT 2 4 "8 Conguagli non effettuati "
FIELD LF_QUAA2->CONEFF
FLAGS "U"
HELP "Conguagli non effettuati relativi all'assistenza 1995"
SHEET "Codice|Descrizione@60"
INPUT QA2F_CNEFF
ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Decesso"
ITEM "C|Richiesta di minore secondo acconto"
ITEM "D|Retribuzione insufficiente"
ITEM "E|Situaz. per le quali dovrebbero essere indicati piu' codici"
ITEM "F|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT QA2F_CNEFF
GROUP G_ALL
END
STRING QA2F_RETCON 1
BEGIN
PROMPT 38 4 "9 Rettifica conguaglio "
FIELD LF_QUAA2->RETCON
SHEET "Codice|Descrizione@60"
INPUT QA2F_RETCON
ITEM " | "
ITEM "A|Rettifica importi da conguagliare... (I num. d'ordine)"
ITEM "B|Rettifica importi da conguagliare... (II num. d'ordine)"
ITEM "C|Conguaglio tardivamente effettuato nel mese di luglio"
OUTPUT QA2F_RETCON
FLAGS "U"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 6 "@bSALDO IRPEF PER IL 1994 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imp.ver/tr.IRPEF"
GROUP G_730
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imposta rimbor. "
GROUP G_770
END
NUMBER F_IIRPEFVER8 15
BEGIN
PROMPT 21 7 ""
FIELD LF_QUAA2->SIRPEFRIMB
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imp.da rim.IRPEF"
GROUP G_730
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imposta versata "
GROUP G_770
END
NUMBER F_IIRPEFRI9 15
BEGIN
PROMPT 61 7 ""
FIELD LF_QUAA2->VIRPEF
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "12 Interessi "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "12 1rata ac.IRPEF95"
GROUP G_730
END
NUMBER F_INTER11 15
BEGIN
PROMPT 21 8 ""
FIELD LF_QUAA2->INTIRPEF
PICTURE "."
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 10 "@bPRIMA RATA ACCONTO IRPEF PER IL 1995 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "13 Imposta versata "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "13 2rata ac.IRPEF95"
GROUP G_730
END
NUMBER F_PRIRPEF10 15
BEGIN
// PROMPT 2 11 "Imposta versata "
PROMPT 21 11 ""
FIELD LF_QUAA2->AIRPEFIV
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 11 "14 Interessi "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 41 11 "14 I.v.trat.CSSN "
GROUP G_730
END
NUMBER F_AIRPEFINT 15
BEGIN
PROMPT 61 11 ""
FIELD LF_QUAA2->AIRPEFINT
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "15 Soprattasse IRPEF saldo 94 e prima rata acc.95 "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "15 Importo da rimborsare CSSN "
GROUP G_730
END
NUMBER F_STASSA12 15
BEGIN
PROMPT 61 13 ""
FIELD LF_QUAA2->STASSA15
PICTURE "."
END
ENDPAGE
PAGE "2" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER DLG_NULL 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
GROUP 2
END
STRING DLG_NULL 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
GROUP 3
END
STRING DLG_NULL 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
GROUP 4
END
NUMBER DLG_NULL 4
BEGIN
PROMPT 72 1 ""
FLAGS "DG"
GROUP 5
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 4 "@bSALDO C.S.S.N. PER IL 1994 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "16 Cont.a rimborso "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "16 1r.acc.CSSN 95 "
GROUP G_730
END
NUMBER QA2F_CSSNCRIMB 15
BEGIN
PROMPT 21 5 ""
FIELD LF_QUAA2->CONTR16
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "17 Cont. versato "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "17 2r.acc.CSSN 95 "
GROUP G_730
END
NUMBER QA2F_CSSNCVER 15
BEGIN
// PROMPT 41 5 "Contr. versato "
PROMPT 61 5 ""
FIELD LF_QUAA2->CONTRVER
PICTURE "."
END
NUMBER QA2F_CSSNINT 15
BEGIN
PROMPT 2 6 "18 Interessi "
FIELD LF_QUAA2->INTER18
PICTURE "."
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 8 "@bPRIMA RATA ACCONTO C.S.S.N. PER IL 1995 "
END
NUMBER QA2F_CSSNAIV 15
BEGIN
PROMPT 2 9 "19 Contrib.versato "
FIELD LF_QUAA2->CONTV19
PICTURE "."
GROUP G_ALL
END
NUMBER QA2F_CSSNAINT 15
BEGIN
PROMPT 41 9 "20 Interessi "
FIELD LF_QUAA2->INTE20
PICTURE "."
GROUP G_ALL
END
NUMBER QA2F_STCSSN 15
BEGIN
PROMPT 2 11 "21 Soprattasse su C.S.S.N. saldo 94 e prima rata acc.95 "
FIELD LF_QUAA2->SOPRAT21
PICTURE "."
GROUP G_ALL
END
STRING QA2F_730NLIQ 2
BEGIN
PROMPT 2 12 "22 Mod.730/95 non liquidabile "
SHEET "Codice|Descrizione@60"
INPUT QA2F_730NLIQ
ITEM "|"
ITEM "01|Errata o incomp. compilaz. dati anagr. e di res. del dich."
ITEM "02|Errata o incomp. compilaz. dati del coniuge e fam. a carico"
ITEM "03|Errata o incomp. compilaz. dati anagr. e di res. del coniuge"
ITEM "04|Errata o incomp. dichiaraz. q. A Mod.730/95 del dich."
ITEM "05|Errata o incomp. dichiaraz. q. A Mod.730/95 del coniuge"
ITEM "06|Errata o incomp. dichiaraz. q. B Mod.730/95 del dich."
ITEM "07|Errata o incomp. dichiaraz. q. B Mod.730/95 del coniuge"
ITEM "08|Errata o incomp. dichiaraz. q. C Mod.730/95 del dich."
ITEM "09|Errata o incomp. dichiaraz. q. D Mod.730/95 del dich."
ITEM "10|Errata o incomp. dichiaraz. q. E Mod.730/95 del dich."
ITEM "11|Errata o incomp. dichiaraz. q. E Mod.730/95 del coniuge"
ITEM "12|Errata o incomp. dichiaraz. q. F Mod.730/95 del dich."
ITEM "13|Errata o incomp. dichiaraz. q. F Mod.730/95 del coniuge"
FIELD LF_QUAA2->M730NLIQ
FLAGS "Z"
OUTPUT QA2F_730NLIQ
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 14 "@bDati identificativi del C.A.A.F che ha prestato assistenza "
END
NUMBER F_CODCAAF 5
BEGIN
PROMPT 2 15 "Codice "
FIELD LF_QUAA2->CODCAAF
USE %CAF
CHECKTYPE NORMAL
INPUT CODTAB F_CODCAAF
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0
DISPLAY "N.ro iscrizione" I1
DISPLAY "Codice fiscale@16" S1
OUTPUT F_CODCAAF CODTAB
OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1
GROUP G_ALL
END
STRING F_DENCAAF 50
BEGIN
PROMPT 26 15 ""
FLAGS "DU"
END
STRING F_CODFISCAAF 16
BEGIN
PROMPT 2 16 "23 Cod.fiscale "
FLAGS "D"
END
NUMBER F_NISCRA 5
BEGIN
PROMPT 50 16 "25 N.iscrizione albo "
FLAGS "D"
END
ENDPAGE
ENDMASK

@ -1,481 +1,474 @@
// 771310.cpp - Modello 770 - Gestione quadro L
#include <applicat.h>
#include <mask.h>
#include <msksheet.h>
#include <relapp.h>
#include <relation.h>
#include <tabutil.h>
#include <urldefid.h>
#include <config.h>
#include <utility.h>
#include <mailbox.h>
#include <execp.h>
#include "771310.h"
#include "774100.h"
#include "774200.h"
#include "77lib.h"
#include "scperc.h"
#include "rver.h"
#include "rpag.h"
#include "quadrol.h"
class M71310_application : public TRelation_application
{
TRelation* _rel;
TMask* _msk;
TGenera _app;
TConfig* _cnf;
int _anno;
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual TRelation* get_relation() const { return _rel; }
virtual TMask* get_mask(int mode) { return _msk; }
virtual bool changing_mask(int mode) {return FALSE; }
virtual void init_query_mode(TMask&);
virtual void init_modify_mode(TMask&);
virtual void init_insert_mode(TMask&);
virtual void on_config_change();
virtual int rewrite(const TMask& m);
virtual int write(const TMask& m);
void build_note(const TMask& m);
void set_field_note(TMask& m);
bool changed_anno_dic(TMask& m);
real arrotonda(const TMask& m);
static bool generazione (TMask_field& f, KEY k);
static bool genera_para (TMask_field& f, KEY k);
static bool tipo (TMask_field& f, KEY k);
static bool luogo (TMask_field& f, KEY k);
static bool auto_premi (TMask_field& f, KEY k);
static bool mese (TMask_field& f, KEY k);
static bool anno (TMask_field& f, KEY k);
static bool cod_tributo (TMask_field& f, KEY k);
static bool codditta_hnd(TMask_field& f, KEY k);
static bool artbil_hnd(TMask_field& f, KEY k);
public:
M71310_application() {}
};
M71310_application& app() { return (M71310_application&) main_app(); }
bool M71310_application::generazione(TMask_field& f , KEY k)
{
if (k == K_SPACE)
app()._app.set(get_firm_770(), app()._cnf);
return TRUE;
}
bool M71310_application::genera_para(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TString appname("776mod -4 d");
TExternal_app a(appname);
a.run();
f.mask().set_focus();
}
return TRUE;
}
bool M71310_application::codditta_hnd(TMask_field& f, KEY k)
{
if (k == K_TAB && !(f.mask().is_running()) )
{
TString16 codditta; codditta << get_firm_770();
if (codditta != "0")
{
f.set(codditta);
f.check();
}
}
return TRUE;
}
bool M71310_application::mese(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if (k == K_TAB || k == K_ENTER)
{
int mese = f.mask().get_int(F_QLMESEPAG);
if (mese == 0)
{
f.error_box("Il mese di pagamento deve essere indicato obbligatoriamente");
return FALSE;
}
}
return TRUE;
}
bool M71310_application::anno(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if ((k == K_TAB && f.mask().is_running()) || k == K_ENTER)
{
int anno = f.mask().get_int(F_QLANNOPAG);
if (anno == 0)
return f.error_box("L'anno di pagamento deve essere indicato obbligatoriamente");
}
return TRUE;
}
bool M71310_application::cod_tributo(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if ((k == K_TAB && f.mask().is_running()) || k == K_ENTER)
{
int tributo = f.mask().get_int(F_QLCODTRIB);
if (tributo == 0)
{
f.error_box("Il codice tributo deve essere indicato obbligatoriamente");
return FALSE;
}
}
return TRUE;
}
// "auto-premimento"
// Sia da F_ABI che da F_NUMERO
bool M71310_application::auto_premi(TMask_field& f, KEY k)
{
if (k == K_CTRL+K_TAB && f.mask().is_running())
{
f.set_dirty();
return TRUE;
}
// if (k == K_TAB && f.mask().is_running())
// f.mask().stop_run(K_AUTO_ENTER);
return TRUE;
}
bool M71310_application::tipo(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
TString16 tipo = m.get(F_QLTIPOVERS);
TString16 luogo = m.get(F_QLLUOVERS);
if (tipo.not_empty() && luogo.not_empty())
if (tipo == "D" && luogo == "T")
{
m.reset(-G_DISTINTA_TESORERIA);
m.disable(-G_DISTINTA_TESORERIA);
}
else
m.enable(-G_DISTINTA_TESORERIA);
}
return TRUE;
}
bool M71310_application::luogo(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
TString16 tipo = m.get(F_QLTIPOVERS);
TString16 luogo = m.get(F_QLLUOVERS);
if (tipo.not_empty())
if (tipo == "D" && luogo == "T")
{
m.reset(-G_DISTINTA_TESORERIA);
m.disable(-G_DISTINTA_TESORERIA);
}
else
m.enable(-G_DISTINTA_TESORERIA);
}
return TRUE;
}
// Tenta di mandare il focus al campo visibile invece che a quello
// nascosto
bool M71310_application::artbil_hnd(TMask_field& f , KEY k)
{
if (k == K_TAB)
{
TMask& m = f.mask();
const char tipo = m.get(F_QLTIPOVERS)[0];
const char luogo = m.get(F_QLLUOVERS)[0];
// Determina chi ha il focus in questo momento
TMask_field& fld = m.focus_field();
// Se il focus e' sull'ultimo campo prima di F_ABI
if (fld.dlg() == F_ARTBIL)
{
// WINDOW win;
// Determina chi ce lo dovrebbe avere dopo..
if (tipo == 'B')
{
TMask_field& fabi = m.field(F_ABI);
fabi.set_focus();
// win = m.field(F_ABI).win();
// m.set_focus_win(win, TRUE);
}
}
}
return TRUE;
}
void M71310_application::on_config_change()
{
TConfig conf(CONFIG_STUDIO);
_anno = (int) conf.get_long(ANNO_SEL);
}
// Determina se l'utente ha cambiato l'anno di dichiarazione
// impostato. Se si' non bisogna toccarlo
bool M71310_application::changed_anno_dic(TMask& m)
{
const int anno_corr = m.get_int(F_ANNODIC);
return anno_corr ? anno_corr != _anno : FALSE;
}
void M71310_application::init_insert_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.disable(F_ANNODIC);
m.disable(F_GENERA);
m.enable (F_QLRITEFF);
m.enable (F_QLRITVER);
m.enable (F_QLRSS);
//m.enable (F_QLNOTE);
m.enable (F_NOTEA);
m.enable (F_NOTEB);
m.enable (F_NOTEC);
m.enable (F_NOTED);
m.enable (F_NOTEE);
m.enable (F_NOTEF);
m.enable (F_NOTEG);
}
void M71310_application::init_query_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.enable(F_ANNODIC);
m.enable (F_GENERA);
m.disable(F_QLRITEFF);
m.disable(F_QLRITVER);
m.disable(F_QLRSS);
//m.disable(F_QLNOTE);
m.disable(F_NOTEA);
m.disable(F_NOTEB);
m.disable(F_NOTEC);
m.disable(F_NOTED);
m.disable(F_NOTEE);
m.disable(F_NOTEF);
m.disable(F_NOTEG);
}
void M71310_application::init_modify_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.disable(F_ANNODIC);
set_field_note(m);
m.disable(F_GENERA);
m.enable (F_QLRITEFF);
m.enable (F_QLRITVER);
m.enable (F_QLRSS);
//m.enable (F_QLNOTE);
m.enable (F_NOTEA);
m.enable (F_NOTEB);
m.enable (F_NOTEC);
m.enable (F_NOTED);
m.enable (F_NOTEE);
m.enable (F_NOTEF);
m.enable (F_NOTEG);
}
void M71310_application::set_field_note(TMask& m)
{
TString note = _rel->lfile().get(QUL_QLNOTE);
if (note != "")
{
char A,B,C,D,E,F,G;
int p = note.len() - 1;
A = note[0];
if (p >= 1)
B = note[1];
if (p >= 2)
C = note[2];
if (p >= 3)
D = note[3];
if (p >= 4)
E = note[4];
if (p >= 5)
F = note[5];
if (p >= 6)
G = note[6];
if (A == 'A')
m.set(F_NOTEA, "X");
if (B == 'B')
m.set(F_NOTEB, "X");
if (C == 'C')
m.set(F_NOTEC, "X");
if (D == 'D')
m.set(F_NOTED, "X");
if (E == 'E')
m.set(F_NOTEE, "X");
if (F == 'F')
m.set(F_NOTEF, "X");
if (G == 'G')
m.set(F_NOTEG, "X");
}
}
void M71310_application::build_note(const TMask& m)
{
char A = m.get(F_NOTEA)[0];
char B = m.get(F_NOTEB)[0];
char C = m.get(F_NOTEC)[0];
char D = m.get(F_NOTED)[0];
char E = m.get(F_NOTEE)[0];
char F = m.get(F_NOTEF)[0];
char G = m.get(F_NOTEG)[0];
TString16 note;
if (A == 'X')
note[0] = 'A';
else
note[0] = ' ';
if (B == 'X')
note[1] = 'B';
else
note[1] = ' ';
if (C == 'X')
note[2] = 'C';
else
note[2] = ' ';
if (D == 'X')
note[3] = 'D';
else
note[3] = ' ';
if (E == 'X')
note[4] = 'E';
else
note[4] = ' ';
if (F == 'X')
note[5] = 'F';
else
note[5] = ' ';
if (G == 'X')
note[6] = 'G';
else
note[6] = ' ';
note [7] = '\0';
_rel->lfile().put(QUL_QLNOTE, note);
}
// Arrotonda l'importo versato
real M71310_application::arrotonda(const TMask& m)
{
real rImpVers = m.get_real(F_QLRITVER);
real rImpArr = round_770(rImpVers);
return rImpArr;
}
int M71310_application::rewrite(const TMask& m)
{
real rImpVersArr;
build_note(m);
m.autosave(*_rel);
rImpVersArr = arrotonda(m);
_rel->lfile().put(QUL_QLRITVER, rImpVersArr);
return _rel->rewrite();
}
int M71310_application::write(const TMask& m)
{
real rImpVersArr;
build_note(m);
m.autosave(*_rel);
rImpVersArr = arrotonda(m);
_rel->lfile().put(QUL_QLRITVER, rImpVersArr);
return _rel->write();
}
bool M71310_application::user_create()
{
_cnf = new TConfig(CONFIG_STUDIO);
_rel = new TRelation (LF_QUAL);
_msk = new TMask("771310a");
set_search_field(F_QLANNOPAG);
_msk->set_handler (F_GENERA, generazione);
_msk->set_handler (F_PARAMETRI, genera_para);
_msk->set_handler (F_CODDITTA, codditta_hnd);
_msk->set_handler (F_QLTIPOVERS, tipo);
_msk->set_handler (F_QLLUOVERS, luogo);
_msk->set_handler (F_QLMESEPAG, mese);
_msk->set_handler (F_QLANNOPAG, anno);
_msk->set_handler (F_QLCODTRIB, cod_tributo);
_msk->set_handler (F_QLNUMERO, auto_premi);
_msk->set_handler (F_CCQUIETANZA, auto_premi);
_msk->set_handler (F_NPROG, auto_premi);
_msk->set_handler (F_ARTBIL, artbil_hnd);
return TRUE;
}
bool M71310_application::user_destroy()
{
delete _msk;
delete _rel;
delete _cnf;
return TRUE;
}
int m71310(int argc, char* argv[])
{
M71310_application a;
a.run(argc, argv, "Quadro L");
return 0;
}
// 771310.cpp - Modello 770 - Gestione quadro L
#include <applicat.h>
#include <mask.h>
#include <msksheet.h>
#include <relapp.h>
#include <relation.h>
#include <tabutil.h>
#include <urldefid.h>
#include <config.h>
#include <utility.h>
#include <mailbox.h>
#include <execp.h>
#include "771310.h"
#include "774100.h"
#include "774200.h"
#include "77lib.h"
#include "scperc.h"
#include "rver.h"
#include "rpag.h"
#include "quadrol.h"
class M71310_application : public TRelation_application
{
TRelation* _rel;
TMask* _msk;
TGenera _app;
TConfig* _cnf;
int _anno;
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual TRelation* get_relation() const { return _rel; }
virtual TMask* get_mask(int mode) { return _msk; }
virtual bool changing_mask(int mode) {return FALSE; }
virtual void init_query_mode(TMask&);
virtual void init_modify_mode(TMask&);
virtual void init_insert_mode(TMask&);
virtual void on_config_change();
virtual int rewrite(const TMask& m);
virtual int write(const TMask& m);
void build_note(const TMask& m);
void set_field_note(TMask& m);
bool changed_anno_dic(TMask& m);
real arrotonda(const TMask& m);
static bool generazione (TMask_field& f, KEY k);
static bool genera_para (TMask_field& f, KEY k);
static bool tipo (TMask_field& f, KEY k);
static bool luogo (TMask_field& f, KEY k);
static bool auto_premi (TMask_field& f, KEY k);
static bool mese (TMask_field& f, KEY k);
static bool anno (TMask_field& f, KEY k);
static bool cod_tributo (TMask_field& f, KEY k);
static bool codditta_hnd(TMask_field& f, KEY k);
static bool artbil_hnd(TMask_field& f, KEY k);
public:
M71310_application() {}
};
M71310_application& app() { return (M71310_application&) main_app(); }
bool M71310_application::generazione(TMask_field& f , KEY k)
{
if (k == K_SPACE)
app()._app.set(get_firm_770(), app()._cnf);
return TRUE;
}
bool M71310_application::genera_para(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TString appname("776mod -4 d");
TExternal_app a(appname);
a.run();
f.mask().set_focus();
}
return TRUE;
}
bool M71310_application::codditta_hnd(TMask_field& f, KEY k)
{
if (k == K_TAB && !(f.mask().is_running()) )
{
TString16 codditta; codditta << get_firm_770();
if (codditta != "0")
{
f.set(codditta);
f.check();
}
}
return TRUE;
}
bool M71310_application::mese(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if (k == K_TAB || k == K_ENTER)
{
int mese = f.mask().get_int(F_QLMESEPAG);
if (mese == 0)
return f.error_box("Il mese di pagamento deve essere indicato obbligatoriamente");
}
return TRUE;
}
bool M71310_application::anno(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if ((k == K_TAB && f.mask().is_running()) || k == K_ENTER)
{
int anno = f.mask().get_int(F_QLANNOPAG);
if (anno == 0)
return f.error_box("L'anno di pagamento deve essere indicato obbligatoriamente");
}
return TRUE;
}
bool M71310_application::cod_tributo(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if ((k == K_TAB && f.mask().is_running()) || k == K_ENTER)
{
int tributo = f.mask().get_int(F_QLCODTRIB);
if (tributo == 0)
return f.error_box("Il codice tributo deve essere indicato obbligatoriamente");
}
return TRUE;
}
// "auto-premimento"
// Sia da F_ABI che da F_NUMERO
bool M71310_application::auto_premi(TMask_field& f, KEY k)
{
if (k == K_CTRL+K_TAB && f.mask().is_running())
{
f.set_dirty();
return TRUE;
}
// if (k == K_TAB && f.mask().is_running())
// f.mask().stop_run(K_AUTO_ENTER);
return TRUE;
}
bool M71310_application::tipo(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
TString16 tipo = m.get(F_QLTIPOVERS);
TString16 luogo = m.get(F_QLLUOVERS);
if (tipo.not_empty() && luogo.not_empty())
if (tipo == "D" && luogo == "T")
{
m.reset(-G_DISTINTA_TESORERIA);
m.disable(-G_DISTINTA_TESORERIA);
}
else
m.enable(-G_DISTINTA_TESORERIA);
}
return TRUE;
}
bool M71310_application::luogo(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
TString16 tipo = m.get(F_QLTIPOVERS);
TString16 luogo = m.get(F_QLLUOVERS);
if (tipo.not_empty())
if (tipo == "D" && luogo == "T")
{
m.reset(-G_DISTINTA_TESORERIA);
m.disable(-G_DISTINTA_TESORERIA);
}
else
m.enable(-G_DISTINTA_TESORERIA);
}
return TRUE;
}
// Tenta di mandare il focus al campo visibile invece che a quello
// nascosto
bool M71310_application::artbil_hnd(TMask_field& f , KEY k)
{
if (k == K_TAB)
{
TMask& m = f.mask();
const char tipo = m.get(F_QLTIPOVERS)[0];
const char luogo = m.get(F_QLLUOVERS)[0];
// Determina chi ha il focus in questo momento
TMask_field& fld = m.focus_field();
// Se il focus e' sull'ultimo campo prima di F_ABI
if (fld.dlg() == F_ARTBIL)
{
// WINDOW win;
// Determina chi ce lo dovrebbe avere dopo..
if (tipo == 'B')
{
TMask_field& fabi = m.field(F_ABI);
fabi.set_focus();
// win = m.field(F_ABI).win();
// m.set_focus_win(win, TRUE);
}
}
}
return TRUE;
}
void M71310_application::on_config_change()
{
TConfig conf(CONFIG_STUDIO);
_anno = (int) conf.get_long(ANNO_SEL);
}
// Determina se l'utente ha cambiato l'anno di dichiarazione
// impostato. Se si' non bisogna toccarlo
bool M71310_application::changed_anno_dic(TMask& m)
{
const int anno_corr = m.get_int(F_ANNODIC);
return anno_corr ? anno_corr != _anno : FALSE;
}
void M71310_application::init_insert_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.disable(F_ANNODIC);
m.disable(F_GENERA);
m.enable (F_QLRITEFF);
m.enable (F_QLRITVER);
m.enable (F_QLRSS);
//m.enable (F_QLNOTE);
m.enable (F_NOTEA);
m.enable (F_NOTEB);
m.enable (F_NOTEC);
m.enable (F_NOTED);
m.enable (F_NOTEE);
m.enable (F_NOTEF);
m.enable (F_NOTEG);
}
void M71310_application::init_query_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.enable(F_ANNODIC);
m.enable (F_GENERA);
m.disable(F_QLRITEFF);
m.disable(F_QLRITVER);
m.disable(F_QLRSS);
//m.disable(F_QLNOTE);
m.disable(F_NOTEA);
m.disable(F_NOTEB);
m.disable(F_NOTEC);
m.disable(F_NOTED);
m.disable(F_NOTEE);
m.disable(F_NOTEF);
m.disable(F_NOTEG);
}
void M71310_application::init_modify_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.disable(F_ANNODIC);
set_field_note(m);
m.disable(F_GENERA);
m.enable (F_QLRITEFF);
m.enable (F_QLRITVER);
m.enable (F_QLRSS);
//m.enable (F_QLNOTE);
m.enable (F_NOTEA);
m.enable (F_NOTEB);
m.enable (F_NOTEC);
m.enable (F_NOTED);
m.enable (F_NOTEE);
m.enable (F_NOTEF);
m.enable (F_NOTEG);
}
void M71310_application::set_field_note(TMask& m)
{
TString note = _rel->lfile().get(QUL_QLNOTE);
if (note != "")
{
char A,B,C,D,E,F,G;
int p = note.len() - 1;
A = note[0];
if (p >= 1)
B = note[1];
if (p >= 2)
C = note[2];
if (p >= 3)
D = note[3];
if (p >= 4)
E = note[4];
if (p >= 5)
F = note[5];
if (p >= 6)
G = note[6];
if (A == 'A')
m.set(F_NOTEA, "X");
if (B == 'B')
m.set(F_NOTEB, "X");
if (C == 'C')
m.set(F_NOTEC, "X");
if (D == 'D')
m.set(F_NOTED, "X");
if (E == 'E')
m.set(F_NOTEE, "X");
if (F == 'F')
m.set(F_NOTEF, "X");
if (G == 'G')
m.set(F_NOTEG, "X");
}
}
void M71310_application::build_note(const TMask& m)
{
char A = m.get(F_NOTEA)[0];
char B = m.get(F_NOTEB)[0];
char C = m.get(F_NOTEC)[0];
char D = m.get(F_NOTED)[0];
char E = m.get(F_NOTEE)[0];
char F = m.get(F_NOTEF)[0];
char G = m.get(F_NOTEG)[0];
TString16 note;
if (A == 'X')
note[0] = 'A';
else
note[0] = ' ';
if (B == 'X')
note[1] = 'B';
else
note[1] = ' ';
if (C == 'X')
note[2] = 'C';
else
note[2] = ' ';
if (D == 'X')
note[3] = 'D';
else
note[3] = ' ';
if (E == 'X')
note[4] = 'E';
else
note[4] = ' ';
if (F == 'X')
note[5] = 'F';
else
note[5] = ' ';
if (G == 'X')
note[6] = 'G';
else
note[6] = ' ';
note [7] = '\0';
_rel->lfile().put(QUL_QLNOTE, note);
}
// Arrotonda l'importo versato
real M71310_application::arrotonda(const TMask& m)
{
real rImpVers = m.get_real(F_QLRITVER);
real rImpArr = round_770(rImpVers);
return rImpArr;
}
int M71310_application::rewrite(const TMask& m)
{
real rImpVersArr;
build_note(m);
m.autosave(*_rel);
rImpVersArr = arrotonda(m);
_rel->lfile().put(QUL_QLRITVER, rImpVersArr);
return _rel->rewrite();
}
int M71310_application::write(const TMask& m)
{
real rImpVersArr;
build_note(m);
m.autosave(*_rel);
rImpVersArr = arrotonda(m);
_rel->lfile().put(QUL_QLRITVER, rImpVersArr);
return _rel->write();
}
bool M71310_application::user_create()
{
_cnf = new TConfig(CONFIG_STUDIO);
_rel = new TRelation (LF_QUAL);
_msk = new TMask("771310a");
set_search_field(F_QLANNOPAG);
_msk->set_handler (F_GENERA, generazione);
_msk->set_handler (F_PARAMETRI, genera_para);
_msk->set_handler (F_CODDITTA, codditta_hnd);
_msk->set_handler (F_QLTIPOVERS, tipo);
_msk->set_handler (F_QLLUOVERS, luogo);
_msk->set_handler (F_QLMESEPAG, mese);
_msk->set_handler (F_QLANNOPAG, anno);
_msk->set_handler (F_QLCODTRIB, cod_tributo);
_msk->set_handler (F_QLNUMERO, auto_premi);
_msk->set_handler (F_CCQUIETANZA, auto_premi);
_msk->set_handler (F_NPROG, auto_premi);
_msk->set_handler (F_ARTBIL, artbil_hnd);
return TRUE;
}
bool M71310_application::user_destroy()
{
delete _msk;
delete _rel;
delete _cnf;
return TRUE;
}
int m71310(int argc, char* argv[])
{
M71310_application a;
a.run(argc, argv, "Quadro L");
return 0;
}

@ -1,337 +1,338 @@
// 771310a.uml - Quadro L
#include "771310.h"
TOOLBAR "" 0 18 0 4
BUTTON F_GENERA 21 2
BEGIN
PROMPT -13 -3 "~Generazione"
END
BUTTON F_PARAMETRI 21 2
BEGIN
PROMPT -23 -3 "~Parametri Generazione"
END
#include <toolbar.h>
ENDPAGE
PAGE "Quadro L" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RDG"
USE LF_NDITTE KEY 1
FIELD LF_QUAL->CODDITTA
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_RAGSOC RAGSOC
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 7
BEGIN
PROMPT 0 5 ""
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
END
NUMBER F_QLANNOPAG 4
BEGIN
PROMPT 2 6 "Anno pagamento "
USE LF_QUAL KEY 1 SELECT ((CODDITTA=#F_CODDITTA) && (QLAP=#F_ANNODIC))
INPUT CODDITTA F_CODDITTA
INPUT QLAP F_QLANNOPAG
DISPLAY "A.P." QLAP
DISPLAY "M.P." QLMP
DISPLAY "Ritenute@15" QLRITEFF
DISPLAY "Importo versato" QLRITVER
DISPLAY "L.V." QLLV
DISPLAY "T.V." QLTV
DISPLAY "C.T." QLCT
DISPLAY "Art.Bil." QLAB
DISPLAY "Data Vers." QLDV
DISPLAY "Serie/ABI" QLSERIE
DISPLAY "Numero/CAB@11" QLNUMERO
DISPLAY "Rss" QLRSS
DISPLAY "Note@7" QLNOTE
OUTPUT F_QLDATAVERS QLDV
OUTPUT F_QLMESEPAG QLMP
OUTPUT F_QLANNOPAG QLAP
OUTPUT F_QLLUOVERS QLLV
OUTPUT F_QLTIPOVERS QLTV
OUTPUT F_QLCODTRIB QLCT
OUTPUT F_ARTBIL QLAB
OUTPUT F_QLSERIE QLSERIE
OUTPUT F_ABI QLSERIE
OUTPUT F_CAB QLNUMERO[1,5]
OUTPUT F_NPROG QLNUMERO[6,11]
OUTPUT F_QLNUMERO QLNUMERO
OUTPUT F_CCQUIETANZA QLNUMERO
FIELD LF_QUAL->QLAP
FLAGS "R"
VALIDATE FIXLEN_FUNC 4
WARNING "L'anno deve essere indicato per esteso"
KEY 1
END
LIST F_QLMESEPAG 2 13
BEGIN
PROMPT 45 6 "Mese pagamento "
FIELD LF_QUAL->QLMP
ITEM " |Indefinito"
FLAGS "M"
KEY 1
END
DATE F_QLDATAVERS
BEGIN
PROMPT 2 7 "Data versamento "
FIELD LF_QUAL->QLDV
KEY 1
END
LIST F_QLLUOVERS 11
BEGIN
PROMPT 45 7 "Luogo versamento "
ITEM " |Nessuno"
ITEM "C|Concessione"
ITEM "T|Tesoreria"
FIELD LF_QUAL->QLLV
KEY 1
END
LIST F_QLTIPOVERS 15
BEGIN
PROMPT 2 8 "Tipo versamento "
// ITEM " |Nessuno"
// MESSAGE HIDE,G_ABICAB@|HIDE,G_DISTINTA@|HIDE,G_CC@
ITEM "B|Delega bancaria"
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_ABICAB@
ITEM "D|Distinta"
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_ABICAB@|HIDE,G_ABICAB@|SHOW,G_DISTINTA@
ITEM "C|C/C Postale"
MESSAGE RESET,G_ABICAB@|HIDE,G_ABICAB@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_CC@
FIELD LF_QUAL->QLTV
KEY 1
END
NUMBER F_QLCODTRIB 4
BEGIN
PROMPT 45 8 "Codice tributo "
FIELD LF_QUAL->QLCT
KEY 1
END
NUMBER F_ARTBIL 2
BEGIN
PROMPT 2 9 "Articolo di bilancio "
FIELD LF_QUAL->QLAB
KEY 1
END
TEXT DLG_NULL
BEGIN
PROMPT 2 10 "Serie "
GROUP G_DISTINTA G_DISTINTA_TESORERIA
END
TEXT DLG_NULL
BEGIN
PROMPT 45 10 "Numero "
GROUP G_DISTINTA
END
TEXT DLG_NULL
BEGIN
PROMPT 45 10 "Quietanza "
GROUP G_CC
END
TEXT DLG_NULL
BEGIN
PROMPT 2 10 "Codice ABI "
GROUP G_ABICAB
END
TEXT DLG_NULL
BEGIN
PROMPT 45 10 "Codice CAB "
GROUP G_ABICAB
END
STRING F_QLSERIE 5
BEGIN
PROMPT 23 10 ""
FIELD LF_QUAL->QLSERIE
GROUP G_DISTINTA G_DISTINTA_TESORERIA
KEY 1
END
STRING F_QLNUMERO 11
BEGIN
PROMPT 62 10 ""
FIELD LF_QUAL->QLNUMERO
GROUP G_DISTINTA
KEY 1
END
STRING F_CCQUIETANZA 11
BEGIN
PROMPT 62 10 ""
FIELD LF_QUAL->QLNUMERO
GROUP G_CC
KEY 1
END
NUMBER F_ABI 5
BEGIN
PROMPT 23 10 ""
FIELD LF_QUAL->QLSERIE
FLAGS "Z"
GROUP G_ABICAB
KEY 1
END
NUMBER F_CAB 5
BEGIN
PROMPT 62 10 ""
FIELD LF_QUAL->QLNUMERO[1,5]
FLAGS "Z"
GROUP G_ABICAB
KEY 1
END
NUMBER F_NPROG 6
BEGIN
PROMPT 68 10 ""
FIELD LF_QUAL->QLNUMERO[6,11]
FLAGS "Z"
GROUP G_ABICAB
KEY 1
END
LIST F_QUADRO 2
BEGIN
PROMPT 0 12 "Codice quadro "
HELP "Inserire il codice quadro"
ITEM "| "
ITEM "A|A"
ITEM "B|B"
ITEM "B1|B1"
ITEM "C|C"
ITEM "D|D"
ITEM "D1|D1"
ITEM "E|E"
ITEM "E1|E1"
ITEM "G|G"
ITEM "G1|G1"
FIELD LF_QUAL->QLCODQUA
END
TEXT DLG_NULL
BEGIN
PROMPT 0 13 "Somme assoggettate a ritenuta:"
END
TEXT DLG_NULL
BEGIN
PROMPT 0 14 "Rit. Effettuate"
END
NUMBER F_QLRITEFF 15
BEGIN
PROMPT 0 15 ""
FIELD LF_QUAL->QLRITEFF
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT 17 14 "Importo versato"
END
NUMBER F_QLRITVER 15
BEGIN
PROMPT 17 15 ""
FIELD LF_QUAL->QLRITVER
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT 37 14 "RSS"
END
LIST F_QLRSS 7
BEGIN
PROMPT 34 15 ""
ITEM " |Nessuna"
ITEM "1|VA"
ITEM "2|SA"
ITEM "3|SI"
FIELD LF_QUAL->QLRSS
END
TEXT DLG_NULL
BEGIN
PROMPT 58 14 "Note"
END
BOOLEAN F_NOTEA
BEGIN
PROMPT 45 15 "A"
END
BOOLEAN F_NOTEB
BEGIN
PROMPT 50 15 "B"
END
BOOLEAN F_NOTEC
BEGIN
PROMPT 55 15 "C"
END
BOOLEAN F_NOTED
BEGIN
PROMPT 60 15 "D"
END
BOOLEAN F_NOTEE
BEGIN
PROMPT 65 15 "E"
END
BOOLEAN F_NOTEF
BEGIN
PROMPT 70 15 "F"
END
BOOLEAN F_NOTEG
BEGIN
PROMPT 75 15 "G"
END
ENDPAGE
ENDMASK
// 771310a.uml - Quadro L
#include "771310.h"
TOOLBAR "" 0 18 0 4
BUTTON F_GENERA 21 2
BEGIN
PROMPT -13 -3 "~Generazione"
END
BUTTON F_PARAMETRI 21 2
BEGIN
PROMPT -23 -3 "~Parametri Generazione"
END
#include <toolbar.h>
ENDPAGE
PAGE "Quadro L" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RDG"
USE LF_NDITTE KEY 1
FIELD LF_QUAL->CODDITTA
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_RAGSOC RAGSOC
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 7
BEGIN
PROMPT 0 5 ""
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
END
NUMBER F_QLANNOPAG 4
BEGIN
PROMPT 2 6 "Anno pagamento "
USE LF_QUAL KEY 1 SELECT ((CODDITTA=#F_CODDITTA) && (QLAP=#F_ANNODIC))
INPUT CODDITTA F_CODDITTA
INPUT QLAP F_QLANNOPAG
DISPLAY "A.P." QLAP
DISPLAY "M.P." QLMP
DISPLAY "Ritenute@15" QLRITEFF
DISPLAY "Importo versato" QLRITVER
DISPLAY "L.V." QLLV
DISPLAY "T.V." QLTV
DISPLAY "C.T." QLCT
DISPLAY "Art.Bil." QLAB
DISPLAY "Data Vers." QLDV
DISPLAY "Serie/ABI" QLSERIE
DISPLAY "Numero/CAB@11" QLNUMERO
DISPLAY "Rss" QLRSS
DISPLAY "Note@7" QLNOTE
OUTPUT F_QLDATAVERS QLDV
OUTPUT F_QLMESEPAG QLMP
OUTPUT F_QLANNOPAG QLAP
OUTPUT F_QLLUOVERS QLLV
OUTPUT F_QLTIPOVERS QLTV
OUTPUT F_QLCODTRIB QLCT
OUTPUT F_ARTBIL QLAB
OUTPUT F_QLSERIE QLSERIE
OUTPUT F_ABI QLSERIE
OUTPUT F_CAB QLNUMERO[1,5]
OUTPUT F_NPROG QLNUMERO[6,11]
OUTPUT F_QLNUMERO QLNUMERO
OUTPUT F_CCQUIETANZA QLNUMERO
FIELD LF_QUAL->QLAP
FLAGS "R"
VALIDATE FIXLEN_FUNC 4
WARNING "L'anno deve essere indicato per esteso"
KEY 1
END
LIST F_QLMESEPAG 2 13
BEGIN
PROMPT 45 6 "Mese pagamento "
FIELD LF_QUAL->QLMP
ITEM " |Indefinito"
FLAGS "M"
KEY 1
END
DATE F_QLDATAVERS
BEGIN
PROMPT 2 7 "Data versamento "
FIELD LF_QUAL->QLDV
KEY 1
END
LIST F_QLLUOVERS 11
BEGIN
PROMPT 45 7 "Luogo versamento "
ITEM " |Nessuno"
ITEM "C|Concessione"
ITEM "T|Tesoreria"
FIELD LF_QUAL->QLLV
KEY 1
END
LIST F_QLTIPOVERS 15
BEGIN
PROMPT 2 8 "Tipo versamento "
ITEM " |Nessuno"
MESSAGE HIDE,G_ABICAB@|HIDE,G_DISTINTA@|HIDE,G_CC@
ITEM "B|Delega bancaria"
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_ABICAB@
ITEM "D|Distinta"
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_ABICAB@|HIDE,G_ABICAB@|SHOW,G_DISTINTA@
ITEM "C|C/C Postale"
MESSAGE RESET,G_ABICAB@|HIDE,G_ABICAB@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_CC@
FIELD LF_QUAL->QLTV
KEY 1
END
NUMBER F_QLCODTRIB 4
BEGIN
PROMPT 45 8 "Codice tributo "
FIELD LF_QUAL->QLCT
KEY 1
CHECKTYPE REQUIRED
END
NUMBER F_ARTBIL 2
BEGIN
PROMPT 2 9 "Articolo di bilancio "
FIELD LF_QUAL->QLAB
KEY 1
END
TEXT DLG_NULL
BEGIN
PROMPT 2 10 "Serie "
GROUP G_DISTINTA G_DISTINTA_TESORERIA
END
TEXT DLG_NULL
BEGIN
PROMPT 45 10 "Numero "
GROUP G_DISTINTA
END
TEXT DLG_NULL
BEGIN
PROMPT 45 10 "Quietanza "
GROUP G_CC
END
TEXT DLG_NULL
BEGIN
PROMPT 2 10 "Codice ABI "
GROUP G_ABICAB
END
TEXT DLG_NULL
BEGIN
PROMPT 45 10 "Codice CAB "
GROUP G_ABICAB
END
STRING F_QLSERIE 5
BEGIN
PROMPT 23 10 ""
FIELD LF_QUAL->QLSERIE
GROUP G_DISTINTA G_DISTINTA_TESORERIA
KEY 1
END
STRING F_QLNUMERO 11
BEGIN
PROMPT 62 10 ""
FIELD LF_QUAL->QLNUMERO
GROUP G_DISTINTA
KEY 1
END
STRING F_CCQUIETANZA 11
BEGIN
PROMPT 62 10 ""
FIELD LF_QUAL->QLNUMERO
GROUP G_CC
KEY 1
END
NUMBER F_ABI 5
BEGIN
PROMPT 23 10 ""
FIELD LF_QUAL->QLSERIE
FLAGS "Z"
GROUP G_ABICAB
KEY 1
END
NUMBER F_CAB 5
BEGIN
PROMPT 62 10 ""
FIELD LF_QUAL->QLNUMERO[1,5]
FLAGS "Z"
GROUP G_ABICAB
KEY 1
END
NUMBER F_NPROG 6
BEGIN
PROMPT 68 10 ""
FIELD LF_QUAL->QLNUMERO[6,11]
FLAGS "Z"
GROUP G_ABICAB
KEY 1
END
LIST F_QUADRO 2
BEGIN
PROMPT 0 12 "Codice quadro "
HELP "Inserire il codice quadro"
ITEM "| "
ITEM "A|A"
ITEM "B|B"
ITEM "B1|B1"
ITEM "C|C"
ITEM "D|D"
ITEM "D1|D1"
ITEM "E|E"
ITEM "E1|E1"
ITEM "G|G"
ITEM "G1|G1"
FIELD LF_QUAL->QLCODQUA
END
TEXT DLG_NULL
BEGIN
PROMPT 0 13 "Somme assoggettate a ritenuta:"
END
TEXT DLG_NULL
BEGIN
PROMPT 0 14 "Rit. Effettuate"
END
NUMBER F_QLRITEFF 15
BEGIN
PROMPT 0 15 ""
FIELD LF_QUAL->QLRITEFF
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT 17 14 "Importo versato"
END
NUMBER F_QLRITVER 15
BEGIN
PROMPT 17 15 ""
FIELD LF_QUAL->QLRITVER
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT 37 14 "RSS"
END
LIST F_QLRSS 7
BEGIN
PROMPT 34 15 ""
ITEM " |Nessuna"
ITEM "1|VA"
ITEM "2|SA"
ITEM "3|SI"
FIELD LF_QUAL->QLRSS
END
TEXT DLG_NULL
BEGIN
PROMPT 58 14 "Note"
END
BOOLEAN F_NOTEA
BEGIN
PROMPT 45 15 "A"
END
BOOLEAN F_NOTEB
BEGIN
PROMPT 50 15 "B"
END
BOOLEAN F_NOTEC
BEGIN
PROMPT 55 15 "C"
END
BOOLEAN F_NOTED
BEGIN
PROMPT 60 15 "D"
END
BOOLEAN F_NOTEE
BEGIN
PROMPT 65 15 "E"
END
BOOLEAN F_NOTEF
BEGIN
PROMPT 70 15 "F"
END
BOOLEAN F_NOTEG
BEGIN
PROMPT 75 15 "G"
END
ENDPAGE
ENDMASK

@ -100,7 +100,7 @@ public:
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&);
// D = stampa ditta, S = stampa a livello di studio
TSt_certif(char livello='D') : _intesta(TRUE), _liv(toupper(livello)) {}
virtual ~TSt_certif() {}
@ -591,8 +591,23 @@ bool TSt_certif::init_print()
msk.set_handler (F_A, mese_handler);
msk.set_handler (F_CODDITTA, codditta_hnd);
//msk.set(F_ANNO, _anno_dic);
// precarica campi maschera con valori di default
_nditte->setkey(1);
_nditte->zero();
_nditte->put(NDT_CODDITTA, get_firm_770());
if (_nditte->read() == NOERR)
{
// precarico luogo
TToken_string address = get_anag_address(_nditte->get_char(NDT_TIPOA),
_nditte->get_long(NDT_CODANAGR));
msk.set(F_LUOGO, address.get(0));
}
// precarico numero attestazione
msk.set(F_ATTESTA,1);
// esecuzione maschera
tasto = msk.run();
if (tasto == K_ENTER)

@ -33,7 +33,7 @@ BEGIN
FLAGS "A"
END
STRING F_LUOGO 36
STRING F_LUOGO 50 36
BEGIN
PROMPT 33 3 "Luogo "
END

File diff suppressed because it is too large Load Diff

@ -1,55 +1,55 @@
#ifndef __774100_H
#define __774100_H
#include <mailbox.h>
#include "77lib.h"
// Usato in generazione per evitare di leggere due volte lo stesso versamento
class TVersamenti : public TAssoc_array
{
TString80 _key;
public:
bool find (TSchedaP& sch, const long numvers);
void set (TSchedaP& scheda, const long numvers);
TVersamenti() {}
};
bool filter_func (const TRelation *);
class TGenera
{
friend bool filter_func (const TRelation *);
TVersamenti* _righe_gia_presenti;
TRecnotype _items_rpag;
int _annodic,_annopag,_mesepag,_causale,_artbil;
int _ab1015, _ct1015, _codtrib;
long _codditta;
real _riteff,_ritver;
TDate _datavers;
char _luovers,_tipover;
TString _serie,_numero,_codqua,_cq1015,_rss,_note,_sNprog;
bool _ver1015;
bool azzera_quadroL();
bool causale1015 (int codcaus);
void causale (int causale);
void genera_riga (TCursor*);
void dati_rver (TLocalisamfile&, TSchedaP& scheda, long numvers);
void dati_scperc (TSchedaP& scheda);
int controllo_parametri();
public:
bool set(const long codditta, TConfig* cnf, const char* section="77");
void arrotonda();
TGenera() : _annodic(0),_annopag(0),_mesepag(0),_causale(0),_artbil(0),
_ab1015(0), _ct1015(0), _codtrib(0) {}
virtual ~TGenera() {}
};
#endif
#ifndef __774100_H
#define __774100_H
#include <mailbox.h>
#include "77lib.h"
// Usato in generazione per evitare di leggere due volte lo stesso versamento
class TVersamenti : public TAssoc_array
{
TString80 _key;
public:
bool find (TSchedaP& sch, const long numvers);
void set (TSchedaP& scheda, const long numvers);
TVersamenti() {}
};
bool filter_func(const TRelation *);
class TGenera
{
friend bool filter_func(const TRelation *);
TVersamenti* _righe_gia_presenti;
TRecnotype _items_rpag;
int _annodic,_annopag,_mesepag,_causale,_artbil;
int _ab1015, _ct1015, _codtrib;
long _codditta;
real _riteff,_ritver;
TDate _datavers;
char _luovers,_tipover;
TString _serie,_numero,_codqua,_cq1015,_rss,_note,_sNprog;
bool _ver1015;
bool azzera_quadroL();
bool causale1015 (int codcaus);
void causale (int causale);
void genera_riga (TCursor*);
void dati_rver (TLocalisamfile&, TSchedaP& scheda, long numvers);
void dati_scperc (TSchedaP& scheda);
int controllo_parametri();
public:
bool set(const long codditta, TConfig* cnf, const char* section="77");
void arrotonda();
TGenera() : _annodic(0),_annopag(0),_mesepag(0),_causale(0),_artbil(0),
_ab1015(0), _ct1015(0), _codtrib(0) {}
virtual ~TGenera() {}
};
#endif

File diff suppressed because it is too large Load Diff

@ -366,16 +366,18 @@ if (k == K_SPACE)
{
if (f.dlg() == DLG_MANUTENZ) // enter su menu
{ // dati anagrafici
f.mask().hide(-MENU_MAIN);
f.mask().hide(-MENU_MAIN);
f.mask().show(-MENU_DATIANAG);
f.mask().set_focus_field(DLG_STOPREC_DICH);
f.mask().set_caption("Manutenzione dati anagrafici");
return TRUE;
}
if (f.dlg() == DLG_STOPREC_ST) // enter su menu
{ // stampe
f.mask().hide(-MENU_MAIN);
f.mask().show(-MENU_STAMPE);
f.mask().set_focus_field(DLG_STOPREC_ST0);
f.mask().set_focus_field(DLG_STOPREC_ST0);
f.mask().set_caption("Stampe");
return TRUE;
}
if (f.dlg() == DLG_STOPREC_SD) // enter su menu
@ -383,6 +385,7 @@ if (k == K_SPACE)
f.mask().hide(-MENU_MAIN);
f.mask().show(-MENU_SOGGDICH);
f.mask().set_focus_field(DLG_STOPREC_SD0);
f.mask().set_caption("Soggetto dichiarante");
return TRUE;
}
if (f.dlg() == DLG_STOPREC_STQD) // enter su menu
@ -390,6 +393,7 @@ if (k == K_SPACE)
f.mask().hide(-MENU_STAMPE);
f.mask().show(-MENU_STAMPEDICH);
f.mask().set_focus_field(B_BASE);
f.mask().set_caption("Stampe dichiarazioni");
return TRUE;
}
return FALSE;
@ -406,20 +410,23 @@ bool TManutenzione_quadri::hide_menu(TMask_field& f, KEY k)
f.mask().hide(-MENU_DATIANAG);
f.mask().show(-MENU_MAIN);
f.mask().first_focus(DLG_MANUTENZ);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE;
}
if (f.mask().field(DLG_STOPREC_ST0).shown()) // cancel da menu
{ // stampe
f.mask().hide(-MENU_STAMPE);
f.mask().show(-MENU_MAIN);
f.mask().first_focus(DLG_STOPREC_ST);
f.mask().first_focus(DLG_STOPREC_ST);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE;
}
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().first_focus(DLG_STOPREC_SD);
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
@ -427,6 +434,7 @@ bool TManutenzione_quadri::hide_menu(TMask_field& f, KEY k)
f.mask().hide(-MENU_STAMPEDICH);
f.mask().show(-MENU_STAMPE);
f.mask().first_focus(DLG_STOPREC_STQD);
f.mask().set_caption("Stampe");
return TRUE;
}
return FALSE;
@ -466,7 +474,7 @@ void TManutenzione_quadri::init_menu(TMask& m)
// 1.5
_basebis->setkey(1);
_basebis->zero();
_basebis->put("CODDITTA", (long)_codditta);
_basebis->put("CODDITTA", _codditta);
int rt = _basebis->read();
qcomp = _basebis->get("QCOMP");
qric = _basebis->get("QSUPPRIC");
@ -484,7 +492,7 @@ bool TManutenzione_quadri::lock(const bool lok)
base.setkey(1);
base.zero();
base.put("CODDITTA",(long)_codditta);
base.put("CODDITTA", _codditta);
const int rt = base.read(_isequal, _testandlock);
if (rt != NOERR)
return error_box("Impossibile leggere i dati: errore %d", rt);
@ -530,7 +538,10 @@ bool TManutenzione_quadri::lock(const bool lok)
bool TManutenzione_quadri::leggi_quadri(TMask_field& f, KEY k)
{
if (k == K_TAB)
app().init_menu(f.mask());
{
app().init_menu(f.mask());
xvt_statbar_set(""); // serve per ripristinare la statusbar
}
return TRUE;
}
@ -610,7 +621,8 @@ bool TManutenzione_quadri::query_mask()
init_query_mask(*_msk[0]);
_msk[0]->first_focus(DLG_OK);
KEY ch = _msk[0]->run();
_codditta = _msk[0]->get_long(F_CODDITTA);
if (ch == K_ENTER)
_codditta = _msk[0]->get_long(F_CODDITTA);
return ch == K_ENTER;
}

@ -1,32 +1,20 @@
#include "776100a.h"
PAGE "Selezione Ditta" -1 -1 64 8
LISTBOX F_TIPOQUA 2
BEGIN
PROMPT 90 90 ""
KEY 1
FIELD LF_BASE->TIPOQUA
FLAGS "D"
END
PAGE "Manutenzione dichiarazione" -1 -1 64 8
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Codice "
HELP "Codice della ditta da selezionare"
USE LF_BASE KEY 1 SELECT (TIPOQUA!="D")
JOIN LF_NDITTE INTO CODDITTA=CODDITTA
INPUT TIPOQUA F_TIPOQUA
USE LF_NDITTE SELECT LF_BASE->CODDITTA!=""
JOIN LF_BASE INTO CODDITTA==CODDITTA
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" LF_NDITTE->RAGSOC
OUTPUT F_TIPOQUA TIPOQUA
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGDITTA LF_NDITTE->RAGSOC
FIELD LF_BASE->CODDITTA
HELP "Inserire la ditta"
WARNING "Manca la ditta"
CHECKTYPE REQUIRED
OUTPUT F_RAGDITTA RAGSOC
HELP "Codice della ditta da selezionare"
CHECKTYPE REQUIRED
WARNING "Manca la ditta"
KEY 1
GROUP 1
END
@ -34,14 +22,14 @@ END
STRING F_RAGDITTA 50
BEGIN
PROMPT 1 2 "Rag. Soc. "
USE LF_NDITTE KEY 2
JOIN LF_BASE INTO CODDITTA=CODDITTA
HELP "Ragione sociale della ditta da selezionare"
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 LF_NDITTE->RAGSOC
OUTPUT F_RAGDITTA RAGSOC
HELP "Ragione sociale della ditta da selezionare"
KEY 2
GROUP 1
END
@ -52,14 +40,14 @@ BEGIN
FLAGS "D"
END
BUTTON DLG_OK 9 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 ""
PROMPT -22 -1 ""
END
BUTTON DLG_CANCEL 20 2
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 "Menu precedente"
PROMPT -12 -1 "Fine"
END
ENDPAGE

@ -8,22 +8,7 @@
#include "776100b.h"
TOOLBAR "" 0 19 0 0
BUTTON DLG_CANCEL 20 2
BEGIN
PROMPT -22 -11 "Menu precedente"
END
BUTTON DLG_QUIT 20 2
BEGIN
PROMPT -12 -11 "Fine"
END
ENDPAGE
PAGE "Manutenzione dichiarazione" -1 -1 78 21
PAGE "Manutenzione dichiarazione" -1 2 78 20
//----------------------------
// campi comuni a tutti i menu
//----------------------------
@ -114,7 +99,7 @@ BEGIN
PROMPT 1 8 ""
PICTURE 123
GROUP MENU_MAIN
MESSAGE RUN,770,-0
MESSAGE RUN,770,-0|K_TAB,RILEGGI_QUADRI
END
TEXT DLG_NULL_SOCI
@ -564,7 +549,7 @@ END
BUTTON DLG_STOPREC_DICH 1 1
BEGIN
PROMPT 1 5 ""
MESSAGE RUN,771MOD,-0,A
MESSAGE RUN,771MOD,-0,A|K_TAB,RILEGGI_QUADRI
PICTURE 123
FLAGS "H"
GROUP MENU_DATIANAG
@ -581,7 +566,7 @@ BUTTON DLG_STOPREC_RAPP 1 1
BEGIN
PROMPT 1 6 ""
PICTURE 123
MESSAGE RUN,771MOD,-0,C
MESSAGE RUN,771MOD,-0,C|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_DATIANAG
END
@ -597,7 +582,7 @@ BUTTON DLG_STOPREC_SCRIT 1 1
BEGIN
PROMPT 1 7 ""
PICTURE 123
MESSAGE RUN,771MOD,-0,D
MESSAGE RUN,771MOD,-0,D|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_DATIANAG
END
@ -613,7 +598,7 @@ BUTTON DLG_STOPREC_CAAF 1 1
BEGIN
PROMPT 1 8 ""
PICTURE 123
MESSAGE RUN,771MOD,-0,E
MESSAGE RUN,771MOD,-0,E|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_DATIANAG
END
@ -629,7 +614,7 @@ BUTTON DLG_STOPREC_DIRET 1 1
BEGIN
PROMPT 1 9 ""
PICTURE 123
MESSAGE RUN,771MOD,-0,F
MESSAGE RUN,771MOD,-0,F|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_DATIANAG
END
@ -645,7 +630,7 @@ BUTTON DLG_STOPREC_CONC 1 1
BEGIN
PROMPT 1 10 ""
PICTURE 123
MESSAGE RUN,771MOD,-0,G
MESSAGE RUN,771MOD,-0,G|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_DATIANAG
END
@ -661,7 +646,7 @@ BUTTON DLG_STOPREC_DIC0 1 1
BEGIN
PROMPT 1 11 ""
PICTURE 123
MESSAGE RUN,776MOD,-5
MESSAGE RUN,776MOD,-5|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_DATIANAG
END
@ -677,7 +662,7 @@ BUTTON DLG_STOPREC_SOCTRA 1 1
BEGIN
PROMPT 1 12 ""
PICTURE 123
MESSAGE RUN,773mod,-1,771100h,102,"Manutenzione dati società trasformate"
MESSAGE RUN,773mod,-1,771100h,102,"Manutenzione dati società trasformate"|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_DATIANAG
END
@ -696,7 +681,7 @@ END
BUTTON DLG_STOPREC_ST0 1 1
BEGIN
PROMPT 1 5 ""
MESSAGE RUN,772MOD,-0
MESSAGE RUN,772MOD,-0|K_TAB,RILEGGI_QUADRI
PICTURE 123
FLAGS "H"
GROUP MENU_STAMPE
@ -713,7 +698,7 @@ BUTTON DLG_STOPREC_ST1 1 1
BEGIN
PROMPT 1 6 ""
PICTURE 123
MESSAGE RUN,772MOD,-1
MESSAGE RUN,772MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPE
END
@ -729,7 +714,7 @@ BUTTON DLG_STOPREC_ST2 1 1
BEGIN
PROMPT 1 7 ""
PICTURE 123
MESSAGE RUN,772MOD,-2
MESSAGE RUN,772MOD,-2|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPE
END
@ -745,7 +730,7 @@ BUTTON DLG_STOPREC_ST3 1 1
BEGIN
PROMPT 1 8 ""
PICTURE 123
MESSAGE RUN,772MOD,-3
MESSAGE RUN,772MOD,-3|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPE
END
@ -812,7 +797,7 @@ BUTTON DLG_STOPREC_SD2 1 1
BEGIN
PROMPT 1 7 ""
PICTURE 123
MESSAGE RUN,774,-1,D
MESSAGE RUN,774,-1,D|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_SOGGDICH
END
@ -844,7 +829,7 @@ END
BUTTON B_BASE 1 1
BEGIN
PROMPT 1 ROW1 ""
MESSAGE RUN,772MOD,-4,Base,D
MESSAGE RUN,772MOD,-4,Base,D|K_TAB,RILEGGI_QUADRI
PICTURE 123
FLAGS "H"
GROUP MENU_STAMPEDICH
@ -860,7 +845,7 @@ END
BUTTON B_LAGG 1 1
BEGIN
PROMPT 1 ROW2 ""
MESSAGE RUN,772MOD,-4,L,D
MESSAGE RUN,772MOD,-4,L,D|K_TAB,RILEGGI_QUADRI
PICTURE 123
FLAGS "H"
GROUP MENU_STAMPEDICH
@ -876,7 +861,7 @@ END
BUTTON B_NAGG 1 1
BEGIN
PROMPT 1 ROW3 ""
MESSAGE RUN,772MOD,-4,N,D
MESSAGE RUN,772MOD,-4,N,D|K_TAB,RILEGGI_QUADRI
PICTURE 123
FLAGS "H"
GROUP MENU_STAMPEDICH
@ -892,7 +877,7 @@ END
BUTTON B_ALLSOC 1 1
BEGIN
PROMPT 1 ROW4 ""
MESSAGE RUN,772MOD,-4,S,D
MESSAGE RUN,772MOD,-4,S,D|K_TAB,RILEGGI_QUADRI
PICTURE 123
FLAGS "H"
GROUP MENU_STAMPEDICH
@ -909,7 +894,7 @@ BUTTON B_ALLG 1 1
BEGIN
PROMPT 1 ROW5 ""
PICTURE 123
MESSAGE RUN,772MOD,-4,J,D
MESSAGE RUN,772MOD,-4,J,D|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPEDICH
END
@ -1042,7 +1027,7 @@ BUTTON B_D 1 1
BEGIN
PROMPT 39 ROW2 ""
PICTURE 123
MESSAGE RUN,772MOD,-4,D,D
MESSAGE RUN,772MOD,-4,D,D|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPEDICH
END
@ -1124,7 +1109,7 @@ BUTTON B_F 1 1
BEGIN
PROMPT 58 ROW1 ""
PICTURE 123
// MESSAGE RUN,771MOD,-1
// MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPEDICH
END
@ -1140,7 +1125,7 @@ BUTTON B_F1 1 1
BEGIN
PROMPT 58 ROW2 ""
PICTURE 123
// MESSAGE RUN,771MOD,-1
// MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPEDICH
END
@ -1156,7 +1141,7 @@ BUTTON B_F2 1 1
BEGIN
PROMPT 58 ROW3 ""
PICTURE 123
// MESSAGE RUN,771MOD,-1
// MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPEDICH
END
@ -1172,7 +1157,7 @@ BUTTON B_G 1 1
BEGIN
PROMPT 58 ROW4 ""
PICTURE 123
MESSAGE RUN,772MOD,-4,G,D
MESSAGE RUN,772MOD,-4,G,D|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPEDICH
END
@ -1188,7 +1173,7 @@ BUTTON B_G1 1 1
BEGIN
PROMPT 58 ROW5 ""
PICTURE 123
// MESSAGE RUN,771MOD,-1
// MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPEDICH
END
@ -1204,11 +1189,21 @@ BUTTON B_H 1 1
BEGIN
PROMPT 58 ROW6 ""
PICTURE 123
MESSAGE RUN,772MOD,-4,H,D
MESSAGE RUN,772MOD,-4,H,D|K_TAB,RILEGGI_QUADRI
FLAGS "H"
GROUP MENU_STAMPEDICH
END
BUTTON DLG_CANCEL 20 2
BEGIN
PROMPT -22 -1 "Menu precedente"
END
BUTTON DLG_QUIT 20 2
BEGIN
PROMPT -12 -1 "Fine"
END
ENDPAGE
ENDMASK

@ -47,18 +47,20 @@ bool TImmissioneDichiarazione::do_it()
{
KEY tasto;
_msk->set(F_ANNODIC, _anno_dic);
_msk->set(F_ANNODIC, _anno_dic);
_msk->open_modal();
while ((tasto = _msk->run()) != K_QUIT)
{
long codditta = _msk->get_long(F_CODDITTA);
if (exist_dichiar_770(codditta)) {
warning_box("La dichiarazione della ditta %d esiste gia'", codditta);
warning_box("La dichiarazione della ditta %ld esiste gia'", codditta);
continue;
}
if (enter_dichiar_770(codditta, _anno_dic))
message_box("Dichiarazione inserita");
}
}
_msk->close();
return tasto == K_ENTER;
}

@ -1,490 +1,483 @@
// 776300.cpp - Selezione dichiarazioni per menu' stampe
#include <confapp.h>
#include <mask.h>
#include <isam.h>
#include <sheet.h>
#include <prefix.h>
#include <progind.h>
#include <lffiles.h>
#include <utility.h>
#include <relation.h>
#include "776300a.h"
#include "77lib.h"
class TSelezioneDich : public TConfig_application
{
TString16 _section;
TBit_array _selected;
TArray_sheet* _ditte, * _ditte_sel;
TArray _nomiditte;
TArray _old_ditte;
TConfig* _user_cnf, * _studio_cnf;
int _n_ditte;
int _anno_dic;
// TLocalisamfile* _nditte;
TRelation* _nditte;
long _da_cod, _a_cod;
bool _builded_nomiditte;
void build_nomiditte();
void build_ditte_sheet();
void build_ditte_sel_sheet();
bool is_in (long codditta);
void init_sheet();
void check_all_dic();
public:
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 mask_select (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
static bool dicsel_handler (TMask_field&, KEY);
virtual bool preprocess_config (TMask& mask, TConfig& config);
virtual bool postprocess_config (TMask& mask, TConfig& config);
// virtual bool postprocess_config_changed(const char* par, const char* var,const char* oldv, const char* newv);
virtual bool user_create();
virtual bool user_destroy();
virtual bool firm_change_enabled() const;
TSelezioneDich() : TConfig_application(CONFIG_USER) ,
_a_cod(0L), _da_cod(0L) {}
virtual ~TSelezioneDich() {}
};
HIDDEN TSelezioneDich& app() { return (TSelezioneDich&) main_app(); }
bool TSelezioneDich::user_create()
{
const char* edit_mask = "776300a";
_section = name();
_section.cut(2);
// Forza la scrittura del file in partenza
// (onde evitare di vedere il messaggio "Nessun parametro da configurare" e di dover
// rientrare).
TConfig* tmp = new TConfig(CONFIG_USER, _section);
tmp->get("EdMask", _section, -1, edit_mask);
delete tmp;
_user_cnf = new TConfig(CONFIG_USER, _section);
_user_cnf->get("EdMask", _section, -1, edit_mask);
_studio_cnf = new TConfig(CONFIG_STUDIO);
// _nditte = new TLocalisamfile(LF_NDITTE);
_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");
_ditte_sel = new TArray_sheet(11, 1, 67, 20, "Dichiarazioni selezionate",
"@1|Cod.@5|Ragione Sociale@50", 0);
_builded_nomiditte = FALSE;
return TRUE;
}
bool TSelezioneDich::user_destroy()
{
delete _ditte;
delete _ditte_sel;
delete _nditte;
delete _user_cnf;
delete _studio_cnf;
return TRUE;
}
bool TSelezioneDich::firm_change_enabled() const
{
return FALSE;
}
void TSelezioneDich::init_sheet()
{
_n_ditte = 0l;
_old_ditte.destroy();
if (!_builded_nomiditte)
{
build_nomiditte();
_builded_nomiditte = TRUE;
}
// Legge ditte selezionate dal CONFIG_USER e mette nell'array _old_ditte
long codditta = 0L;
int i = 0;
TString16 cods;
while ((codditta = _user_cnf->get_long(DITTE_SEL, _section, i++)) != 0L)
{
// Salvo il primo e l'ultimo codice ditta per settare i campi in maschera
if (_da_cod == 0L) _da_cod = codditta;
_a_cod = codditta;
cods.format("%5ld", codditta);
_old_ditte.add(cods);
}
build_ditte_sheet();
}
bool TSelezioneDich::preprocess_config (TMask& m, TConfig& config)
{
init_sheet();
// Setto l'anno dichiarazione con quello preso dai parametri di studio
// ma SOLO SE non gia' compilato nei par. utente
_anno_dic = (int)_user_cnf->get_long(ANNO_SEL, _section);
if (_anno_dic == 0)
_anno_dic = (int)_studio_cnf->get_long(ANNO_SEL, _section);
m.set(F_ANNODIC, _anno_dic);
// 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();
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);
return TRUE;
}
bool TSelezioneDich::is_in (long codditta)
{
for (int i=0; i<_old_ditte.items(); i++)
if (codditta == atol((TString&)_old_ditte[i]))
return TRUE;
return FALSE;
}
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();
TProgind prg(items, "Registrazione in corso\nAttendere prego...", FALSE, TRUE);
// Registro l'anno dic. nei parametri utente
_user_cnf->set(ANNO_SEL, anno_dic);
// 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);
}
// Segno l'ultima ditta nel .ini
_user_cnf->set(DITTE_SEL, "", _section, TRUE, ditte_in_ini);
// Reset dei due codici ditta "Da" "A"
_a_cod = _da_cod = 0L;
}
return TRUE;
}
bool TSelezioneDich::mask_select (TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
app()._ditte->enable_check();
// seleziona e aggiungi alle gia' selezionate
if (app()._ditte->run() == K_ENTER)
{
for (long j = 0l; j < app()._ditte->items(); j++)
app()._selected.set(j, app()._ditte->checked(j));
app().set_choice_limits(f.mask());
}
}
return TRUE;
}
bool TSelezioneDich::mask_azzera (TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
app()._selected.reset();
f.mask().reset(F_SELECT);
f.mask().reset(DA_CODICE);
f.mask().reset(A_CODICE);
app()._ditte->check(-1, FALSE);
}
return TRUE;
}
// --------------------------- handlers per selezione ditte
bool TSelezioneDich::to_ditt_handler(TMask_field& f, KEY key)
{
TMask& m = f.mask();
if (key == K_F9)
{
app().to_butt_handler(f, K_SPACE);
}
if (key == K_TAB && f.focusdirty())
{
const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE));
app().set_choice_limits(m);
m.field(F_SELECT).set(format("%ld", l));
}
return TRUE;
}
bool TSelezioneDich::fr_ditt_handler(TMask_field& f, KEY key)
{
TMask& m = f.mask();
if (key == K_F9)
{
app().fr_butt_handler(f, K_SPACE);
}
else if (key == K_TAB && f.focusdirty())
{
const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE));
app().set_choice_limits(m);
m.field(F_SELECT).set(format("%ld", l));
}
return TRUE;
}
bool TSelezioneDich::to_butt_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE)
{
TArray_sheet* sh = app()._ditte;
TMask& m = f.mask();
sh->disable_check();
if (sh->run() == K_ENTER)
{
app().select_firm_range(m.get_long(DA_CODICE),sh->row(sh->selected()).get_long(1));
app().set_choice_limits(m);
}
}
return TRUE;
}
bool TSelezioneDich::fr_butt_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE)
{
TMask& m = f.mask();
TArray_sheet* sh = app()._ditte;
sh->disable_check();
if (sh->run() == K_ENTER)
{
app().select_firm_range(sh->row(sh->selected()).get_long(1), m.get_long(A_CODICE));
app().set_choice_limits(m);
}
}
return TRUE;
}
void TSelezioneDich::check_all_dic()
{
for (int i = 0; i < _ditte->items(); i++)
_ditte->check(i);
}
bool TSelezioneDich::tutte_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE)
{
const bool checked = (f.get() == "X");
if (checked)
{
app().check_all_dic();
app().select_firm_range(0L,0L);
app().set_choice_limits(f.mask());
}
}
return TRUE;
}
bool TSelezioneDich::dicsel_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE)
{
app().build_ditte_sel_sheet();
app()._ditte_sel->run();
}
return TRUE;
}
void TSelezioneDich::set_choice_limits(TMask& m)
{
long first = -1l, last = -1l;
for (int i = 0; i < _ditte->items(); i++)
{
if (_selected[i])
{
long dit = _ditte->row(i).get_long(1);
if (first == -1l) first = dit;
if (last < dit) last = dit;
}
}
if (first != -1) m.field(DA_CODICE).set(format("%ld",first));
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()
{
const long items = _old_ditte.items();
for (int i=0; i < items; i++)
{
const long codditta = atol((TString&)_old_ditte[i]);
for (int dit=0; dit < _ditte->items(); dit++)
{
TToken_string& d = _ditte->row(dit);
const long cod = d.get_long(1);
if (codditta == cod)
{
_selected.set(dit);
_ditte->check(dit);
break;
}
/************************
else
{
_selected.set(dit,FALSE);
_ditte->uncheck(dit);
}
**************************/
}
}
return _selected.ones();
}
long TSelezioneDich::select_firm_range(long from, long to)
{
if (to == 0l) to = 99999L;
for (int i = 0; i < _ditte->items(); i++)
{
if (_ditte->row_disabled(i))
continue;
TToken_string& d = _ditte->row(i);
const long cod = d.get_long(1);
if (cod >= from && cod <= to)
{
_selected.set(i);
_ditte->check(i);
}
else
{
_selected.set(i,FALSE);
_ditte->uncheck(i);
}
}
return _selected.ones();
}
// 23/6/95 - Scelta ditte solo tra quelle che hanno dichiarazione
void TSelezioneDich::build_nomiditte()
{
_nomiditte.destroy();
// ricostruire _nomiditte e rifare build_ditte_sheet
// TLocalisamfile& dt = *_nditte;
TRectype& dt = _nditte->curr();
TProgind prg(dt.items(), "Lettura ditte in corso\nAttendere prego...", FALSE, TRUE);
for (_nditte->first(); !_nditte->eof(); _nditte->next())
{
prg.addstatus(1);
// bool good = exist_dichiar_770(dt.get_long("CODDITTA"));
// if (!good) continue;
_n_ditte++;
TToken_string* d = new TToken_string(64);
d->add(" "); // spazio per la selezione
d->add(dt.get("CODDITTA"));
d->add(dt.get("RAGSOC"));
_nomiditte.add(d);
}
}
void TSelezioneDich::build_ditte_sheet()
{
long codditta = 0L;
// build sheet
_ditte->destroy();
for (int i = 0; i < _nomiditte.items(); i++)
{
TToken_string* d = new TToken_string(64);
*d = (TToken_string&)_nomiditte[i];
codditta = d->get_long(1);
const long pos = _ditte->add(d);
// Metto check se selezionata o era nei parametri precedenti
if (_selected[i] || is_in(codditta))
_ditte->check(pos);
}
}
// Costruisce un array sheet copiando da nomiditte solo quelle
// gia' selezionate
void TSelezioneDich::build_ditte_sel_sheet()
{
long codditta = 0L;
// build sheet
_ditte_sel->destroy();
for (int i = 0; i < _nomiditte.items(); i++)
{
TToken_string* d = new TToken_string(64);
*d = (TToken_string&)_nomiditte[i];
codditta = d->get_long(1);
// se selezionata o era nei parametri precedenti
if (_selected[i])
{
const long pos = _ditte_sel->add(d);
// _ditte_sel->check(pos);
}
}
}
int SelezioneDichiarazioni(int argc, char* argv[])
{
TSelezioneDich app;
app.run(argc, argv, "Selezione dichiarazione");
return 0;
}
// 776300.cpp - Selezione dichiarazioni per menu' stampe
#include <confapp.h>
#include <mask.h>
#include <isam.h>
#include <sheet.h>
#include <prefix.h>
#include <progind.h>
#include <lffiles.h>
#include <utility.h>
#include <relation.h>
#include "776300a.h"
#include "77lib.h"
class TSelezioneDich : public TConfig_application
{
TString16 _section;
TBit_array _selected;
TArray_sheet* _ditte, * _ditte_sel;
TArray _nomiditte;
TArray _old_ditte;
TConfig* _user_cnf, * _studio_cnf;
int _n_ditte;
int _anno_dic;
TRelation* _nditte;
long _da_cod, _a_cod;
bool _builded_nomiditte;
void build_nomiditte();
void build_ditte_sheet();
void build_ditte_sel_sheet();
bool is_in (long codditta);
void init_sheet();
void check_all_dic();
public:
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 mask_select (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
static bool dicsel_handler (TMask_field&, KEY);
virtual bool preprocess_config (TMask& mask, TConfig& config);
virtual bool postprocess_config (TMask& mask, TConfig& config);
// virtual bool postprocess_config_changed(const char* par, const char* var,const char* oldv, const char* newv);
virtual bool user_create();
virtual bool user_destroy();
virtual bool firm_change_enabled() const;
TSelezioneDich() : TConfig_application(CONFIG_USER) ,
_a_cod(0L), _da_cod(0L) {}
virtual ~TSelezioneDich() {}
};
HIDDEN TSelezioneDich& app() { return (TSelezioneDich&) main_app(); }
bool TSelezioneDich::user_create()
{
const char* edit_mask = "776300a";
_section = name();
_section.cut(2);
// Forza la scrittura del file in partenza
// (onde evitare di vedere il messaggio "Nessun parametro da configurare" e di dover
// rientrare).
TConfig* tmp = new TConfig(CONFIG_USER, _section);
tmp->get("EdMask", _section, -1, edit_mask);
delete tmp;
_user_cnf = new TConfig(CONFIG_USER, _section);
_user_cnf->get("EdMask", _section, -1, edit_mask);
_studio_cnf = new TConfig(CONFIG_STUDIO);
_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");
_ditte_sel = new TArray_sheet(11, 1, 67, 20, "Dichiarazioni selezionate",
"@1|Cod.@5|Ragione Sociale@50", 0);
_builded_nomiditte = FALSE;
return TRUE;
}
bool TSelezioneDich::user_destroy()
{
delete _ditte;
delete _ditte_sel;
delete _nditte;
delete _user_cnf;
delete _studio_cnf;
return TRUE;
}
bool TSelezioneDich::firm_change_enabled() const
{
return FALSE;
}
void TSelezioneDich::init_sheet()
{
_n_ditte = 0l;
_old_ditte.destroy();
if (!_builded_nomiditte)
{
build_nomiditte();
_builded_nomiditte = TRUE;
}
// Legge ditte selezionate dal CONFIG_USER e mette nell'array _old_ditte
long codditta = 0L;
int i = 0;
TString16 cods;
while ((codditta = _user_cnf->get_long(DITTE_SEL, _section, i++)) != 0L)
{
// Salvo il primo e l'ultimo codice ditta per settare i campi in maschera
if (_da_cod == 0L) _da_cod = codditta;
_a_cod = codditta;
cods.format("%5ld", codditta);
_old_ditte.add(cods);
}
build_ditte_sheet();
}
bool TSelezioneDich::preprocess_config (TMask& m, TConfig& config)
{
init_sheet();
// Setto l'anno dichiarazione con quello preso dai parametri di studio
// ma SOLO SE non gia' compilato nei par. utente
_anno_dic = (int)_user_cnf->get_long(ANNO_SEL, _section);
if (_anno_dic == 0)
_anno_dic = (int)_studio_cnf->get_long(ANNO_SEL, _section);
m.set(F_ANNODIC, _anno_dic);
// 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();
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);
return TRUE;
}
bool TSelezioneDich::is_in (long codditta)
{
for (int i=0; i<_old_ditte.items(); i++)
if (codditta == atol((TString&)_old_ditte[i]))
return TRUE;
return FALSE;
}
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();
TProgind prg(items, "Registrazione in corso\nAttendere prego...", FALSE, TRUE);
// Registro l'anno dic. nei parametri utente
_user_cnf->set(ANNO_SEL, anno_dic);
// 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);
}
// Segno l'ultima ditta nel .ini
_user_cnf->set(DITTE_SEL, "", _section, TRUE, ditte_in_ini);
// Reset dei due codici ditta "Da" "A"
_a_cod = _da_cod = 0L;
}
return TRUE;
}
bool TSelezioneDich::mask_select (TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
app()._ditte->enable_check();
// seleziona e aggiungi alle gia' selezionate
if (app()._ditte->run() == K_ENTER)
{
for (long j = 0l; j < app()._ditte->items(); j++)
app()._selected.set(j, app()._ditte->checked(j));
app().set_choice_limits(f.mask());
}
}
return TRUE;
}
bool TSelezioneDich::mask_azzera (TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
app()._selected.reset();
f.mask().reset(F_SELECT);
f.mask().reset(DA_CODICE);
f.mask().reset(A_CODICE);
app()._ditte->check(-1, FALSE);
}
return TRUE;
}
// --------------------------- handlers per selezione ditte
bool TSelezioneDich::to_ditt_handler(TMask_field& f, KEY key)
{
TMask& m = f.mask();
if (key == K_F9)
{
app().to_butt_handler(f, K_SPACE);
}
if (key == K_TAB && f.focusdirty())
{
const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE));
app().set_choice_limits(m);
m.field(F_SELECT).set(format("%ld", l));
}
return TRUE;
}
bool TSelezioneDich::fr_ditt_handler(TMask_field& f, KEY key)
{
TMask& m = f.mask();
if (key == K_F9)
{
app().fr_butt_handler(f, K_SPACE);
}
else if (key == K_TAB && f.focusdirty())
{
const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE));
app().set_choice_limits(m);
m.field(F_SELECT).set(format("%ld", l));
}
return TRUE;
}
bool TSelezioneDich::to_butt_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE)
{
TArray_sheet* sh = app()._ditte;
TMask& m = f.mask();
sh->disable_check();
if (sh->run() == K_ENTER)
{
app().select_firm_range(m.get_long(DA_CODICE),sh->row(sh->selected()).get_long(1));
app().set_choice_limits(m);
}
}
return TRUE;
}
bool TSelezioneDich::fr_butt_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE)
{
TMask& m = f.mask();
TArray_sheet* sh = app()._ditte;
sh->disable_check();
if (sh->run() == K_ENTER)
{
app().select_firm_range(sh->row(sh->selected()).get_long(1), m.get_long(A_CODICE));
app().set_choice_limits(m);
}
}
return TRUE;
}
void TSelezioneDich::check_all_dic()
{
for (int i = 0; i < _ditte->items(); i++)
_ditte->check(i);
}
bool TSelezioneDich::tutte_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE)
{
const bool checked = (f.get() == "X");
if (checked)
{
app().check_all_dic();
app().select_firm_range(0L,0L);
app().set_choice_limits(f.mask());
}
}
return TRUE;
}
bool TSelezioneDich::dicsel_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE)
{
app().build_ditte_sel_sheet();
app()._ditte_sel->run();
}
return TRUE;
}
void TSelezioneDich::set_choice_limits(TMask& m)
{
long first = -1l, last = -1l;
for (int i = 0; i < _ditte->items(); i++)
{
if (_selected[i])
{
long dit = _ditte->row(i).get_long(1);
if (first == -1l) first = dit;
if (last < dit) last = dit;
}
}
if (first != -1) m.field(DA_CODICE).set(format("%ld",first));
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()
{
const long items = _old_ditte.items();
for (int i=0; i < items; i++)
{
const long codditta = atol((TString&)_old_ditte[i]);
for (int dit=0; dit < _ditte->items(); dit++)
{
TToken_string& d = _ditte->row(dit);
const long cod = d.get_long(1);
if (codditta == cod)
{
_selected.set(dit);
_ditte->check(dit);
break;
}
/************************
else
{
_selected.set(dit,FALSE);
_ditte->uncheck(dit);
}
**************************/
}
}
return _selected.ones();
}
long TSelezioneDich::select_firm_range(long from, long to)
{
if (to == 0l) to = 99999L;
for (int i = 0; i < _ditte->items(); i++)
{
if (_ditte->row_disabled(i))
continue;
TToken_string& d = _ditte->row(i);
const long cod = d.get_long(1);
if (cod >= from && cod <= to)
{
_selected.set(i);
_ditte->check(i);
}
else
{
_selected.set(i,FALSE);
_ditte->uncheck(i);
}
}
return _selected.ones();
}
// 23/6/95 - Scelta ditte solo tra quelle che hanno dichiarazione
void TSelezioneDich::build_nomiditte()
{
_nomiditte.destroy();
// ricostruire _nomiditte e rifare build_ditte_sheet
TRectype& dt = _nditte->curr();
TProgind prg(dt.items(), "Lettura ditte in corso\nAttendere prego...", FALSE, TRUE);
for (_nditte->first(); !_nditte->eof(); _nditte->next())
{
prg.addstatus(1);
_n_ditte++;
TToken_string* d = new TToken_string(64);
d->add(" "); // spazio per la selezione
d->add(dt.get("CODDITTA"));
d->add(dt.get("RAGSOC"));
_nomiditte.add(d);
}
}
void TSelezioneDich::build_ditte_sheet()
{
long codditta = 0L;
// build sheet
_ditte->destroy();
for (int i = 0; i < _nomiditte.items(); i++)
{
TToken_string* d = new TToken_string(64);
*d = (TToken_string&)_nomiditte[i];
codditta = d->get_long(1);
const long pos = _ditte->add(d);
// Metto check se selezionata o era nei parametri precedenti
if (_selected[i] || is_in(codditta))
_ditte->check(pos);
}
}
// Costruisce un array sheet copiando da nomiditte solo quelle
// gia' selezionate
void TSelezioneDich::build_ditte_sel_sheet()
{
long codditta = 0L;
// build sheet
_ditte_sel->destroy();
for (int i = 0; i < _nomiditte.items(); i++)
{
TToken_string* d = new TToken_string(64);
*d = (TToken_string&)_nomiditte[i];
codditta = d->get_long(1);
// se selezionata o era nei parametri precedenti
if (_selected[i])
{
const long pos = _ditte_sel->add(d);
// _ditte_sel->check(pos);
}
}
}
int SelezioneDichiarazioni(int argc, char* argv[])
{
TSelezioneDich app;
app.run(argc, argv, "Selezione dichiarazione");
return 0;
}

@ -28,7 +28,7 @@ protected:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool save(TMask& m, const long coddic_prec);
KEY save(TMask& m, const long coddic_prec, bool check_dirty);
bool set_codditta(TMask_field& f);
bool main_loop();
@ -51,14 +51,7 @@ TEstinti_app::TEstinti_app():
bool TEstinti_app::set_codditta(TMask_field& f)
{
TString16 codditta;
codditta << get_firm_770();
if (codditta != "0")
{
f.set(codditta);
// f.set_dirty();
f.check();
}
f.set(get_firm_770());
return TRUE;
}
@ -113,41 +106,50 @@ void TEstinti_app::force_output(int dlg, const long codditta)
}
}
bool TEstinti_app::save(TMask& m, const long codic_prec)
KEY TEstinti_app::save(TMask& m, const long codic_prec,
bool check_dirty = FALSE)
{
const long new_codic = m.get_long(F_CODDIC);
TRectype _rec = _base->curr();
_base->setkey(1);
_rec.zero();
_rec.put("TIPOQUA", ' ');
_rec.put("CODDITTA",(long)_codditta);
if (_base->read(_rec) == NOERR)
{
_rec.put("CODDIC",(long)new_codic);
_base->rewrite(_rec);
}
KEY k = K_YES;
if (check_dirty && m.dirty())
k = yesnocancel_box("Registrare le modifiche?");
if (k == K_YES)
{
const long new_codic = m.get_long(F_CODDIC);
TRectype _rec = _base->curr();
_base->setkey(1);
_rec.zero();
_rec.put("TIPOQUA", ' ');
_rec.put("CODDITTA",(long)_codditta);
if (_base->read(_rec) == NOERR)
{
_rec.put("CODDIC",(long)new_codic);
_base->rewrite(_rec);
}
// Stessa cosa su basebis
TRectype _recbis = _basebis->curr();
_basebis->setkey(1);
_recbis.zero();
_recbis.put("TIPOQUA", ' ');
_recbis.put("CODDITTA",(long)_codditta);
TRectype _recbis = _basebis->curr();
_basebis->setkey(1);
_recbis.zero();
_recbis.put("TIPOQUA", ' ');
_recbis.put("CODDITTA",(long)_codditta);
if (_basebis->read(_recbis) == NOERR)
{
_recbis.put("CODDIC",(long)new_codic);
_basebis->rewrite(_rec);
}
if (_basebis->read(_recbis) == NOERR)
{
_recbis.put("CODDIC",(long)new_codic);
_basebis->rewrite(_rec);
}
// Crea il record globale per il dichiarante scelto se non esiste
// 3.4.96 - Solo se il dichiarante e' diverso da 0, senno' quando si vuol cancellare
// il dichiarante crea un record duplicato!
if (new_codic != 0L)
if (!exist_dichiar_770(new_codic, TRUE))
enter_dichiar_770(new_codic, anno_770(), TRUE);
return TRUE;
if (new_codic != 0L)
if (!exist_dichiar_770(new_codic, TRUE))
enter_dichiar_770(new_codic, anno_770(), TRUE);
}
return k;
}
bool TEstinti_app::main_loop()
@ -173,20 +175,20 @@ bool TEstinti_app::main_loop()
_msk->enable(F_CODDIC, !dichiarante);
_msk->enable(F_ESTINTI, dichiarante);
_msk->enable(DLG_SAVEREC,!dichiarante);
_msk->set_mode(MODE_MOD);
tasto = _msk->run();
switch (tasto) {
case K_ENTER:
if (_msk->dirty())
// Se e' un dichiarante F_CODDIC e' disabilitato e non c'e' nulla da salvare
if (!dichiarante)
save(*_msk, coddic);
if (!dichiarante)
save(*_msk, coddic);
break;
case K_ESC :
tasto = K_QUIT;
break;
case K_QUIT :
case K_QUIT :
if (!dichiarante && (save(*_msk, coddic, TRUE) == K_ESC))
tasto = K_ESC;
break;
case K_SAVE :
if (!dichiarante)

@ -68,7 +68,7 @@ END
BUTTON DLG_SAVEREC 9 2
BEGIN
PROMPT -13 -1 ""
PROMPT -13 -1 "~Registra"
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN

@ -6,13 +6,10 @@
#include <real.h>
#include <sheet.h>
// #include "770101.h" (sembra non servire)
class TSchedaP;
// Flag di record del dichiarante (quadro I "globale")
HIDDEN const char COD_QUA_I_DIC = 'D';
HIDDEN const char DELEGA_BANCARIA = 'B';
HIDDEN const char DISTINTA = 'D';
HIDDEN const char CC_POSTALE = 'C';
@ -109,7 +106,10 @@ bool inserimento(const TMask& m);
const char* cod_fis(const long codditta);
// Ritorna la descrizione della causale
const char* get_desc_cau(const char* codcau);
bool esiste_perc(char tipoa, const long codanag);
bool esiste_perc(char tipoa, const long codanag);
// Ritorna l'indirizzo secondo la regola : prima domicilio poi residenza
// formattazione token_string : località|indirizzo|num.civico|cap|provincia
TToken_string get_anag_address(char tip_anagr, long cod_anagr);
////////////////////////////////////////////////////////////////////////////
// E' un array sheet in cui si puo' decidere di visualizzare solo i

@ -5,20 +5,19 @@
#include <isam.h>
#include <anagr.h>
#include <tabutil.h>
#include <comuni.h>
#include "scperc.h"
#include "perc.h"
#include "rver.h"
#include "rpag.h"
#include "quadrol.h"
#include "dipend.h" // per is_erede
// #include "770101.h" // per TSchedaPE (sembra non servire)
#include "77lib.h"
HIDDEN real __dep;
HIDDEN TString80 __tmp;
HIDDEN const char* _build_key(TVersamento& vers);
// La ditta corrente 770
HIDDEN long _codditta_770 = 0L;
HIDDEN long _codditta_770 = 0L; // La ditta corrente 770
#define QUALIF_EREDE "11"
@ -373,6 +372,74 @@ bool esiste_pag_in_anno(TSchedaP& sch, const int annodic, const TDate& data_da,
return FALSE;
}
// in: tipo e codice anagrafico di cui si vuole l'indirizzo
// out: località|indirizzo|num.civico|cap|provincia
TToken_string get_anag_address(char tip_anag, long cod_anag)
{
TToken_string address;
TString cod_comune_df;
TString cod_comune_re;
TString cod_comune;
TString indirizzo;
TString numerociv;
TString cap;
TString localita;
TString provincia;
TLocalisamfile anag(LF_ANAG);
TLocalisamfile comuni(LF_COMUNI);
// lettura anagrafica persone
anag.setkey(1);
anag.zero();
anag.put(ANA_TIPOA, tip_anag);
anag.put(ANA_CODANAGR, cod_anag);
// decodifica indirizzo
if (anag.read() == NOERR)
{
cod_comune_df = anag.get(ANA_COMRF);
cod_comune_re = anag.get(ANA_COMRES);
// indicato domicilio fiscale
if (cod_comune_df != "")
{
indirizzo = anag.get(ANA_INDRF);
numerociv = anag.get(ANA_CIVRF);
cap = anag.get(ANA_CAPRF);
cod_comune= cod_comune_df;
}
// indicato residenza
else
{
indirizzo = anag.get(ANA_INDRES);
numerociv = anag.get(ANA_CIVRES);
cap = anag.get(ANA_CAPRES);
cod_comune= cod_comune_re;
}
// lettura anagrafica comuni
comuni.setkey(1);
comuni.zero();
comuni.put(COM_COM,cod_comune);
// decodifica località e provincia
if (comuni.read() == NOERR)
{
localita = comuni.get(COM_DENCOM);
provincia= comuni.get(COM_PROVCOM);
}
// preparazione token_string
address=localita;
address.add(indirizzo);
address.add(numerociv);
address.add(cap);
address.add(provincia);
}
return address;
}
//////////////////////////////////////////////////////////////////////////////
// Dichiarazioni
//////////////////////////////////////////////////////////////////////////////

@ -1,47 +0,0 @@
#include "ba3200.h"
PAGE "Stampa causali" -1 -1 60 6
/*
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Ditta "
HELP "Ditta di cui stampare i registri"
FLAGS "FRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC
END
STRING F_RAGSOC 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
END
*/
DATE F_DATASTAMPA
BEGIN
PROMPT 2 1 "Data stampa "
HELP "Data da riportare sui fogli da stampare"
FLAGS "A"
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 ""
END
ENDPAGE
ENDMASK