Adeguamento alla versione definitiva dei progetti (parte seconda)

git-svn-id: svn://10.65.10.50/trunk@5715 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 1997-12-09 13:53:23 +00:00
parent bb9c448584
commit ee67f5aaae
8 changed files with 847 additions and 18 deletions

View File

@ -18,6 +18,7 @@
// nomi dei campi
#include "soggetti.h"
#include "contsan.h"
#include "idoneita.h"
#include "sezioni.h"
class TSbloccoSospesi : public TPrintapp
@ -25,7 +26,9 @@ class TSbloccoSospesi : public TPrintapp
TMask* _msk;
TRelation* _rel;
TLocalisamfile* _contsan;
TLocalisamfile* _idoneita;
TRecord_array* _scontrolli;
TRecord_array* _sidoneita;
int _cur;
int _contatore, _totale;
TDate _data_sblocco; // data scadenza sospensione fino a _data_sblocco
@ -141,22 +144,63 @@ bool TSbloccoSospesi::preprocess_page(int file, int counter)
_operazione = operazione;
if (_definitiva)
{
TRectype* key = new TRectype(LF_CONTSAN);
long codice = recsog.get_long(SOG_CODICE);
key->put(CON_CODICE, codice);
int err = _scontrolli->read(key);
int progcon = _scontrolli->rows()+1;
TRectype& reccon = _contsan->curr();
reccon.zero();
reccon.put(CON_CODICE, codice);
reccon.put(CON_PROGCON, progcon);
reccon.put(CON_DATACON, _data_stampa);
reccon.put(CON_TIPOCON, FINE_SOSPENSIONE);
_scontrolli->add_row(reccon);
_scontrolli->rewrite();
con_reord(recsog, _scontrolli);
current_cursor()->file().rewrite();
}
if (stato == "SO" && datafine.ok() && datafine <= app()._data_sblocco)
{
TRectype* key = new TRectype(LF_CONTSAN);
long codice = recsog.get_long(SOG_CODICE);
key->put(CON_CODICE, codice);
int err = _scontrolli->read(key);
int progcon = _scontrolli->rows()+1;
TRectype& reccon = _contsan->curr();
reccon.zero();
reccon.put(CON_CODICE, codice);
reccon.put(CON_PROGCON, progcon);
reccon.put(CON_DATACON, _data_stampa);
reccon.put(CON_TIPOCON, FINE_SOSPENSIONE);
_scontrolli->add_row(reccon);
_scontrolli->rewrite();
con_reord(recsog, _scontrolli);
current_cursor()->file().rewrite();
}
if ((statosi == "SO" && datafinesi.ok() && datafinesi <= app()._data_sblocco) || (statoaf == "SO" && datafineaf.ok() && datafineaf <= app()._data_sblocco))
{
TRectype* key = new TRectype(LF_IDONEITA);
long codice = recsog.get_long(SOG_CODICE);
key->put(IDO_CODICE, codice);
if (statosi == "SO" && datafinesi.ok() && datafinesi <= app()._data_sblocco)
{
int err = _sidoneita->read(key);
int progido = _sidoneita->rows()+1;
TRectype& recido = _idoneita->curr();
recido.zero();
recido.put(IDO_CODICE, codice);
recido.put(IDO_PROGIDO, progido);
recido.put(IDO_DATAIDO, _data_stampa);
recido.put(IDO_IDO_SOS, "ID");
recido.put(IDO_TIPOIDO, "SI");
recido.put(IDO_INTERVALLO, recsog.get(SOG_INTSI));
_sidoneita->add_row(recido);
_sidoneita->rewrite();
}
if (statoaf == "SO" && datafineaf.ok() && datafineaf <= app()._data_sblocco)
{
int err = _sidoneita->read(key);
int progido = _sidoneita->rows()+1;
TRectype& recido = _idoneita->curr();
recido.zero();
recido.put(IDO_CODICE, codice);
recido.put(IDO_PROGIDO, progido);
recido.put(IDO_DATAIDO, _data_stampa);
recido.put(IDO_IDO_SOS, "ID");
recido.put(IDO_TIPOIDO, "AF");
recido.put(IDO_INTERVALLO, recsog.get(SOG_INTAF));
_sidoneita->add_row(recido);
_sidoneita->rewrite();
}
ido_reord(recsog, _sidoneita);
current_cursor()->file().rewrite();
}
}
// salto pagina se cambio sezione
const TString16 codsez = recsog.get(SOG_CODSEZ);
const TString16 codsot = recsog.get(SOG_CODSOT);
@ -326,7 +370,9 @@ bool TSbloccoSospesi::user_create()
//cursore ordinamento per sezione+sottogruppo+cognome+nome
_cur = add_cursor(new TCursor(_rel, "", 3));
_contsan = new TLocalisamfile(LF_CONTSAN);
_idoneita = new TLocalisamfile(LF_IDONEITA);
_scontrolli = new TRecord_array(LF_CONTSAN, CON_PROGCON);
_sidoneita = new TRecord_array(LF_IDONEITA, IDO_PROGIDO);
return TRUE;
}
@ -335,7 +381,9 @@ bool TSbloccoSospesi::user_destroy()
delete _rel;
delete _msk;
delete _contsan;
delete _idoneita;
delete _scontrolli;
delete _sidoneita;
return TRUE;
}

