Aggiunta codici regione

git-svn-id: svn://10.65.10.50/trunk@2683 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1996-03-20 16:00:44 +00:00
parent 78687433cb
commit 2994f22df3
8 changed files with 237 additions and 259 deletions

View File

@ -4,54 +4,29 @@
#include <lffiles.h>
#include "ba4.h"
#include "ba4100.h"
#define FIRST_YEAR 1993
class BA4100_application : public TRelation_application
{
TMask * _msk;
TRelation * _rel;
TLocalisamfile * _alici;
TRecord_array * _alici_rec;
static bool fld_notify(TSheet_field& s, int r, KEY k);
virtual bool user_create() ;
virtual bool user_destroy() ;
virtual bool changing_mask(int mode) { return FALSE;}
virtual TRelation* get_relation() const { return _rel;}
virtual int read(TMask& m);
virtual int write(const TMask& m);
virtual int rewrite(const TMask& m);
virtual bool remove();
public:
virtual TMask* get_mask(int mode) { return _msk;}
BA4100_application() {}
virtual ~BA4100_application() {}
TRecord_array & alici_rec() { return * _alici_rec; }
};
BA4100_application & app() { return (BA4100_application &) main_app(); }
bool BA4100_application::fld_notify(TSheet_field& f, int r, KEY k)
{
if (k == K_INS)
{
TMask& m = f.sheet_mask();
TToken_string & t = f.row(r);
t.format("%d", r + FIRST_YEAR);
t.add("");
t.add("");
}
return TRUE;
}
bool BA4100_application::user_create()
{
_msk = new TMask("ba4100a") ;
TSheet_field& f = (TSheet_field&) _msk->field(FLD_CM2_ALIQICI);
f.set_notify(fld_notify);
_rel = new TRelation(LF_COMUNI);
_alici = new TLocalisamfile(LF_ALICI);
_alici_rec = new TRecord_array(LF_ALICI, "ANNO", FIRST_YEAR);
return TRUE;
}
@ -59,103 +34,9 @@ bool BA4100_application::user_destroy()
{
delete _msk;
delete _rel;
delete _alici;
delete _alici_rec;
return TRUE;
}
int BA4100_application::read(TMask& m)
{
int err = TRelation_application::read(m);
if (err == NOERR)
{
TRectype r = _alici->curr();
r.zero();
r.put("COM", m.get(FLD_CM1_COM));
_alici_rec->read(r); // Ignora errori di lettura aliquote ICI
TSheet_field& f = (TSheet_field&) m.field(FLD_CM2_ALIQICI);
f.destroy();
int last = _alici_rec->last_row();
const int year = TDate(TODAY).year();
if (last < year) last = year;
for (int i = FIRST_YEAR; i <= last; i++)
{
TRectype & r = _alici_rec->row(i, TRUE);
TToken_string & t = f.row(i - FIRST_YEAR);
t = r.get("ANNO");
t.add(r.get("ALIQ"));
t.add(r.get("DETR"));
}
}
return err;
}
int BA4100_application::write(const TMask& m)
{
int err = TRelation_application::write(m);
if (err == NOERR)
{
TSheet_field& f = (TSheet_field&) m.field(FLD_CM2_ALIQICI);
_alici_rec->destroy_rows();
if (m.insert_mode())
_alici_rec->renum_key("COM", m.get(FLD_CM1_COM));
for (int i = 0; i < f.items(); i++)
{
TToken_string & t = f.row(i);
const real aliq(t.get(1));
const real detr(t.get());
if (aliq != ZERO || detr != ZERO)
{
TRectype & r = _alici_rec->row(t.get_int(0), TRUE);
r.put("ALIQ", aliq);
r.put("DETR", detr);
}
}
err = _alici_rec->write();
}
return err;
}
int BA4100_application::rewrite(const TMask& m)
{
int err = TRelation_application::rewrite(m);
if (err == NOERR)
{
TSheet_field& f = (TSheet_field&) m.field(FLD_CM2_ALIQICI);
_alici_rec->destroy_rows();
if (m.insert_mode())
_alici_rec->renum_key("COM", m.get(FLD_CM1_COM));
for (int i = 0; i < f.items(); i++)
{
TToken_string & t = f.row(i);
const real aliq(t.get(1));
const real detr(t.get());
if (aliq != ZERO || detr != ZERO)
{
TRectype & r = _alici_rec->row(t.get_int(0), TRUE);
r.put("ALIQ", aliq);
r.put("DETR", detr);
}
}
err = _alici_rec->rewrite();
}
return err;
}
bool BA4100_application::remove()
{
return TRelation_application::remove() && _alici_rec->remove() == NOERR;
}
int ba4100(int argc, char* argv[])
{
BA4100_application a ;

View File

@ -3,46 +3,45 @@
// campi maschera ba4100a.msk
#define FLD_CM1_STATO 101
#define FLD_CM1_COM 102
#define FLD_CM1_DENCOM 103
#define FLD_CM1_PROVCOM 104
#define FLD_CM1_CAPCOM 105
#define FLD_CM1_CODISTAT 106
#define FLD_CM1_UFIIDD1 107
#define FLD_CM1_DUFIIDD1 108
#define FLD_CM1_UFIIDD2 109
#define FLD_CM1_DUFIIDD2 110
#define FLD_CM1_UFIIDD3 111
#define FLD_CM1_DUFIIDD3 112
#define FLD_CM1_UFFIVA1 113
#define FLD_CM1_DUFFIVA1 114
#define FLD_CM1_UFFIVA2 115
#define FLD_CM1_DUFFIVA2 116
#define FLD_CM1_UFFIVA3 117
#define FLD_CM1_DUFFIVA3 118
#define FLD_CM2_UFFREG 119
#define FLD_CM2_DUFFREG 120
#define FLD_CM2_UFFCONC 121
#define FLD_CM2_DUFFCONC 122
#define FLD_CM2_UFFCSERV 123
#define FLD_CM2_DUFFCSERV 124
#define FLD_CM2_UFFESPROV 125
#define FLD_CM2_DUFFESPROV 126
#define FLD_CM2_UFFESCOM 127
#define FLD_CM2_DUFFESCOM 128
#define FLD_CM2_ALIQICI 129
#define FLD_CM1_DENSTA 130
#define FLD_CM2_COMAGG 131
#define FLD_CM2_DENCOMAGG 132
#define FLD_CM2_TERRMON 133
#define FLD_CM2_STATO 134
#define FLD_CM2_COM 135
#define FLD_CM2_DENCOM 136
#define FLD_CM2_DENSTA 137
#define F_ANNO 101
#define F_ICI 102
#define F_DETR 103
#define FLD_CM1_STATO 101
#define FLD_CM1_COM 102
#define FLD_CM1_DENCOM 103
#define FLD_CM1_PROVCOM 104
#define FLD_CM1_CAPCOM 105
#define FLD_CM1_CODISTAT 106
#define FLD_CM1_UFIIDD1 107
#define FLD_CM1_DUFIIDD1 108
#define FLD_CM1_UFIIDD2 109
#define FLD_CM1_DUFIIDD2 110
#define FLD_CM1_UFIIDD3 111
#define FLD_CM1_DUFIIDD3 112
#define FLD_CM1_UFFIVA1 113
#define FLD_CM1_DUFFIVA1 114
#define FLD_CM1_UFFIVA2 115
#define FLD_CM1_DUFFIVA2 116
#define FLD_CM1_UFFIVA3 117
#define FLD_CM1_DUFFIVA3 118
#define FLD_CM2_UFFREG 119
#define FLD_CM2_DUFFREG 120
#define FLD_CM2_UFFCONC 121
#define FLD_CM2_DUFFCONC 122
#define FLD_CM2_UFFCSERV 123
#define FLD_CM2_DUFFCSERV 124
#define FLD_CM2_UFFESPROV 125
#define FLD_CM2_DUFFESPROV 126
#define FLD_CM2_UFFESCOM 127
#define FLD_CM2_DUFFESCOM 128
#define FLD_CM2_ALIQICI 129
#define FLD_CM1_DENSTA 130
#define FLD_CM2_COMAGG 131
#define FLD_CM2_DENCOMAGG 132
#define FLD_CM2_TERRMON 133
#define FLD_CM2_STATO 134
#define FLD_CM2_COM 135
#define FLD_CM2_DENCOM 136
#define FLD_CM2_DENSTA 137
#define F_CODREG 138
#define F_DESREG 139
#define N_STATO "STATO"
#define N_COM "COM"

View File

@ -1,6 +1,6 @@
#include "ba4100.h"
TOOLBAR "" 0 20 0 2
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
@ -9,7 +9,7 @@ PAGE "Tabella Comuni 1/2" -1 -1 77 18
GROUPBOX DLG_NULL 75 4
BEGIN
PROMPT 1 0 ""
FLAGS "R"
FLAGS "R"
END
NUMBER FLD_CM1_STATO 3
@ -136,12 +136,12 @@ BEGIN
FIELD LF_COMUNI->UFFIIDD2
FLAGS "RZ"
HELP "Codice ufficio imposte dirette competente"
COPY USE FLD_CM1_UFIIDD1
CHECKTYPE NORMAL
INPUT CODTAB FLD_CM1_UFIIDD2
COPY DISPLAY FLD_CM1_UFIIDD1
OUTPUT FLD_CM1_UFIIDD2 CODTAB
OUTPUT FLD_CM1_DUFIIDD2 S0
COPY USE FLD_CM1_UFIIDD1
CHECKTYPE NORMAL
INPUT CODTAB FLD_CM1_UFIIDD2
COPY DISPLAY FLD_CM1_UFIIDD1
OUTPUT FLD_CM1_UFIIDD2 CODTAB
OUTPUT FLD_CM1_DUFIIDD2 S0
WARNING "Ufficio assente"
END
@ -157,12 +157,12 @@ BEGIN
FIELD LF_COMUNI->UFFIIDD3
FLAGS "RZ"
HELP "Codice ufficio imposte dirette competente"
COPY USE FLD_CM1_UFIIDD1
CHECKTYPE NORMAL
INPUT CODTAB FLD_CM1_UFIIDD3
COPY DISPLAY FLD_CM1_UFIIDD1
OUTPUT FLD_CM1_UFIIDD3 CODTAB
OUTPUT FLD_CM1_DUFIIDD3 S0
COPY USE FLD_CM1_UFIIDD1
CHECKTYPE NORMAL
INPUT CODTAB FLD_CM1_UFIIDD3
COPY DISPLAY FLD_CM1_UFIIDD1
OUTPUT FLD_CM1_UFIIDD3 CODTAB
OUTPUT FLD_CM1_DUFIIDD3 S0
WARNING "Ufficio assente"
END
@ -205,12 +205,12 @@ BEGIN
FIELD LF_COMUNI->UFFIVA2
FLAGS "RZ"
HELP "Codice ufficio IVA competente"
COPY USE FLD_CM1_UFFIVA1
INPUT CODTAB FLD_CM1_UFFIVA2
COPY DISPLAY FLD_CM1_UFFIVA1
OUTPUT FLD_CM1_UFFIVA2 CODTAB
OUTPUT FLD_CM1_DUFFIVA2 S0
CHECKTYPE NORMAL
COPY USE FLD_CM1_UFFIVA1
INPUT CODTAB FLD_CM1_UFFIVA2
COPY DISPLAY FLD_CM1_UFFIVA1
OUTPUT FLD_CM1_UFFIVA2 CODTAB
OUTPUT FLD_CM1_DUFFIVA2 S0
CHECKTYPE NORMAL
WARNING "Ufficio assente"
END
@ -226,12 +226,12 @@ BEGIN
FIELD LF_COMUNI->UFFIVA3
FLAGS "RZ"
HELP "Codice ufficio IVA competente"
COPY USE FLD_CM1_UFFIVA1
INPUT CODTAB FLD_CM1_UFFIVA3
COPY DISPLAY FLD_CM1_UFFIVA1
OUTPUT FLD_CM1_UFFIVA3 CODTAB
OUTPUT FLD_CM1_DUFFIVA3 S0
CHECKTYPE NORMAL
COPY USE FLD_CM1_UFFIVA1
INPUT CODTAB FLD_CM1_UFFIVA3
COPY DISPLAY FLD_CM1_UFFIVA1
OUTPUT FLD_CM1_UFFIVA3 CODTAB
OUTPUT FLD_CM1_DUFFIVA3 S0
CHECKTYPE NORMAL
WARNING "Ufficio assente"
END
@ -248,7 +248,7 @@ PAGE "Tabella Comuni 2/2" -1 -1 77 18
GROUPBOX DLG_NULL 75 4
BEGIN
PROMPT 1 0 ""
FLAGS "R"
FLAGS "R"
END
NUMBER FLD_CM2_STATO 3
@ -373,9 +373,9 @@ BEGIN
PROMPT 34 11 "Territorio montano "
HELP "Codice identificativo di comune residente in territorio montano"
FIELD LF_COMUNI->TERRMON
ITEMS " |Non montano"
ITEMS "1|Montano"
ITEMS "2|In parte montano"
ITEMS " |Non montano"
ITEMS "1|Montano"
ITEMS "2|In parte montano"
END
STRING FLD_CM2_COMAGG 4
@ -384,13 +384,13 @@ BEGIN
HELP "Codice comune a cui e' stato accorpato il presente comune"
FIELD LF_COMUNI->COMAGG
FLAGS "U"
USE LF_COMUNI
INPUT STATO ""
INPUT COM FLD_CM2_COMAGG
COPY DISPLAY FLD_CM1_COM
OUTPUT FLD_CM2_COMAGG COM
OUTPUT FLD_CM2_DENCOMAGG DENCOM
CHECKTYPE NORMAL
USE LF_COMUNI
INPUT STATO ""
INPUT COM FLD_CM2_COMAGG
COPY DISPLAY FLD_CM1_COM
OUTPUT FLD_CM2_COMAGG COM
OUTPUT FLD_CM2_DENCOMAGG DENCOM
CHECKTYPE NORMAL
VALIDATE FIXLEN_FUNC 4
END
@ -398,64 +398,39 @@ STRING FLD_CM2_DENCOMAGG 50
BEGIN
PROMPT 23 13 ""
HELP "Denominazione comune a cui e' stato accorpato il presente comune"
USE LF_COMUNI KEY 2 SELECT STATO=""
INPUT DENCOM FLD_CM2_DENCOMAGG
COPY DISPLAY FLD_CM1_DENCOM
OUTPUT FLD_CM2_COMAGG COM
OUTPUT FLD_CM2_DENCOMAGG DENCOM
USE LF_COMUNI KEY 2 SELECT STATO=""
INPUT DENCOM FLD_CM2_DENCOMAGG
COPY DISPLAY FLD_CM1_DENCOM
OUTPUT FLD_CM2_COMAGG COM
OUTPUT FLD_CM2_DENCOMAGG DENCOM
END
SPREADSHEET FLD_CM2_ALIQICI 36
NUMBER F_CODREG 2
BEGIN
PROMPT 26 14 ""
ITEM "ANNO@4"
ITEM "ALIQUOTA I.C.I.@15"
ITEM "DETRAZIONI@15"
PROMPT 2 15 "Cod.regione "
FIELD LF_COMUNI->CODREG
FLAGS "RZ"
USE %RGI
INPUT CODTAB F_CODREG
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0
OUTPUT F_CODREG CODTAB
OUTPUT F_DESREG S0
CHECKTYPE NORMAL
WARNING "Regione assente"
END
STRING F_DESREG 50
BEGIN
PROMPT 23 15 ""
USE %RGI KEY 2
INPUT S0 F_DESREG
DISPLAY "Denominazione@50" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODREG
CHECKTYPE NORMAL
WARNING "Regione assente"
END
ENDPAGE
ENDMASK
PAGE "I.C.I." -1 -1 70 9
NUMBER F_ANNO 4
BEGIN
PROMPT 2 1 "Anno "
FLAGS "DR"
END
NUMBER F_ICI 6 3
BEGIN
PROMPT 2 3 "Aliquota I.C.I. "
FLAGS "R"
GROUP 1
NUM_EXPR {(#THIS_FIELD>=0) && (#THIS_FIELD<100)}
WARNING "L' aliquota deve esser compresa tra 0 e 100"
END
NUMBER F_DETR 15
BEGIN
PROMPT 2 5 "Importo Detraz. "
FLAGS "R"
PICTURE "."
GROUP 1
END
BUTTON DLG_OK 8 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 8 2
BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_NULL 8 2
BEGIN
PROMPT -33 -1 "~Azzera"
MESSAGE RESET,1@
END
ENDPAGE
ENDMASK

View File

@ -18,6 +18,7 @@ class TPersone_app : public TRelation_application
{
char _tip_ana ;
bool _reset_uff_conc;
bool _reset_codreg;
TString16 _cod_ana ;
TMask* _msk[2] ;
TRelation* _rel[2];
@ -52,8 +53,9 @@ public:
char tip_ana() { return _tip_ana;}
virtual bool force_cursor_usage() const { return TRUE;}
void set_reset_uff_conc(bool reset) { _reset_uff_conc = reset; }
void set_reset_codreg(bool reset) { _reset_codreg = reset; }
TPersone_app(char ta) : _reset_uff_conc(FALSE) { set_tip_ana(ta); }
TPersone_app(char ta) : _reset_uff_conc(FALSE), _reset_codreg(FALSE) { set_tip_ana(ta); }
virtual ~TPersone_app() {}
};
@ -301,6 +303,12 @@ bool gest_uff_imp(TMask_field& f, KEY key)
if (msk.get(F_UFFCONC).empty() || msk.is_running())
msk.set(F_UFFCONC, comuni.get("UFFCONC"));
msk.set(F_CONFIS, msk.get(giuridica ? FLD_AG1_COFI : FLD_AF1_COFI));
}
const bool fisica = ! giuridica;
if (fisica && (msk.get(F_CODREG96).empty() || msk.is_running()))
{
msk.set(F_CODREG96, comuni.get("CODREG"));
msk.field(F_CODREG96).on_key(K_TAB);
}
msk.set(F_UFFCONC_P, comuni.get("UFFCONC")); msk.field(F_UFFCONC_P).on_key(K_TAB);
msk.set(F_UFFSERV, comuni.get("UFFCSERV")); msk.field(F_UFFSERV).on_key(K_TAB);
@ -372,6 +380,35 @@ bool uff_conc(TMask_field& f, KEY key)
return TRUE;
}
// Handler dell'codice regione
bool cod_reg(TMask_field& f, KEY key)
{
if (f.mask().query_mode())
return TRUE;
if (key == K_ENTER)
{
TMask& msk = f.mask() ;
TPersone_app& app = (TPersone_app&)main_app();
const bool giuridica = app.ana_giu();
TString16 cod_com(msk.get(giuridica ? FLD_AG1_COMRF : FLD_AF2_COMRF));
if (cod_com.empty())
cod_com = msk.get(giuridica ? FLD_AG2_COMRES : FLD_AF1_COMRES) ;
if (cod_com.not_empty())
{
TLocalisamfile comuni(LF_COMUNI);
comuni.setkey(1) ;
comuni.zero() ;
comuni.put(N_COM, cod_com );
app.set_reset_codreg(comuni.read() == NOERR && msk.get(F_CODREG96) == comuni.get("CODREG"));
}
}
return TRUE;
}
bool no_dup_fis(TMask_field& f, KEY key)
{
if (f.mask().query_mode() || !f.to_check(key)) return TRUE;
@ -469,6 +506,7 @@ TMask* TPersone_app::get_mask(int mode)
_msk[MSKF]->set_handler(FLD_AF2_COMRF, gest_uff_imp);
_msk[MSKF]->set_handler(FLD_AF2_COMCORR, clear_cap);
_msk[MSKF]->set_handler(F_UFFCONC, uff_conc);
_msk[MSKF]->set_handler(F_CODREG96, cod_reg);
_msk[MSKF]->set_handler(F_TITCF, tit_cf);
_msk[MSKF]->set_handler(ba4200_handler);
}
@ -577,6 +615,11 @@ int TPersone_app::write(const TMask& m)
_reset_uff_conc = FALSE;
r->lfile().zero("UFFCONC");
}
if (_reset_codreg)
{
_reset_codreg = FALSE;
r->lfile().zero("CODREG96");
}
manual_save(m);
return r->write();
}
@ -592,6 +635,11 @@ int TPersone_app::rewrite(const TMask& m)
_reset_uff_conc = FALSE;
r->lfile().zero("UFFCONC");
}
if (_reset_codreg)
{
_reset_codreg = FALSE;
r->lfile(LF_ANAGFIS).zero("CODREG96");
}
manual_save(m);
/* if (ana_fis())
{

View File

@ -381,5 +381,7 @@
#define F_LOCCORR 410
#define F_UFFCONC_P 411
#define F_CONFIS 412
#define F_CODREG96 413
#define F_DESREG96 414
#endif // __BA4200_H

View File

@ -175,7 +175,7 @@ OUTPUT FLD_ANAG_RAGSOC1 RAGSOC[1,30]
OUTPUT FLD_ANAG_RAGSOC2 RAGSOC[31,0]
HELP "Codice fiscale della persona fisica"
CHECKTYPE REQUIRED
VALIDATE XTCF_FUNC FLD_AF1_STATOPAIV LST_AF1_SESSO FLD_AF1_DATANASC FLD_AF1_COMNASC
VALIDATE XTCF_FUNC FLD_AF1_STATOPAIV LST_AF1_SESSO FLD_AF1_DATANASC FLD_AF1_COMNASC
END
STRING F_COFIEST 20
@ -767,9 +767,9 @@ BOOLEAN F_TITCF
BEGIN
PROMPT 2 14 "Titolare conto fiscale"
FIELD LF_ANAG->TITCF
HELP "La persona e' titolare di un conto corrente fiscale"
MESSAGE TRUE ENABLE,F_UFFCONC
MESSAGE FALSE CLEAR,F_UFFCONC
HELP "La persona e' titolare di un conto corrente fiscale"
MESSAGE TRUE ENABLE,F_UFFCONC
MESSAGE FALSE CLEAR,F_UFFCONC
MESSAGE FALSE RESET,F_CONFIS
END
@ -880,13 +880,40 @@ ITEM "2|Zone colpite da eventi alluvionali"
ITEM "3|Sospensione Versamenti creditori EFIM"
END
BOOLEAN FLD_AF4_RFDIVERSA
BOOLEAN FLD_AF4_RFDIVERSA
BEGIN
PROMPT 2 7 "Domicilio fiscale diverso da sede legale "
FIELD LF_ANAG->RFDIVERSA
HELP "Dire se il domicilio fiscale e' diverso della sede legale"
END
NUMBER F_CODREG96 2
BEGIN
PROMPT 2 9 "Cod.regione al 1 Gennaio "
FIELD LF_ANAGFIS->CODREG96
FLAGS "RZ"
USE %RGI
INPUT CODTAB F_CODREG96
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0
OUTPUT F_CODREG96 CODTAB
OUTPUT F_DESREG96 S0
CHECKTYPE NORMAL
WARNING "Regione assente"
END
STRING F_DESREG96 50 40
BEGIN
PROMPT 33 9 ""
USE %RGI KEY 2
INPUT S0 F_DESREG96
DISPLAY "Denominazione@50" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODREG96
CHECKTYPE NORMAL
WARNING "Regione assente"
END
GROUPBOX DLG_NULL 76 5
BEGIN
PROMPT 0 13 "Codici statistici"
@ -1006,7 +1033,7 @@ END
STRING F_UFFIIDD 3
BEGIN
PROMPT 1 7 "Imposte Dirette "
FIELD LF_ANAG->UFFIIDD
FIELD LF_ANAG->UFFIIDD
FLAGS "Z"
USE %UID
INPUT CODTAB F_UFFIIDD
@ -1083,7 +1110,7 @@ NUMBER F_UFFCONC_P 3
BEGIN
PROMPT 1 11 "Concessioni "
FLAGS "DZ"
USE %UCC
USE %UCC
INPUT CODTAB F_UFFCONC_P
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0

2
ba/batbrgi.h Executable file
View File

@ -0,0 +1,2 @@
#define F_CODREG 101
#define F_DESCR 102

44
ba/batbrgi.uml Executable file
View File

@ -0,0 +1,44 @@
#include "ba3100.h"
#include "batbrgi.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "Regioni" -1 -1 78 18
NUMBER F_CODREG 2
BEGIN
PROMPT 1 2 "Codice "
FIELD CODTAB
FLAGS "RZ"
KEY 1
USE %RGI
INPUT CODTAB F_CODREG
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione @50" S0
OUTPUT F_CODREG CODTAB
OUTPUT F_DESCR S0
CHECKTYPE REQUIRED
END
STRING F_DESCR 50
BEGIN
PROMPT 1 4 "Denonimazione "
FIELD S0
KEY 2
USE %RGI KEY 2
INPUT S0 F_DESCR
DISPLAY "Descrizione @50" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODREG
CHECKTYPE REQUIRED
WARNING "La denomonazione e' obbligatoria"
END
ENDPAGE
ENDMASK