View File

@ -6,4 +6,5 @@ bool is_idon(TString16 id1, TString16 id2, TString16 id3, TString16 id4, const c
bool is_donaz(TString16 don, const char* tipo);
char modstato_tcs(TString16 tipo);
void con_reord(TRectype& soggetto, TRecord_array* controlli);
void ido_reord(TRectype& soggetto, TRecord_array* idoneita);
void don_datepross(TRectype& soggetto);

View File

@ -4,7 +4,13 @@
#include "soggetti.h"
#include "contsan.h"
#include "idoneita.h"
#define IDON_SI "SI"
#define IDON_AF "AF"
#define IDONEITA "ID"
#define SOSPENSIONE "SO"
bool is_idon_one(TString16 idon, const char* tipo)
// verifica che l'idoneità "idon" sia del tipo "tipo"
// esempio: se passo PL, AF restituisce TRUE
@ -127,8 +133,12 @@ void con_reord(TRectype& soggetto, TRecord_array* controlli)
soggetto.put(SOG_IDON2,id2);
soggetto.put(SOG_IDON3,id3);
soggetto.put(SOG_IDON4,id4);
soggetto.put(SOG_INTSI,intsi);
soggetto.put(SOG_INTAF,intaf);
const int intsisog = soggetto.get_int(SOG_INTSI);
if (intsi > 0 || intsisog == 0)
soggetto.put(SOG_INTSI,intsi);
const int intafsog = soggetto.get_int(SOG_INTAF);
if (intaf > 0 || intafsog == 0)
soggetto.put(SOG_INTAF,intaf);
tipo = ' ';
if (r_ultstato != -1)
@ -166,6 +176,80 @@ void con_reord(TRectype& soggetto, TRecord_array* controlli)
}
}
void ido_reord(TRectype& soggetto, TRecord_array* idoneita)
{
TDate dataido, finesos;
TString16 tipoido, ido_sos;
int intervallo;
bool fattoSI = FALSE;
bool fattoAF = FALSE;
TString16 id1 = soggetto.get(SOG_IDON1);
TString16 id2 = soggetto.get(SOG_IDON2);
TString16 id3 = soggetto.get(SOG_IDON3);
TString16 id4 = soggetto.get(SOG_IDON4);
const TDate datastato = soggetto.get_date(SOG_DATASTATO);
for (int r=idoneita->rows(); r>=1; r--)
{
const TRectype& row = idoneita->row(r);
dataido = row.get_date(IDO_DATAIDO);
if (dataido >= datastato)
{
tipoido = row.get(IDO_TIPOIDO);
ido_sos = row.get(IDO_IDO_SOS);
intervallo = row.get_int(IDO_INTERVALLO);
finesos = row.get_date(IDO_FINESOS);
if (tipoido == IDON_SI && !fattoSI)
{
fattoSI = TRUE;
soggetto.put(SOG_DATASI,dataido);
soggetto.put(SOG_STATOSI,ido_sos);
soggetto.put(SOG_FINESOSSI,finesos);
if (intervallo != 0 && ido_sos == IDONEITA)
soggetto.put(SOG_INTSI,intervallo);
// sistemare le idoneita idon1,2,3,4
}
if (tipoido == IDON_AF && !fattoAF)
{
fattoAF = TRUE;
soggetto.put(SOG_DATAAF,dataido);
soggetto.put(SOG_STATOAF,ido_sos);
soggetto.put(SOG_FINESOSAF,finesos);
if (intervallo != 0 && ido_sos == IDONEITA)
soggetto.put(SOG_INTAF,intervallo);
// sistemare le idoneita idon1,2,3,4
}
}
}
if (fattoSI || fattoAF)
{
TDate datastato = soggetto.get_date(SOG_DATASTATO);
TDate datastatosi = soggetto.get_date(SOG_DATASI);
TDate datastatoaf = soggetto.get_date(SOG_DATAAF);
if (datastato < datastatosi || datastato < datastatoaf)
{
TString16 stato = soggetto.get(SOG_STATO);
TString16 statosi = soggetto.get(SOG_STATOSI);
TString16 statoaf = soggetto.get(SOG_STATOAF);
if (statosi == SOSPENSIONE && statoaf == SOSPENSIONE)
stato = SOSPENSIONE;
else
stato = IDONEITA;
soggetto.put(SOG_STATO,stato);
don_datepross(soggetto);
}
}
else
{
soggetto.put(SOG_STATOSI," ");
soggetto.put(SOG_DATASI,NULLDATE);
soggetto.put(SOG_FINESOSSI,NULLDATE);
soggetto.put(SOG_STATOAF," ");
soggetto.put(SOG_DATAAF,NULLDATE);
soggetto.put(SOG_FINESOSAF,NULLDATE);
don_datepross(soggetto);
}
}
void don_datepross(TRectype& soggetto)
// calcola le date di prossima donazione in base a: donazioni, stato attuale, idoneità
{

14
at/batbmed.h Executable file
View File

@ -0,0 +1,14 @@
// definizione campi della maschera tabella medici
#define F_CODMED 101
#define F_COGNOME 102
#define F_NOME 103
#define F_INDIRIZZO 104
#define F_COM 105
#define F_DENCOM 106
#define F_LOCALITA 107
#define F_DENLOC 108
#define F_CAPCOM 109
#define F_PROVCOM 110
#define F_TELAMB 111
#define F_TELABI 112

156
at/batbmed.uml Executable file
View File

@ -0,0 +1,156 @@
#include "batbmed.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "Medici" -1 -1 78 20
GROUPBOX DLG_NULL 77 5
BEGIN
PROMPT 1 1 ""
FLAGS "R"
END
NUMBER F_CODMED 6
BEGIN
PROMPT 2 2 "Cod. medico "
FIELD CODMED
FLAGS "U"
KEY 1
USE LF_MEDICI
INPUT CODMED F_CODMED
DISPLAY "Codice " CODMED
DISPLAY "Cognome@25" COGNOME
DISPLAY "Nome@25" NOME
OUTPUT F_CODMED CODMED
OUTPUT F_COGNOME COGNOME
OUTPUT F_NOME NOME
CHECKTYPE REQUIRED
END
STRING F_COGNOME 25
BEGIN
PROMPT 2 3 "Cognome "
FIELD COGNOME
KEY 2
USE LF_MEDICI KEY 2
INPUT COGNOME F_COGNOME
INPUT NOME F_NOME
DISPLAY "Cognome@25" COGNOME
DISPLAY "Nome@25" NOME
DISPLAY "Codice " CODMED
COPY OUTPUT F_CODMED
CHECKTYPE REQUIRED
WARNING "Inserire il cognome del medico"
END
STRING F_NOME 25
BEGIN
PROMPT 2 4 "Nome "
FIELD NOME
KEY 2
COPY ALL F_COGNOME
CHECKTYPE NORMAL
END
GROUPBOX DLG_NULL 77 5
BEGIN
PROMPT 1 6 "Indirizzo"
END
STRING F_INDIRIZZO 50
BEGIN
PROMPT 2 7 "Indirizzo "
FIELD INDIRIZZO
END
STRING F_COM 4
BEGIN
PROMPT 2 8 "Comune "
FIELD COM
FLAGS "U"
USE LF_COMUNI
INPUT STATO ""
INPUT COM F_COM
#include <comdcod.h>
OUTPUT F_COM COM
OUTPUT F_DENCOM DENCOM
OUTPUT F_PROVCOM PROVCOM
OUTPUT F_CAPCOM CAPCOM
CHECKTYPE NORMAL
WARNING "Comune assente"
END
STRING F_DENCOM 48
BEGIN
PROMPT 19 8 ""
USE LF_COMUNI KEY 2
INPUT DENCOM F_DENCOM
#include <comdden.h>
COPY OUTPUT F_COM
CHECKTYPE NORMAL
END
STRING F_LOCALITA 4
BEGIN
PROMPT 2 9 "Località "
FIELD LOCALITA
FLAGS "U"
USE LCP SELECT S7=#F_COM
INPUT CODTAB F_LOCALITA
DISPLAY "Codice" CODTAB
DISPLAY "Località@30" S0
DISPLAY "CAP@5" S6
OUTPUT F_LOCALITA CODTAB
OUTPUT F_DENLOC S0
OUTPUT F_CAPCOM S6
OUTPUT F_COM S7
CHECKTYPE NORMAL
HELP "Codice localit… postale se diversa dal comune"
END
STRING F_DENLOC 30
BEGIN
PROMPT 19 9 ""
USE LCP KEY 2 SELECT S7=#F_COM
INPUT S0 F_DENLOC
DISPLAY "Località@30" S0
DISPLAY "CAP@5" S6
DISPLAY "Codice" CODTAB
COPY OUTPUT F_LOCALITA
CHECKTYPE NORMAL
HELP "Localit… postale se diversa dal comune"
END
STRING F_PROVCOM 5
BEGIN
PROMPT 71 8 ""
FLAGS "D"
END
STRING F_CAPCOM 5
BEGIN
PROMPT 67 9 "CAP "
FLAGS "D"
END
GROUPBOX DLG_NULL 77 3
BEGIN
PROMPT 1 11 "Telefoni"
END
STRING F_TELAMB 15
BEGIN
PROMPT 2 12 "Ambulatorio "
FIELD TELAMB
END
STRING F_TELABI 15
BEGIN
PROMPT 40 12 "Abitazione "
FIELD TELABI
END
ENDPAGE
ENDMASK

46
at/batbsez.h Executable file
View File

@ -0,0 +1,46 @@
// definizione campi della maschera tabella sezioni
#define F_CODSEZ 101
#define F_CODSOT 103
#define F_DENSEZ 102
#define F_DENSOT 104
#define F_INDIRIZZO 105
#define F_COM 106
#define F_DENCOM 107
#define F_LOCALITA 108
#define F_DENLOC 109
#define F_CAPCOM 110
#define F_CAPLOC 111
#define F_PROVCOM 112
#define F_TELEFONO 113
#define F_FAX 114
#define F_REFERCED 115
#define F_STATO 116
#define F_INTMINCONV 117
#define F_INTMIN 118
#define F_INTMAX 119
#define F_TIPOCONV 120
#define F_DATAULTCON 121
#define F_INTESTAZ1 122
#define F_INTESTAZ2 123
#define F_INTESTAZ3 124
#define F_INTESTAZ4 125
#define F_CONVORA 126
#define F_CONVSEDE1 127
#define F_CONVSEDE2 128
#define F_CONVSEDE3 129
#define F_CONVSEDE4 130
#define F_CONVNOTE 131
#define F_DONEMER 132
#define F_INTESTI 133
#define F_CATEMER 134
#define F_DESC_CATEMER 135
#define F_CATESTI 136
#define F_DESC_CATESTI 137
#define F_CATCANC 138
#define F_DESC_CATCANC 139
#define F_GIOCARSOL 140
#define F_GIOSOLSOL 141
#define F_GIOULTSOL 142
#define F_GIOPERRIT 143
#define F_NUMMAXSOL 144

469
at/batbsez.uml Executable file
View File

@ -0,0 +1,469 @@
#include "batbsez.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "Sezioni 1" -1 -1 78 20
GROUPBOX DLG_NULL 77 4
BEGIN
PROMPT 1 0 ""
FLAGS "R"
END
STRING F_CODSEZ 2
BEGIN
PROMPT 2 1 "Cod. sezione "
FIELD CODSEZ
FLAGS "U"
KEY 1
USE LF_SEZIONI
INPUT CODSEZ F_CODSEZ
INPUT CODSOT F_CODSOT
DISPLAY "Cod.sez. " CODSEZ
DISPLAY "Cod.sot. " CODSOT
DISPLAY "Sezione@25" DENSEZ
DISPLAY "Sottogruppo@25" DENSOT
OUTPUT F_CODSEZ CODSEZ
OUTPUT F_DENSEZ DENSEZ
OUTPUT F_CODSOT CODSOT
OUTPUT F_DENSOT DENSOT
MESSAGE COPY,1@
CHECKTYPE REQUIRED
END
STRING F_CODSOT 2
BEGIN
PROMPT 2 2 "Cod. sottogruppo "
FIELD CODSOT
FLAGS "U"
KEY 1
COPY ALL F_CODSEZ
MESSAGE COPY,2@
CHECKTYPE NORMAL
WARNING "Inserire il codice della sezione"
END
STRING F_DENSEZ 25
BEGIN
PROMPT 29 1 "Denominazione sez. "
FIELD DENSEZ
KEY 2
USE LF_SEZIONI KEY 2
INPUT DENSEZ F_DENSEZ
INPUT DENSOT F_DENSOT
DISPLAY "Sezione@25" DENSEZ
DISPLAY "Sottogruppo@25" DENSOT
DISPLAY "Cod.sez. " CODSEZ
DISPLAY "Cod.sot. " CODSOT
COPY OUTPUT F_CODSEZ
MESSAGE COPY,3@
CHECKTYPE REQUIRED
WARNING "Inserire la denominazione della sezione"
END
STRING F_DENSOT 25
BEGIN
PROMPT 29 2 "Denominazione sot. "
FIELD DENSOT
KEY 2
COPY ALL F_DENSEZ
MESSAGE COPY,4@
CHECKTYPE NORMAL
WARNING "Inserire la denominazione del sottogruppo"
END
GROUPBOX DLG_NULL 77 7
BEGIN
PROMPT 1 4 "Dati anagrafici"
END
STRING F_INDIRIZZO 50
BEGIN
PROMPT 2 5 "Indirizzo "
FIELD INDIRIZZO
END
STRING F_COM 4
BEGIN
PROMPT 2 6 "Comune "
FIELD COM
FLAGS "U"
USE LF_COMUNI
INPUT STATO ""
INPUT COM F_COM
#include <comdcod.h>
OUTPUT F_COM COM
OUTPUT F_DENCOM DENCOM
OUTPUT F_PROVCOM PROVCOM
OUTPUT F_CAPCOM CAPCOM
CHECKTYPE NORMAL
MESSAGE SHOW,F_CAPCOM|SHOW,F_CAPLOC
WARNING "Comune assente"
END
STRING F_DENCOM 48
BEGIN
PROMPT 19 6 ""
USE LF_COMUNI KEY 2
INPUT DENCOM F_DENCOM
#include <comdden.h>
COPY OUTPUT F_COM
CHECKTYPE NORMAL
END
STRING F_LOCALITA 4
BEGIN
PROMPT 2 7 "Localita' "
FIELD LOCALITA
FLAGS "U"
USE LCP SELECT S7=#F_COM
INPUT CODTAB F_LOCALITA
DISPLAY "Codice" CODTAB
DISPLAY "Localita'@30" S0
DISPLAY "CAP@5" S6
OUTPUT F_LOCALITA CODTAB
OUTPUT F_DENLOC S0
OUTPUT F_CAPLOC S6
OUTPUT F_COM S7
CHECKTYPE NORMAL
MESSAGE EMPTY HIDE,F_CAPLOC|SHOW,F_CAPCOM
HELP "Codice localit… postale se diversa dal comune"
END
STRING F_DENLOC 30
BEGIN
PROMPT 19 7 ""
USE LCP KEY 2 SELECT S7=#F_COM
INPUT S0 F_DENLOC
DISPLAY "Località@30" S0
DISPLAY "CAP@5" S6
DISPLAY "Codice" CODTAB
COPY OUTPUT F_LOCALITA
CHECKTYPE NORMAL
MESSAGE EMPTY HIDE,F_CAPLOC|SHOW,F_CAPCOM
HELP "Localit… postale se diversa dal comune"
END
STRING F_PROVCOM 5
BEGIN
PROMPT 71 6 ""
FLAGS "D"
END
STRING F_CAPCOM 5
BEGIN
PROMPT 67 7 "CAP "
FLAGS "D"
END
STRING F_CAPLOC 5
BEGIN
PROMPT 67 7 "CAP "
FLAGS "D"
END
STRING F_TELEFONO 15
BEGIN
PROMPT 2 8 "Telefono "
FIELD TELEFONO
END
STRING F_FAX 15
BEGIN
PROMPT 32 8 "Fax "
FIELD FAX
END
STRING F_REFERCED 50
BEGIN
PROMPT 2 9 "Referente CED "
FIELD REFERCED
END
RADIOBUTTON F_STATO 13
BEGIN
PROMPT 1 11 "Stato"
FIELD STATO
ITEM "A|Attiva"
ITEM "E|Estinta"
END
GROUPBOX DLG_NULL 25 6
BEGIN
PROMPT 16 11 "Intestazione tessere"
END
STRING F_INTESTAZ1 20
BEGIN
PROMPT 17 12 ""
FIELD INTESTAZ1
END
STRING F_INTESTAZ2 20
BEGIN
PROMPT 17 13 ""
FIELD INTESTAZ2
END
STRING F_INTESTAZ3 20
BEGIN
PROMPT 17 14 ""
FIELD INTESTAZ3
END
STRING F_INTESTAZ4 20
BEGIN
PROMPT 17 15 ""
FIELD INTESTAZ4
END
GROUPBOX DLG_NULL 35 8
BEGIN
PROMPT 43 11 "Dati per stampa cartolina"
END
STRING F_CONVORA 20
BEGIN
PROMPT 44 12 "Orario "
FIELD CONVORA
END
STRING F_CONVSEDE1 25
BEGIN
PROMPT 44 13 "Sede "
FIELD CONVSEDE1
END
STRING F_CONVSEDE2 25
BEGIN
PROMPT 44 14 " "
FIELD CONVSEDE2
END
STRING F_CONVSEDE3 25
BEGIN
PROMPT 44 15 " "
FIELD CONVSEDE3
END
STRING F_CONVSEDE4 25
BEGIN
PROMPT 44 16 " "
FIELD CONVSEDE4
END
STRING F_CONVNOTE 25
BEGIN
PROMPT 44 17 "Note "
FIELD CONVNOTE
END
ENDPAGE
PAGE "Sezioni 2" -1 -1 78 20
GROUPBOX DLG_NULL 77 4
BEGIN
PROMPT 1 0 ""
FLAGS "R"
END
STRING DLG_NULL 2
BEGIN
PROMPT 2 1 "Cod. sezione "
FLAGS "D"
GROUP 1
END
STRING DLG_NULL 2
BEGIN
PROMPT 2 2 "Cod. sottogruppo "
FLAGS "D"
GROUP 2
END
STRING DLG_NULL 25
BEGIN
PROMPT 29 1 "Denominazione sez. "
FLAGS "D"
GROUP 3
END
STRING DLG_NULL 25
BEGIN
PROMPT 29 2 "Denominazione sot. "
FLAGS "D"
GROUP 4
END
GROUPBOX DLG_NULL 35 7
BEGIN
PROMPT 1 4 "Parametri convocazione"
END
NUMBER F_INTMINCONV 4
BEGIN
PROMPT 2 5 "Int. min. convoc. "
FIELD INTMINCONV
HELP "Intervallo minimo di convocazione in giorni (dall'ultima don.)"
END
NUMBER F_INTMIN 4
BEGIN
PROMPT 2 6 "Int. avvisi: min. "
FIELD INTMIN
END
NUMBER F_INTMAX 4
BEGIN
PROMPT 2 7 " max. "
FIELD INTMAX
END
LISTBOX F_TIPOCONV 11
BEGIN
PROMPT 2 8 "Tipo convocazione "
FIELD TIPOCONV
ITEM "D|Data fissa"
ITEM "G|dal Giorno"
END
DATE F_DATAULTCON
BEGIN
PROMPT 2 9 "Data ultima conv. "
FIELD DATAULTCON
FLAGS "D"
END
GROUPBOX DLG_NULL 35 7
BEGIN
PROMPT 1 11 "Parametri convocazione BO"
END
NUMBER F_GIOCARSOL 3
BEGIN
PROMPT 2 12 "Gio. tra cart. e soll. "
FIELD GIOCARSOL
HELP "Intervallo in giorni tra cartolina e primo sollecito"
END
NUMBER F_GIOSOLSOL 3
BEGIN
PROMPT 2 13 "Gio. tra soll. e soll. "
FIELD GIOSOLSOL
HELP "Intervallo in giorni tra solleciti"
END
NUMBER F_GIOULTSOL 3
BEGIN
PROMPT 2 14 "Gio. tra penult. e ult. soll. "
FIELD GIOULTSOL
HELP "Intervallo tra penultimo e ultimo sollecito"
END
NUMBER F_GIOPERRIT 3
BEGIN
PROMPT 2 15 "Gio. tra chiamate per ritard. "
FIELD GIOPERRIT
HELP "Giorni tra le chiamate per ritardatari"
END
NUMBER F_NUMMAXSOL 2
BEGIN
PROMPT 2 16 "Num. max di solleciti "
FIELD NUMMAXSOL
HELP "Numero massimo di solleciti inviabili per soggetto"
END
GROUPBOX DLG_NULL 41 8
BEGIN
PROMPT 37 4 "Parametri per chiusura fine anno"
END
NUMBER F_DONEMER 3
BEGIN
PROMPT 38 5 "Donazioni per passaggio a emeriti "
FIELD DONEMER
FLAGS "U"
END
NUMBER F_INTESTI 2
BEGIN
PROMPT 38 6 "Intervallo di estinzione in anni "
FIELD INTESTI
FLAGS "U"
END
TEXT DLG_NULL
BEGIN
PROMPT 38 7 "Categorie:"
END
STRING F_CATEMER 2
BEGIN
PROMPT 39 8 "emeriti "
FIELD CATEMER
FLAGS "U"
USE CTD
INPUT CODTAB F_CATEMER
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@30" S0
OUTPUT F_CATEMER CODTAB
OUTPUT F_DESC_CATEMER S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
END
STRING F_DESC_CATEMER 20
BEGIN
PROMPT 56 8 ""
FLAGS "D"
END
STRING F_CATESTI 2
BEGIN
PROMPT 39 9 "estinti "
FIELD CATESTI
FLAGS "U"
USE CTD
INPUT CODTAB F_CATESTI
COPY DISPLAY F_CATEMER
OUTPUT F_CATESTI CODTAB
OUTPUT F_DESC_CATESTI S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
END
STRING F_DESC_CATESTI 20
BEGIN
PROMPT 56 9 ""
FLAGS "D"
END
STRING F_CATCANC 2
BEGIN
PROMPT 39 10 "cancellati "
FIELD CATCANC
FLAGS "U"
USE CTD
INPUT CODTAB F_CATCANC
COPY DISPLAY F_CATEMER
OUTPUT F_CATCANC CODTAB
OUTPUT F_DESC_CATCANC S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
END
STRING F_DESC_CATCANC 20
BEGIN
PROMPT 56 10 ""
FLAGS "D"
END
ENDPAGE
ENDMASK

11
at/idoneita.h Executable file
View File

@ -0,0 +1,11 @@
// definizione campi dell'archivio IDONEITA
#define IDO_CODICE "CODICE"
#define IDO_PROGIDO "PROGIDO"
#define IDO_DATAIDO "DATAIDO"
#define IDO_TIPOIDO "TIPOIDO"
#define IDO_IDO_SOS "IDO_SOS"
#define IDO_INTERVALLO "INTERVALLO"
#define IDO_FINESOS "FINESOS"
#define IDO_MOTIVO "MOTIVO"
#define IDO_RESPONSAB "RESPONSAB"