Patch level : at

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : riorganizzazione storica avis


git-svn-id: svn://10.65.10.50/trunk@10586 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2002-10-31 09:04:18 +00:00
parent 2acb8fe236
commit 4f89d4826a
8 changed files with 1681 additions and 1828 deletions

@ -4,7 +4,7 @@
#include "at0.h"
#define usage "Error - usage : %s -{0|1|2|3|4|5|6|7|8}"
#define usage "Error - usage : %s -{0|1|2|3|4|5|6|7}"
int main(int argc,char** argv)
{
@ -28,8 +28,6 @@ int main(int argc,char** argv)
rt = at0700(argc,argv) ; break;
case 7:
rt = at0800(argc,argv) ; break;
case 8:
rt = at0900(argc,argv) ; break;
default:
error_box(usage, argv[0]) ; break;
}

@ -1,15 +1,14 @@
#ifndef __AT0_H
#define __AT0_H
int at0100(int argc, char* argv[]);
int at0200(int argc, char* argv[]);
int at0300(int argc, char* argv[]);
int at0400(int argc, char* argv[]);
int at0500(int argc, char* argv[]);
int at0600(int argc, char* argv[]);
int at0700(int argc, char* argv[]);
int at0800(int argc, char* argv[]);
int at0900(int argc, char* argv[]);
int at0100(int argc, char* argv[]); // gestione soggetti
int at0200(int argc, char* argv[]); // giornaliero donazioni/controlli
int at0300(int argc, char* argv[]); // giornaliero controlli
int at0400(int argc, char* argv[]); // correzione errato giornaliero donazioni
int at0500(int argc, char* argv[]); // parametri di sezione
int at0600(int argc, char* argv[]); // chiusura periodica
int at0700(int argc, char* argv[]); // sblocco sospesi
int at0800(int argc, char* argv[]); // sblocco esclusi
#endif // __AT0_H

File diff suppressed because it is too large Load Diff

@ -1,51 +1,58 @@
// Gestione convocazioni per BOLOGNA
// definizione campi per maschera
// correzione errato inseriemtno giornaliero donazioni
#define F_NUMERO 101
#define F_DATA 102
#define F_DATAGIO 103
#define F_PUNTO 104
#define F_D_PUNTO 105
#define F_TIPO 106
#define F_D_TIPO 107
#define F_CODSEZ 108
#define F_DENSEZ 109
#define F_CODSOT 110
#define F_DENSOT 111
#define F_DATAINI 112
#define F_DATAINIGIO 113
#define F_TUTTI 114
#define F_RITARDA 115
#define F_MAXRIT 116
#define F_MODCONV 117
#define F_NOTE 118
#define F_NUMCONV 119
#define F_NUMSOLL 120
#define F_NUMRIT 121
#define F_CONVOCATI 122
#define F_CODSEZH 151
#define F_CODSOTH 152
// dati dell'inserimento da correggere
#define F_DATADON 201
#define F_TIPODON 202
#define F_LUOGODON 203
#define F_DESC_TIPODON 204
#define F_DESC_LUOGODON 205
// dati nuovi
#define F_NDATADON 206
#define F_NTIPODON 207
#define F_NLUOGODON 208
#define F_DESC_NTIPODON 209
#define F_DESC_NLUOGODON 210
// operazioni possibili
#define F_VISUALIZZA 211
#define F_MODIFICA 212
#define F_ELIMINA 213
#define F_ESEGUI 140
#define F_SISTAMPA 141
#define F_NOSTAMPA 142
#define F_TOTALE 214
// spreadsheet
#define F_SOGGETTI 215
// pagina soggetti
#define F_S_CODICE 101
#define F_S_COGNOME 102
#define F_S_NOME 103
#define F_S_DATACONV 104
#define F_S_CHIAMATA 105
#define F_S_STAMPATO 106
#define F_S_ANNULLATO 107
#define F_S_DATANASC 108
#define F_S_CATDON 109
#define F_S_TESSAVIS 110
#define F_S_TESSAVIS 104
#define F_S_TIPODON 105
#define F_S_TIPOCON 106
#define F_S_ETICHETTA 107
#define F_S_PRIMADON 108
#define F_S_DATADON 109
#define F_S_DATANASC 110
#define F_S_CODSEZ 111
#define F_S_CODSOT 112
#define F_S_DATAULTDON 113
#define F_S_DATAPROSSI 114
#define F_S_CATDON 113
#define F_S_INTSI 114
#define F_S_DENSEZ 151
#define F_S_DENSOT 152
#define F_S_DESC_CATDON 153
#define F_S_DESC_TIPOCON 153
//#define F_S_DESC_CATDON 154
#define F_S_IDON1 155
#define F_S_IDON2 156
#define F_S_IDON3 157
#define F_S_IDON4 158
//#define F_S_INTSI 159
#define F_S_INTAF 160
#define F_S_PROSSTIPO 161
#define F_S_PROSSDATA 162
#define F_S_DESC_IDON1 163
#define F_S_DESC_IDON2 164
#define F_S_DESC_IDON3 165
#define F_S_DESC_IDON4 166
#define F_S_DESC_PROSSTIPO 167

@ -1,47 +1,28 @@
#include "at0400a.h"
TOOLBAR "" 0 20 0 2
BUTTON DLG_SAVEREC 10 2
BUTTON F_VISUALIZZA 10 2
BEGIN
PROMPT -16 -1 "~Registra"
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
PROMPT -14 -11 "~Visualizza"
MESSAGE EXIT,F_VISUALIZZA
END
BUTTON DLG_NEWREC 10 2
BUTTON F_MODIFICA 10 2
BEGIN
PROMPT -26 -1 "~Nuovo"
MESSAGE EXIT,K_INS
PICTURE BMP_NEWREC
PICTURE BMP_NEWRECDN
PROMPT -24 -11 "~Modifica"
MESSAGE EXIT,F_MODIFICA
END
BUTTON DLG_DELREC 10 2
BUTTON F_ELIMINA 10 2
BEGIN
PROMPT -36 -1 "~Elimina"
MESSAGE EXIT,K_DEL
PICTURE BMP_DELREC
PICTURE BMP_DELRECDN
END
BUTTON DLG_FINDREC 10 2
BEGIN
PROMPT -46 -1 "Ri~cerca"
MESSAGE EXIT,K_F9
PICTURE 126
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -56 -1 "~Annulla"
MESSAGE EXIT,K_ESC
PICTURE 102
PROMPT -34 -11 "~Elimina"
MESSAGE EXIT,F_ELIMINA
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -66 -1 "~Fine"
PROMPT -44 -11 "~Fine"
MESSAGE EXIT,K_QUIT
PICTURE BMP_QUIT
PICTURE BMP_QUITDN
@ -49,319 +30,147 @@ END
ENDPAGE
PAGE "Testata" -1 -1 78 20
PAGE "Correzione errato giornaliero donazioni" -1 -1 78 20
GROUPBOX DLG_NULL 77 15
GROUPBOX DLG_NULL 77 5
BEGIN
PROMPT 1 0 "Opzioni per la convocazione"
PROMPT 1 0 "Dati dell'inserimento errato"
FLAGS "R"
END
NUMBER F_NUMERO 5
DATE F_DATADON
BEGIN
PROMPT 2 1 "Numero "
FIELD NUMERO
FLAGS "RG"
KEY 1
USE LF_CONVOC
INPUT NUMERO F_NUMERO
DISPLAY "Numero" NUMERO
DISPLAY "Data@10" DATA
DISPLAY "Punto" PUNTO
DISPLAY "Tipo" TIPO
DISPLAY "Sez." CODSEZ
DISPLAY "Sot." CODSOT
OUTPUT F_NUMERO NUMERO
OUTPUT F_DATA DATA
OUTPUT F_PUNTO PUNTO
OUTPUT F_TIPO TIPO
OUTPUT F_CODSEZ CODSEZ
OUTPUT F_CODSOT CODSOT
PROMPT 2 1 "Data donazione "
CHECKTYPE REQUIRED
VALIDATE NOT_EMPTY_FUNC
HELP "Data donazione"
END
DATE F_DATA
STRING F_TIPODON 2
BEGIN
PROMPT 2 2 "Data "
FIELD DATA
KEY 2
USE LF_CONVOC KEY 2
INPUT DATA F_DATA
INPUT PUNTO F_PUNTO
INPUT TIPO F_TIPO
INPUT CODSEZ F_CODSEZ
INPUT CODSOT F_CODSOT
COPY DISPLAY F_NUMERO
COPY OUTPUT F_NUMERO
CHECKTYPE REQUIRED
VALIDATE NOT_EMPTY_FUNC
GROUP 3
END
STRING F_DATAGIO 10
BEGIN
PROMPT 35 2 ""
FLAGS "D"
END
STRING F_PUNTO 4
BEGIN
PROMPT 2 3 "Punto di prelievo "
FIELD PUNTO
FLAGS "U"
USE LDN
INPUT CODTAB F_PUNTO
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_PUNTO CODTAB
OUTPUT F_D_PUNTO S0
CHECKTYPE REQUIRED
WARNING "Codice non presente"
HELP "Punto di prelievo per la convocazione"
VALIDATE NOT_EMPTY_FUNC
GROUP 3
END
STRING F_D_PUNTO 50
BEGIN
PROMPT 27 3 ""
FLAGS "D"
END
STRING F_TIPO 2
BEGIN
PROMPT 2 5 "Tipo donazione "
FIELD TIPO
PROMPT 2 2 "Tipo donazione "
FLAGS "U"
USE TDN
INPUT CODTAB F_TIPO
INPUT CODTAB F_TIPODON
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@40" S0
OUTPUT F_TIPO CODTAB
OUTPUT F_D_TIPO S0
CHECKTYPE REQUIRED
VALIDATE NOT_EMPTY_FUNC
DISPLAY "Descrizione@30" S0
OUTPUT F_TIPODON CODTAB
OUTPUT F_DESC_TIPODON S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Tipo donazione"
GROUP 3
END
STRING F_D_TIPO 25
STRING F_LUOGODON 4
BEGIN
PROMPT 25 5 ""
PROMPT 2 3 "Punto prelievo "
FLAGS "U"
USE LDN
INPUT CODTAB F_LUOGODON
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_LUOGODON CODTAB
OUTPUT F_DESC_LUOGODON S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Punto di prelievo"
END
STRING F_DESC_TIPODON 30
BEGIN
PROMPT 26 2 ""
FLAGS "D"
END
STRING F_CODSEZ 2
STRING F_DESC_LUOGODON 50
BEGIN
PROMPT 2 6 "Sezione "
FIELD CODSEZ
FLAGS "U"
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
CHECKTYPE SEARCH
HELP "Codice sezione da convocare"
ADD MASK batbsez
MESSAGE COPY,F_CODSEZH
GROUP 1 3
PROMPT 26 3 ""
FLAGS "D"
END
STRING F_CODSEZH 2
NUMBER F_TOTALE 8
BEGIN
PROMPT 2 6 "Sezione "
FIELD CODSEZ
FLAGS "U"
USE LF_CONVOC KEY 3
INPUT CODSEZ F_CODSEZ
INPUT CODSOT F_CODSOT
DISPLAY "Cod.sez" CODSEZ
DISPLAY "Cod.sot." CODSOT
DISPLAY "Data@10" DATA
DISPLAY "Punto" PUNTO
OUTPUT F_NUMERO NUMERO
OUTPUT F_CODSEZ CODSEZ
OUTPUT F_CODSOT CODSOT
OUTPUT F_DATA DATA
OUTPUT F_PUNTO PUNTO
CHECKTYPE NORMAL
GROUP 2 3
MESSAGE COPY,F_CODSEZH
END
STRING F_DENSEZ 25
BEGIN
PROMPT 25 6 ""
FLAGS "U"
USE LF_SEZIONI KEY 2
INPUT DENSEZ F_DENSEZ
DISPLAY "Sezione@25" DENSEZ
DISPLAY "Sottogruppo@25" DENSOT
DISPLAY "Cod.sez" CODSEZ
DISPLAY "Cod.sot." CODSOT
COPY OUTPUT F_CODSEZ
CHECKTYPE NORMAL
HELP "Denominazione sezione da convocare"
ADD MASK batbsez
GROUP 3
END
STRING F_CODSOT 2
BEGIN
PROMPT 2 7 "Sottogruppo "
FIELD CODSOT
COPY ALL F_CODSEZ
CHECKTYPE NORMAL
HELP "Codice sottogruppo da convocare"
ADD MASK batbsez
GROUP 1 3
MESSAGE COPY,F_CODSOTH
END
STRING F_CODSOTH 2
BEGIN
PROMPT 2 7 "Sottogruppo "
FIELD CODSOT
FLAGS "U"
COPY ALL F_CODSEZH
CHECKTYPE NORMAL
GROUP 2 3
MESSAGE COPY,F_CODSOTH
END
STRING F_DENSOT 25
BEGIN
PROMPT 25 7 ""
FLAGS "U"
COPY USE F_DENSEZ
INPUT DENSEZ F_DENSEZ
INPUT DENSOT F_DENSOT
COPY DISPLAY F_DENSEZ
COPY OUTPUT F_DENSEZ
CHECKTYPE NORMAL
HELP "Sottogruppo da convocare"
ADD MASK batbsez
GROUP 3
END
DATE F_DATAINI
BEGIN
PROMPT 2 8 "Data inizio conv. "
FIELD DATAINI
GROUP 3
END
STRING F_DATAINIGIO 10
BEGIN
PROMPT 35 8 ""
PROMPT 50 1 "Totale soggetti "
FLAGS "D"
END
BOOLEAN F_TUTTI
GROUPBOX DLG_NULL 77 5
BEGIN
PROMPT 2 10 "Convoca anche donatori di altre sezioni con questo punto prelievo"
FIELD TUTTI
PROMPT 1 5 "Dati corretti"
FLAGS "R"
END
BOOLEAN F_RITARDA
DATE F_NDATADON
BEGIN
PROMPT 2 11 "Ritardatari"
FIELD RITARDA
GROUP 3
END
NUMBER F_MAXRIT 3
BEGIN
PROMPT 20 11 "Massimo ritardo in giorni "
FIELD MAXRIT
GROUP 3
END
LISTBOX F_MODCONV 13
BEGIN
PROMPT 2 12 "Modalita' convoc. "
FIELD MODCONV
#include "modalita.h"
GROUP 3
END
STRING F_NOTE 100 50
BEGIN
PROMPT 2 13 "Note "
FIELD NOTE
END
GROUPBOX DLG_NULL 77 3
BEGIN
PROMPT 1 15 "Risultato della convocazione"
END
NUMBER F_NUMCONV 4
BEGIN
PROMPT 2 16 "Numero convocati "
FIELD NUMCONV
PROMPT 2 6 "Data donazione "
HELP "Data donazione"
//GROUP 1
FLAGS "D"
END
NUMBER F_NUMSOLL 4
STRING F_NTIPODON 2
BEGIN
PROMPT 27 16 "sollecitati "
FIELD NUMSOLL
PROMPT 2 7 "Tipo donazione "
FLAGS "U"
USE TDN
INPUT CODTAB F_NTIPODON
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@30" S0
OUTPUT F_NTIPODON CODTAB
OUTPUT F_DESC_NTIPODON S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Tipo donazione"
//GROUP 1
FLAGS "D"
END
NUMBER F_NUMRIT 4
STRING F_NLUOGODON 4
BEGIN
PROMPT 50 16 "ritardatari "
FIELD NUMRIT
FLAGS "D"
PROMPT 2 8 "Punto prelievo "
FLAGS "U"
USE LDN
INPUT CODTAB F_NLUOGODON
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_NLUOGODON CODTAB
OUTPUT F_DESC_NLUOGODON S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Punto di prelievo"
GROUP 1
END
BUTTON F_ESEGUI 20 2
STRING F_DESC_NTIPODON 30
BEGIN
PROMPT -13 -1 "Esegui convocazione"
GROUP 3
PROMPT 26 7 ""
FLAGS "D"
GROUP 1
END
BUTTON F_SISTAMPA 20 2
STRING F_DESC_NLUOGODON 50
BEGIN
PROMPT -23 -1 "Tutto stampato"
PROMPT 26 8 ""
FLAGS "D"
GROUP 1
END
BUTTON F_NOSTAMPA 20 2
SPREADSHEET F_SOGGETTI
BEGIN
PROMPT -33 -1 "Annulla stampa"
END
ENDPAGE
PAGE "Soggetti" -1 -1 78 20
SPREADSHEET F_CONVOCATI
BEGIN
PROMPT 1 1 "Convocati"
ITEM "Codice@10"
PROMPT 2 10 "Soggetti"
ITEM "Codice@8"
ITEM "Cognome@25"
ITEM "Nome@25"
ITEM "Data conv."
ITEM "Tipo"
ITEM "St."
ITEM "An."
ITEM "Nato il@10"
ITEM "Cat."
ITEM "Tessera"
ITEM "Se"
ITEM "So"
ITEM "Data u.d."
ITEM "Data pr."
ITEM "Don."
ITEM "Con."
ITEM "Et. sacca"
ITEM "1ø"
ITEM "Data don."
ITEM "Nato il@10"
ITEM "Sez."
ITEM "Sot."
ITEM "Cat."
ITEM "Int.SI"
END
ENDPAGE
@ -370,108 +179,165 @@ ENDMASK
PAGE "Soggetto " -1 -1 78 20
GROUPBOX DLG_NULL 77 7
GROUPBOX DLG_NULL 77 6
BEGIN
PROMPT 1 0 "Dati identificativi soggetto"
PROMPT 1 0 "Soggetto donatore"
FLAGS "R"
END
NUMBER F_S_CODICE 8
BEGIN
PROMPT 2 1 "Codice "
FLAGS "D"
//USE LF_SOGGETTI KEY 1
//INPUT CODICE F_S_CODICE
//DISPLAY "Codice@8" CODICE
//DISPLAY "Cognome@25" COGNOME
//DISPLAY "Nome@25" NOME
//DISPLAY "Nato il@10" DATANASC
//DISPLAY "Sez." CODSEZ
//DISPLAY "Sot." CODSOT
//DISPLAY "C." CATDON
//DISPLAY "Tessera" TESSAVIS
//OUTPUT F_S_CODICE CODICE
//OUTPUT F_S_COGNOME COGNOME
//OUTPUT F_S_NOME NOME
//OUTPUT F_S_DATANASC DATANASC
//OUTPUT F_S_CATDON CATDON
//OUTPUT F_S_TESSAVIS TESSAVIS
//OUTPUT F_S_CODSEZ CODSEZ
//OUTPUT F_S_CODSOT CODSOT
//CHECKTYPE NORMAL
//ADD RUN at0 -0
FLAGS "RG"
USE LF_SOGGETTI KEY 1
INPUT CODICE F_S_CODICE
DISPLAY "Codice@8" CODICE
DISPLAY "Cognome@25" COGNOME
DISPLAY "Nome@25" NOME
DISPLAY "Nato il@10" DATANASC
DISPLAY "Sez." CODSEZ
DISPLAY "Sot." CODSOT
DISPLAY "C." CATDON
DISPLAY "Tessera" TESSAVIS
DISPLAY "Gr.AB0" GRUPPOAB0
DISPLAY "Rh " RHANTID
DISPLAY "Int.SI" INTSI
OUTPUT F_S_CODICE CODICE
OUTPUT F_S_COGNOME COGNOME
OUTPUT F_S_NOME NOME
OUTPUT F_S_DATANASC DATANASC
OUTPUT F_S_CODSEZ CODSEZ
OUTPUT F_S_CODSOT CODSOT
OUTPUT F_S_CATDON CATDON
OUTPUT F_S_TESSAVIS TESSAVIS
OUTPUT F_S_INTSI INTSI
// CHECKTYPE NORMAL
ADD RUN at0 -0
END
STRING F_S_COGNOME 25
BEGIN
PROMPT 2 2 "Cognome e nome "
FLAGS "D"
//USE LF_SOGGETTI KEY 2
//INPUT COGNOME F_S_COGNOME
//INPUT NOME F_S_NOME
//DISPLAY "Cognome@25" COGNOME
//DISPLAY "Nome@25" NOME
//DISPLAY "Nato il@10" DATANASC
//DISPLAY "Codice@8" CODICE
//DISPLAY "Sez." CODSEZ
//DISPLAY "Sot." CODSOT
//DISPLAY "C." CATDON
//DISPLAY "Tessera" TESSAVIS
//COPY OUTPUT F_S_CODICE
//CHECKTYPE SEARCH
USE LF_SOGGETTI KEY 2
INPUT COGNOME F_S_COGNOME
INPUT NOME F_S_NOME
INPUT DATANASC F_S_DATANASC
DISPLAY "Cognome@25" COGNOME
DISPLAY "Nome@25" NOME
DISPLAY "Nato il@10" DATANASC
DISPLAY "Codice@8" CODICE
DISPLAY "Sez." CODSEZ
DISPLAY "Sot." CODSOT
DISPLAY "C." CATDON
DISPLAY "Tessera" TESSAVIS
DISPLAY "Gr.AB0" GRUPPOAB0
DISPLAY "Rh " RHANTID
DISPLAY "Int.SI" INTSI
OUTPUT F_S_CODICE CODICE
OUTPUT F_S_COGNOME COGNOME
OUTPUT F_S_NOME NOME
OUTPUT F_S_DATANASC DATANASC
OUTPUT F_S_CODSEZ CODSEZ
OUTPUT F_S_CODSOT CODSOT
OUTPUT F_S_CATDON CATDON
OUTPUT F_S_TESSAVIS TESSAVIS
OUTPUT F_S_INTSI INTSI
HELP "Cognome del soggetto"
//ADD RUN at0 -0
// CHECKTYPE NORMAL
ADD RUN at0 -0
END
STRING F_S_NOME 25
BEGIN
PROMPT 46 2 ""
FLAGS "D"
//USE LF_SOGGETTI KEY 2
//INPUT COGNOME F_S_COGNOME
//INPUT NOME F_S_NOME
//DISPLAY "Cognome@25" COGNOME
//DISPLAY "Nome@25" NOME
//DISPLAY "Nato il@10" DATANASC
//DISPLAY "Codice@8" CODICE
//DISPLAY "Sez." CODSEZ
//DISPLAY "Sot." CODSOT
//DISPLAY "C." CATDON
//DISPLAY "Tessera" TESSAVIS
//COPY OUTPUT F_S_CODICE
COPY ALL F_S_COGNOME
HELP "Nome del soggetto"
// CHECKTYPE NORMAL
//ADD RUN at0 -0
ADD RUN at0 -0
END
GROUPBOX DLG_NULL 77 5
STRING F_S_TESSAVIS 6
BEGIN
PROMPT 1 7 "Dati convocazione"
FLAGS "R"
PROMPT 33 3 "Tessera AVIS "
USE LF_SOGGETTI KEY 4
INPUT TESSAVIS F_S_TESSAVIS
DISPLAY "Tessera" TESSAVIS
DISPLAY "Cognome@25" COGNOME
DISPLAY "Nome@25" NOME
DISPLAY "Nato il@10" DATANASC
DISPLAY "Codice@8" CODICE
DISPLAY "Sez." CODSEZ
DISPLAY "Sot." CODSOT
DISPLAY "C." CATDON
DISPLAY "Gr.AB0" GRUPPOAB0
DISPLAY "Rh " RHANTID
DISPLAY "Int.SI" INTSI
OUTPUT F_S_CODICE CODICE
OUTPUT F_S_COGNOME COGNOME
OUTPUT F_S_NOME NOME
OUTPUT F_S_DATANASC DATANASC
OUTPUT F_S_CODSEZ CODSEZ
OUTPUT F_S_CODSOT CODSOT
OUTPUT F_S_CATDON CATDON
OUTPUT F_S_TESSAVIS TESSAVIS
OUTPUT F_S_INTSI INTSI
HELP "Cognome del soggetto"
// CHECKTYPE NORMAL
ADD RUN at0 -0
END
DATE F_S_DATACONV
STRING F_S_TIPODON 2
BEGIN
PROMPT 2 8 "Convocato il "
PROMPT 2 16 "Tipo donazione "
FLAGS "U"
USE TDN
INPUT CODTAB F_S_TIPODON
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@30" S0
OUTPUT F_S_TIPODON CODTAB
//OUTPUT F_S_DESC_TIPODON S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Tipo donazione (se diverso da dati fissi)"
END
LISTBOX F_S_CHIAMATA 15
GROUPBOX DLG_NULL 77 9
BEGIN
PROMPT 30 8 "Tipo convocazione "
FLAGS "UD"
ITEM "C|Convocato"
ITEM "S|Sollecitato"
ITEM "R|Ritardatario"
PROMPT 1 6 "Dati del controllo sanitario effettuato"
END
BOOLEAN F_S_STAMPATO
STRING F_S_TIPOCON 2
BEGIN
PROMPT 2 9 "Convocazione stampata"
PROMPT 2 7 "Tipo controllo "
FLAGS "U"
USE TCS SELECT S6=="N"
INPUT CODTAB F_S_TIPOCON
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@30" S0
OUTPUT F_S_TIPOCON CODTAB
OUTPUT F_S_DESC_TIPOCON S0
WARNING "Codice non presente"
HELP "Tipo/Esito controllo sanitario"
END
BOOLEAN F_S_ANNULLATO
GROUPBOX DLG_NULL 77 3
BEGIN
PROMPT 2 10 "Convocazione annullata"
PROMPT 1 15 "Dati complementari della donazione"
END
NUMBER F_S_ETICHETTA 9
BEGIN
PROMPT 30 16 "Etichetta sacca "
END
BOOLEAN F_S_PRIMADON
BEGIN
PROMPT 60 16 "Prima donazione"
END
DATE F_S_DATADON
BEGIN
PROMPT 2 16 "Data don. "
END
DATE F_S_DATANASC
@ -480,28 +346,18 @@ BEGIN
FLAGS "D"
END
STRING F_S_CATDON 2
BEGIN
PROMPT 60 3 "Categoria "
FLAGS "D"
//USE CTD
//INPUT CODTAB F_S_CATDON
//OUTPUT F_S_DESC_CATDON S0
//CHECKTYPE NORMAL
END
STRING F_S_TESSAVIS 10
BEGIN
PROMPT 33 3 "Tessera AVIS "
FLAGS "D"
END
STRING F_S_CODSEZ 2
BEGIN
PROMPT 2 4 "Sez./Sottog. "
FLAGS "D"
END
STRING F_S_DENSEZ 25 23
BEGIN
PROMPT 20 4 ""
FLAGS "D"
END
STRING F_S_CODSOT 2
BEGIN
PROMPT 46 4 ""
@ -514,52 +370,183 @@ BEGIN
CHECKTYPE NORMAL
END
DATE F_S_DATAULTDON
BEGIN
PROMPT 2 5 "Data ult. don."
FLAGS "D"
END
DATE F_S_DATAPROSSI
BEGIN
PROMPT 35 5 "Data pross. don."
FLAGS "D"
END
STRING F_S_DENSOT 25 23
BEGIN
PROMPT 49 4 ""
FLAGS "D"
END
STRING F_S_DENSEZ 25 23
STRING F_S_CATDON 2
BEGIN
PROMPT 20 4 ""
PROMPT 60 3 "Categoria "
FLAGS "D"
// USE CTD
// INPUT CODTAB F_S_CATDON
// OUTPUT F_S_DESC_CATDON S0
// CHECKTYPE NORMAL
END
NUMBER F_S_INTSI 3 0
BEGIN
PROMPT 40 12 "Sangue intero "
END
STRING F_S_DESC_TIPOCON 25
BEGIN
PROMPT 23 7 ""
FLAGS "D"
END
//STRING F_S_DESC_CATDON 25
//STRING F_S_DESC_CATDON 25 15
//BEGIN
// PROMPT 12 8 ""
// PROMPT 61 3 ""
// FLAGS "D"
//END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "Se idoneita': tipi donazione ammessi"
END
STRING F_S_IDON1 2
BEGIN
PROMPT 40 8 ""
FLAGS "U"
USE IDO
INPUT CODTAB F_S_IDON1
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@40" S0
OUTPUT F_S_IDON1 CODTAB
OUTPUT F_S_DESC_IDON1 S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Idoneita' alla donazione"
END
STRING F_S_IDON2 2
BEGIN
PROMPT 40 9 ""
FLAGS "U"
USE IDO
INPUT CODTAB F_S_IDON2
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@40" S0
OUTPUT F_S_IDON2 CODTAB
OUTPUT F_S_DESC_IDON2 S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Idoneita' alla donazione"
END
STRING F_S_IDON3 2
BEGIN
PROMPT 40 10 ""
FLAGS "U"
USE IDO
INPUT CODTAB F_S_IDON3
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@40" S0
OUTPUT F_S_IDON3 CODTAB
OUTPUT F_S_DESC_IDON3 S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Idoneita' alla donazione"
END
STRING F_S_IDON4 2
BEGIN
PROMPT 40 11 ""
FLAGS "U"
USE IDO
INPUT CODTAB F_S_IDON4
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@40" S0
OUTPUT F_S_IDON4 CODTAB
OUTPUT F_S_DESC_IDON4 S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Idoneita' alla donazione"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 12 " intervalli"
END
//NUMBER F_S_INTSI 3 0
//BEGIN
// PROMPT 29 12 "Sangue intero "
// FLAGS "U"
//END
NUMBER F_S_INTAF 3 0
BEGIN
PROMPT 59 12 "Aferesi "
FLAGS "U"
END
STRING F_S_PROSSTIPO 2
BEGIN
PROMPT 2 13 "Prossimo tipo "
FLAGS "U"
USE TCS
INPUT CODTAB F_S_PROSSTIPO
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@40" S0
OUTPUT F_S_PROSSTIPO CODTAB
OUTPUT F_S_DESC_PROSSTIPO S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Tipo/Esito controllo sanitario"
END
DATE F_S_PROSSDATA
BEGIN
PROMPT 55 13 "Data "
FLAGS "D"
HELP "Data controllo"
END
STRING F_S_DESC_IDON1 25
BEGIN
PROMPT 45 8 ""
FLAGS "D"
END
STRING F_S_DESC_IDON2 25
BEGIN
PROMPT 45 9 ""
FLAGS "D"
END
STRING F_S_DESC_IDON3 25
BEGIN
PROMPT 45 10 ""
FLAGS "D"
END
STRING F_S_DESC_IDON4 25
BEGIN
PROMPT 45 11 ""
FLAGS "D"
END
STRING F_S_DESC_PROSSTIPO 25
BEGIN
PROMPT 23 13 ""
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -22 -1 ""
PROMPT -23 -1 ""
END
//BUTTON DLG_DELREC 9 2
//BEGIN
// PROMPT -33 -1 ""
// MESSAGE EXIT, K_DEL
//END
ENDPAGE
ENDMASK

@ -1,214 +1,15 @@
#include <mask.h>
#include <printapp.h>
#include <utility.h>
#include <lffiles.h>
#include <confapp.h>
#include "at0.h"
#include "at0500a.h"
// nomi dei campi
#include "soggetti.h"
#include "sezioni.h"
#include "convoc.h"
#include "rconvoc.h"
class TSpostamentoConv : public TPrintapp
class ATParametriSezione : public TConfig_application
{
TRelation* _rel;
TMask* _msk;
int _cur;
TLocalisamfile* _rconvoc;
TLocalisamfile* _soggetti;
TDate _dataini, _datafin, _spostadal, _spostaal;
TString16 _punto,_tipo, _sezione, _sottog;
int _quanti; // numero di convocazioni per giorni
int _spostati; // contatore dei soggetti spostati per giorno
int _nonspostati; // donatori di sezioni non selezianate che hanno la convocazione che corrisponde alle selezioni fatte
int _contatore;
TDate _data; // data a cui spostare
bool _stampa;
//static bool filter_func_stconvoc(const TRelation* rel);
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual bool set_print(int m);
virtual void set_page(int file, int cnt);
virtual bool preprocess_page(int file, int counter);
virtual print_action postprocess_print(int file, int counter);
public:
TMask& app_mask() { return *_msk; }
TSpostamentoConv() {}
ATParametriSezione() : TConfig_application(CONFIG_STUDIO) {}
virtual ~ATParametriSezione() {}
};
HIDDEN inline TSpostamentoConv& app() { return (TSpostamentoConv&) main_app(); }
void TSpostamentoConv::set_page(int file, int cnt)
int at0500 (int argc, char* argv[])
{
set_row(1,"@0g@pn", FLD(LF_SOGGETTI,SOG_CODICE,"#########"));
set_row(1,"@10g@S", FLD(LF_SOGGETTI,SOG_CATDON));
set_row(1,"@13g@S", FLD(LF_SOGGETTI,SOG_COGNOME));
set_row(1,"@39g@ld", FLD(LF_SOGGETTI,SOG_DATANASC));
set_row(1,"@50g@ld", FLD(LF_RCONVOC,RCV_DATACONV));
set_row(2,"@13g@S", FLD(LF_SOGGETTI,SOG_NOME));
set_row(2,"@50g@S", FLD(LF_RCONVOC,RCV_CHIAMATA));
set_row(3, "");
}
print_action TSpostamentoConv::postprocess_print(int file, int counter)
{
//if (_contatore > 0)
_msk->set(F_SPOSTATI,_contatore);
//if (_nonspostati > 0)
_msk->set(F_NONSPOSTATI,_nonspostati);
return NEXT_PAGE;
}
bool TSpostamentoConv::preprocess_page(int file, int counter)
{
TString16 sez = current_cursor()->file(LF_SOGGETTI).get(SOG_CODSEZ);
TString16 sot = current_cursor()->file(LF_SOGGETTI).get(SOG_CODSOT);
if ((sez == app()._sezione || app()._sezione.blank()) && (sot == app()._sottog || app()._sottog.blank()))
{
TDate& data = app()._data;
app()._contatore++;
app()._spostati++;
if (app()._spostati > app()._quanti)
{
++data;
if (data > app()._spostaal)
data = app()._spostaal;
app()._spostati = 1;
}
current_cursor()->curr().put(RCV_DATACONV,data);
current_cursor()->file().setkey(1);
const int err = current_cursor()->file().rewrite();
current_cursor()->file().setkey(2);
current_cursor()->curr(LF_SOGGETTI).put(SOG_DATACONV,data);
TDate dataultsol = current_cursor()->curr(LF_SOGGETTI).get_date(SOG_DATAULTSOL);
if (dataultsol == data)
current_cursor()->curr(LF_SOGGETTI).put(SOG_DATAULTSOL,data);
current_cursor()->file(LF_SOGGETTI).rewrite();
return app()._stampa;
}
else
{
app()._nonspostati++;
return FALSE;
}
}
bool TSpostamentoConv::set_print(int m)
{
_stampa = FALSE;
KEY tasto = F_AZZERA;
while (tasto == F_AZZERA)
{
tasto = _msk->run();
if (tasto == F_AZZERA)
_msk->reset();
}
if (tasto == F_STAMPA)
_stampa = TRUE;
if (tasto != K_QUIT)
{
_dataini = _msk->get(F_DATAINI);
_datafin = _msk->get(F_DATAFIN);
_punto = _msk->get(F_PUNTO);
_tipo = _msk->get(F_TIPO);
_sezione = _msk->get(F_CODSEZ);
_sottog = _msk->get(F_CODSOT);
_spostadal = _msk->get(F_SPOSTADAL);
_spostaal = _msk->get(F_SPOSTAAL);
_contatore = 0;
_nonspostati = 0;
TString256 filtro = "(116->STAMPATO != \"X\")";
// filtro per punto di prelievo
if (_punto.not_empty())
{
if (filtro.not_empty())
filtro << " && ";
filtro << format("(115->PUNTO == \"%s\")",(const char*)_punto);
}
// filtro per tipo
if (_tipo.not_empty())
{
if (filtro.not_empty())
filtro << " && ";
filtro << format("(115->TIPO == \"%s\")",(const char*)_tipo);
}
// filtro per sezione/sottogruppo
/*
if (_sezione.not_empty())
{
if (filtro.not_empty())
filtro << " && ";
filtro << format("(90->CODSEZ == \"%s\")",(const char*)_sezione);
if (_sottog.not_empty())
{
if (filtro.not_empty())
filtro << " && ";
filtro << format("(90->CODSOT == \"%s\")",(const char*)_sottog);
}
}
*/
// filtro per data
TRectype da(LF_RCONVOC);
TRectype a (LF_RCONVOC);
if (_dataini.ok())
da.put(RCV_DATACONV, _dataini);
if (_datafin.ok())
a.put(RCV_DATACONV, _datafin);
_cur = add_cursor(new TCursor(_rel,"", 2, &da, &a));
// non posso metterlo nel costruttore del tcursor perchè
// non c'è la possibilità di specificare il parametro TRUE che c'è
// nella setfilter
current_cursor()->setfilter((const char*) filtro, TRUE);
current_cursor()->freeze();
const int giorni = (int)(_spostaal-_spostadal)+1; // giorni su cui suddividere la chiamata
_quanti = ((int)(current_cursor()->items())/giorni)+1; // quanti donatori per giorno
if (_quanti < 1)
_quanti = 1;
_spostati = 0;
_data = _spostadal;
reset_files();
add_file(LF_RCONVOC);
reset_print();
return TRUE;
}
else
return FALSE;
}
bool TSpostamentoConv::user_create()
{
_rel = new TRelation(LF_RCONVOC);
_rel->add(LF_SOGGETTI, "CODICE==CODICE");
_rel->add(LF_CONVOC, "NUMERO==NUMERO");
/*
_rel->add("LCP", "CODTAB==DOM_CODLOC",1,LF_SOGGETTI,ALIAS_LCP);
_rel->add(LF_COMUNI, "COM==DOM_CODCOM",1,LF_SOGGETTI);
// per stampare la denominazione della sezione nell'intestazione
_rel->add(LF_SEZIONI, "CODSEZ==CODSEZ|CODSOT==CODSOT",1,LF_SOGGETTI);
*/
_msk = new TMask("at0500a");
return TRUE;
}
bool TSpostamentoConv::user_destroy()
{
delete _msk;
delete _rel;
return TRUE;
}
int at0500(int argc, char* argv[])
{
TSpostamentoConv a;
a.run(argc, argv, "Spostamento convocazioni");
ATParametriSezione appc;
appc.run(argc, argv, "Parametri Sezione");
return 0;
}

@ -1,19 +1,89 @@
// Spostamento convocazioni per BOLOGNA
// definizione campi per maschera
// definizione campi della maschera at5100a.msk
// Gestione parametri sezione
#define F_DATAINI 101
#define F_DATAFIN 102
#define F_PUNTO 103
#define F_D_PUNTO 104
#define F_TIPO 105
#define F_D_TIPO 106
#define F_CODSEZ 107
#define F_DENSEZ 108
#define F_CODSOT 109
#define F_DENSOT 110
#define F_SPOSTADAL 111
#define F_SPOSTAAL 112
#define F_SPOSTATI 113
#define F_NONSPOSTATI 114
#define F_STAMPA 201
#define F_AZZERA 202
// passaggio di categoria sul numero di donazioni 1
#define AT_NUMDON1 101 // numero donazioni necessarie per il primo passaggio
#define AT_CATINI1 102 // categoria iniziale (di partenza)
#define AT_CATFIN1 103 // categoria finale (di destinazione)
// passaggio di categoria sul numero di donazioni 2
#define AT_NUMDON2 104 // numero donazioni necessarie per il primo passaggio
#define AT_CATINI2 105 // categoria iniziale (di partenza)
#define AT_CATFIN2 106 // categoria finale (di destinazione)
#define AT_STTESS2 107 // da fare al momento della stampa tessera
// data iscrizione
#define AT_DATAISC 108 // data iscrizione se vuota = data prima donazione
// stampa
#define AT_STAMPA80 109 // stampa 80 colonne (dove prevista)
//intervalli di donazione per idoneita' automatiche
#define AT_ETADONNE 110 // limite di et… per intervalli primo caso (eta' fertile)
#define AT_INTSI_F1 111 // intervallo SI per femmine prima fascia
#define AT_INTSI_F2 112 // intervallo SI per femmine seconda fascia
#define AT_INTSI_M 113 // intervallo SI per maschi
#define AT_INTAF_M 114 // intervallo AF per tutti
// definizione etichette soggetti
#define AT_ETFORM 115
#define AT_ETLARG 116
#define AT_ETCOL 117
// disabilita messaggi in giornaliero donazioni
#define AT_NOMESSAGE 118
// definizione schede
#define AT_SCHFORM 119
#define AT_SCHXPAG 120
// definizione elenco personalizzato
#define AT_ELENCO 121
// definizione etichette sezioni
#define AT_ETSFORM 122
#define AT_ETSLARG 123
#define AT_ETSCOL 124
// descrizioni
#define AT_D_CATINI1 151
#define AT_D_CATFIN1 152
#define AT_D_CATINI2 153
#define AT_D_CATFIN2 154
#define AT_D_ETFORM 155
#define AT_D_SCHFORM 156
#define AT_D_ELENCO 157
#define AT_D_ETSFORM 158
// controlli sotto password
#define AT_CTRLPASS 159
// totale etichette stampate
#define AT_ETICTOT 160
// idoneita automatica al momento della donazione
#define AT_AUTOID 161
// motivo idoneita automatica
#define AT_MOTIVOID 162
#define AT_D_MOTIVOID 163
// definizione etichette per notiziario
#define AT_NETFORM 164
#define AT_NETLARG 165
#define AT_NETCOL 166
#define AT_D_NETFORM 167
// definizione cartoline per donazioni
#define AT_CAFORM 168
#define AT_CAPARAM 169
#define AT_D_CAFORM 170
// definizione cartoline altre stampe (dove previste)
#define AT_ACAFORM 171
#define AT_ACAPARAM 172
#define AT_D_ACAFORM 173
// definizione tessere
#define AT_TEFORM 174
#define AT_D_TEFORM 175

@ -1,192 +1,460 @@
#include "at0500a.h"
/* toolbar */
TOOLBAR "" 0 20 0 2
BUTTON F_STAMPA 20 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -14 -11 "Conferma e ~Stampa"
MESSAGE EXIT,F_STAMPA
PROMPT -12 -1 ""
END
BUTTON DLG_OK 9 2
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -24 -11 ""
MESSAGE EXIT,K_ENTER
END
BUTTON F_AZZERA 9 2
BEGIN
PROMPT -34 -11 "A~zzera"
MESSAGE EXIT,F_AZZERA
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -44 -11 ""
PROMPT -22 -1 ""
END
ENDPAGE
PAGE "Spostamento convocazioni" -1 -1 78 20
PAGE "Automatismi" -1 -1 78 20
GROUPBOX DLG_NULL 77 8
GROUPBOX DLG_NULL 77 5
BEGIN
PROMPT 1 1 "Convocazioni da spostare"
PROMPT 1 0 "Primo passaggio di categoria"
END
DATE F_DATAINI
NUMBER AT_NUMDON1 3
BEGIN
PROMPT 2 2 "Data iniziale "
CHECKTYPE REQUIRED
PROMPT 2 1 "Donazioni necessarie "
HELP "Numero donazioni necessarie per il passaggio"
FIELD NumDon1
END
DATE F_DATAFIN
STRING AT_CATINI1 2
BEGIN
PROMPT 2 3 "Data finale "
CHECKTYPE REQUIRED
VALIDATE DATE_CMP_FUNC >= F_DATAINI
WARNING "La data finale non puo' essere inferiore alla iniziale"
END
STRING F_PUNTO 4
BEGIN
PROMPT 2 4 "Punto prelievo "
FLAGS "U"
USE LDN
INPUT CODTAB F_PUNTO
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@40" S0
OUTPUT F_PUNTO CODTAB
OUTPUT F_D_PUNTO S0
CHECTYPE NORMAL
END
STRING F_D_PUNTO 50
BEGIN
PROMPT 25 4 ""
FLAGS "D"
END
STRING F_TIPO 2
BEGIN
PROMPT 2 5 "Tipo donazione "
FLAGS "U"
USE TDN
INPUT CODTAB F_TIPO
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@40" S0
OUTPUT F_TIPO CODTAB
OUTPUT F_D_TIPO S0
PROMPT 2 2 "Categoria di partenza "
HELP "Categoria di partenza per il passaggio (possibile vuota)"
USE CTD
INPUT CODTAB[1,2] AT_CATINI1
DISPLAY "Cat." CODTAB[1,2]
DISPLAY "Descrizione@50" S0
OUTPUT AT_CATINI1 CODTAB[1,2]
OUTPUT AT_D_CATINI1 S0
FIELD CatIni1
CHECKTYPE NORMAL
END
STRING F_D_TIPO 25
STRING AT_CATFIN1 2
BEGIN
PROMPT 2 3 "Categoria di arrivo "
HELP "Categoria di arrivo per il passaggio (possibile vuota)"
USE CTD
INPUT CODTAB[1,2] AT_CATFIN1
DISPLAY "Cat." CODTAB[1,2]
DISPLAY "Descrizione@50" S0
OUTPUT AT_CATFIN1 CODTAB[1,2]
OUTPUT AT_D_CATFIN1 S0
FIELD CatFin1
CHECKTYPE NORMAL
END
GROUPBOX DLG_NULL 77 5
BEGIN
PROMPT 1 5 "Secondo passaggio di categoria"
END
NUMBER AT_NUMDON2 3
BEGIN
PROMPT 2 6 "Donazioni necessarie "
HELP "Numero donazioni necessarie per il passaggio"
FIELD NumDon2
END
BOOLEAN AT_STTESS2
BEGIN
PROMPT 30 6 "Passaggio con stampa tessera"
HELP "Eseguire il cambio di categoria al momento della stampa tessera"
FIELD StTess2
END
STRING AT_CATINI2 2
BEGIN
PROMPT 2 7 "Categoria di partenza "
HELP "Categoria di partenza per il passaggio (possibile vuota)"
USE CTD
INPUT CODTAB[1,2] AT_CATINI2
DISPLAY "Cat." CODTAB[1,2]
DISPLAY "Descrizione@50" S0
OUTPUT AT_CATINI2 CODTAB[1,2]
OUTPUT AT_D_CATINI2 S0
FIELD CatIni2
CHECKTYPE NORMAL
END
STRING AT_CATFIN2 2
BEGIN
PROMPT 2 8 "Categoria di arrivo "
HELP "Categoria di arrivo per il passaggio (possibile vuota)"
USE CTD
INPUT CODTAB[1,2] AT_CATFIN2
DISPLAY "Cat." CODTAB[1,2]
DISPLAY "Descrizione@50" S0
OUTPUT AT_CATFIN2 CODTAB[1,2]
OUTPUT AT_D_CATFIN2 S0
FIELD CatFin2
CHECKTYPE NORMAL
END
GROUPBOX DLG_NULL 77 5
BEGIN
PROMPT 1 10 "Intervalli di donazione nelle idoneita' automatiche"
END
NUMBER AT_ETADONNE 3
BEGIN
PROMPT 2 11 "Eta' per la suddivisione delle donne in due fasce "
FIELD EtaDonne
END
NUMBER AT_INTSI_F1 3
BEGIN
PROMPT 2 12 "Intervallo SI per femmine 1ø fascia "
FIELD IntSI_F1
END
NUMBER AT_INTSI_F2 3
BEGIN
PROMPT 2 13 "Intervallo SI per femmine 2ø fascia "
FIELD IntSI_F2
END
NUMBER AT_INTSI_M 3
BEGIN
PROMPT 45 12 "Intervallo SI per maschi "
FIELD IntSI_M
END
NUMBER AT_INTAF_M 3
BEGIN
PROMPT 45 13 "Intervallo AF per tutti "
FIELD IntAF_M
END
BOOLEAN AT_DATAISC
BEGIN
PROMPT 2 16 "Data iscrizione (se vuota) uguale a data prima donazione"
HELP "Data iscrizione automaticamente uguale alla data prima donazione, se vuota"
FIELD DataIsc
END
BOOLEAN AT_NOMESSAGE
BEGIN
PROMPT 2 17 "Disabilita messaggi in giornaliero donazioni"
HELP "Disabilita i messaggi di attenzione in giornaliero donazioni"
FIELD NoMessage
END
BOOLEAN AT_AUTOID
BEGIN
PROMPT 2 18 "Idoneita' automatica"
HELP "Idoneita' automatica in giornaliero donazioni"
FIELD AutoId
MESSAGE TRUE ENABLE,AT_MOTIVOID
MESSAGE FALSE RESET,AT_MOTIVOID|DISABLE,AT_MOTIVOID
END
STRING AT_MOTIVOID 4
BEGIN
PROMPT 30 18 "Motivo "
FIELD MotivoId
FLAGS "U"
USE MTC
INPUT CODTAB AT_MOTIVOID
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT AT_MOTIVOID CODTAB
OUTPUT AT_D_MOTIVOID S0
CHECKTYPE NORMAL
WARNING "Codice motivo non presente"
HELP "Motivo del controllo sanitario"
END
STRING AT_D_MOTIVOID 25
BEGIN
PROMPT 45 18 ""
FLAGS "D"
END
BOOLEAN AT_CTRLPASS
BEGIN
PROMPT 2 19 "Accesso ai controlli sanitari con password"
HELP "Permette l'inserimento ai controlli sanitari solo con password"
FIELD CtrlPass
END
STRING AT_D_CATINI1 40
BEGIN
PROMPT 30 2 ""
FLAGS "D"
END
STRING AT_D_CATFIN1 40
BEGIN
PROMPT 30 3 ""
FLAGS "D"
END
STRING AT_D_CATINI2 40
BEGIN
PROMPT 30 7 ""
FLAGS "D"
END
STRING AT_D_CATFIN2 40
BEGIN
PROMPT 30 8 ""
FLAGS "D"
END
ENDPAGE
PAGE "Etichette" -1 -1 78 20
GROUPBOX DLG_NULL 77 4
BEGIN
PROMPT 1 0 "Etichette soggetti"
END
STRING AT_ETFORM 8
BEGIN
PROMPT 2 1 "Formato "
FIELD EtFormato
USE LF_FORM
INPUT TIPOPROF AT_ETFORM
DISPLAY "Formato@8" TIPOPROF
DISPLAY "Descrizione@50" DESC
OUTPUT AT_ETFORM TIPOPROF
OUTPUT AT_D_ETFORM DESC
CHECKTYPE SEARCH
END
STRING AT_D_ETFORM 50
BEGIN
PROMPT 23 1 ""
FLAGS "D"
END
NUMBER AT_ETLARG 3
BEGIN
PROMPT 2 2 "Larghezza "
FIELD EtLarghezza
END
NUMBER AT_ETCOL 1
BEGIN
PROMPT 20 2 "Colonne "
FIELD EtColonne
END
GROUPBOX DLG_NULL 77 4
BEGIN
PROMPT 1 4 "Etichette per notiziario"
END
STRING AT_NETFORM 8
BEGIN
PROMPT 2 5 "Formato "
FIELD EtNFormato
USE LF_FORM
INPUT TIPOPROF AT_NETFORM
DISPLAY "Formato@8" TIPOPROF
DISPLAY "Descrizione@50" DESC
OUTPUT AT_NETFORM TIPOPROF
OUTPUT AT_D_NETFORM DESC
CHECKTYPE SEARCH
END
STRING AT_D_NETFORM 50
BEGIN
PROMPT 23 5 ""
FLAGS "D"
END
STRING F_CODSEZ 2
NUMBER AT_NETLARG 3
BEGIN
PROMPT 2 6 "Sezione "
FLAGS "U"
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
CHECKTYPE SEARCH
HELP "Codice sezione da convocare"
ADD MASK batbsez
PROMPT 2 6 "Larghezza "
FIELD EtNLarghezza
END
STRING F_DENSEZ 25
NUMBER AT_NETCOL 1
BEGIN
PROMPT 23 6 ""
FLAGS "U"
USE LF_SEZIONI KEY 2
INPUT DENSEZ F_DENSEZ
DISPLAY "Sezione@25" DENSEZ
DISPLAY "Sottogruppo@25" DENSOT
DISPLAY "Cod.sez" CODSEZ
DISPLAY "Cod.sot." CODSOT
COPY OUTPUT F_CODSEZ
CHECKTYPE NORMAL
HELP "Denominazione sezione da convocare"
ADD MASK batbsez
END
STRING F_CODSOT 2
BEGIN
PROMPT 2 7 "Sottogruppo "
COPY ALL F_CODSEZ
CHECKTYPE NORMAL
HELP "Codice sottogruppo da convocare"
ADD MASK batbsez
END
STRING F_DENSOT 25
BEGIN
PROMPT 23 7 ""
FLAGS "U"
COPY USE F_DENSEZ
INPUT DENSEZ F_DENSEZ
INPUT DENSOT F_DENSOT
COPY DISPLAY F_DENSEZ
COPY OUTPUT F_DENSEZ
CHECKTYPE NORMAL
HELP "Sottogruppo da convocare"
ADD MASK batbsez
PROMPT 20 6 "Colonne "
FIELD EtNColonne
END
GROUPBOX DLG_NULL 77 4
BEGIN
PROMPT 1 10 "Periodo su cui distribuire le convocazioni"
PROMPT 1 8 "Etichette sezioni"
END
DATE F_SPOSTADAL
STRING AT_ETSFORM 8
BEGIN
PROMPT 2 11 "Data iniziale "
CHECKTYPE REQUIRED
VALIDATE DATE_CMP_FUNC > F_DATAFIN
WARNING "Non e' possibile effettuare spostamenti a date inferiori"
PROMPT 2 9 "Formato "
FIELD EtSFormato
USE LF_FORM
INPUT TIPOPROF AT_ETSFORM
DISPLAY "Formato@8" TIPOPROF
DISPLAY "Descrizione@50" DESC
OUTPUT AT_ETSFORM TIPOPROF
OUTPUT AT_D_ETSFORM DESC
CHECKTYPE SEARCH
END
DATE F_SPOSTAAL
STRING AT_D_ETSFORM 50
BEGIN
PROMPT 2 12 "Data finale "
CHECKTYPE REQUIRED
VALIDATE DATE_CMP_FUNC >= F_SPOSTADAL
WARNING "La data finale dello spostamento non puo' essere inferiore all'iniziale"
END
NUMBER F_SPOSTATI 4
BEGIN
PROMPT 50 11 "Numero spostati "
PROMPT 23 9 ""
FLAGS "D"
END
NUMBER F_NONSPOSTATI 4
NUMBER AT_ETSLARG 3
BEGIN
PROMPT 50 12 "Non spostati "
FLAGS "D"
PROMPT 2 10 "Larghezza "
FIELD EtSLarghezza
END
TEXT DLG_NULL
NUMBER AT_ETSCOL 1
BEGIN
PROMPT 2 14 "I soggetti non spostati sono quelli che hanno una convocazione corrispondente"
PROMPT 20 10 "Colonne "
FIELD EtSColonne
END
TEXT DLG_NULL
BOOLEAN AT_ETICTOT
BEGIN
PROMPT 2 15 "alle selezioni fatte, ma che non appartengono alla sezione/sottogruppo scelta "
PROMPT 2 13 "Stampa totale etichette stampate"
HELP "Stampa una riga di totale etichette stampate in fondo alla stampa"
FIELD EticTot
END
ENDPAGE
PAGE "Altre stampe" -1 -1 78 20
GROUPBOX DLG_NULL 77 4
BEGIN
PROMPT 1 0 "Scheda soggetti"
END
STRING AT_SCHFORM 8
BEGIN
PROMPT 2 1 "Formato "
FIELD SchFormato
USE LF_FORM
INPUT TIPOPROF AT_SCHFORM
DISPLAY "Formato@8" TIPOPROF
DISPLAY "Descrizione@50" DESC
OUTPUT AT_SCHFORM TIPOPROF
OUTPUT AT_D_SCHFORM DESC
CHECKTYPE SEARCH
END
STRING AT_D_SCHFORM 50
BEGIN
PROMPT 23 1 ""
FLAGS "D"
END
NUMBER AT_SCHXPAG 1
BEGIN
PROMPT 2 2 "Numero schede per pagina "
FIELD SchXPag
END
GROUPBOX DLG_NULL 77 3
BEGIN
PROMPT 1 4 "Elenco personalizzato"
END
STRING AT_ELENCO 8
BEGIN
PROMPT 2 5 "Formato "
FIELD ElencoFormato
USE LF_FORM
INPUT TIPOPROF AT_ELENCO
DISPLAY "Formato@8" TIPOPROF
DISPLAY "Descrizione@50" DESC
OUTPUT AT_ELENCO TIPOPROF
OUTPUT AT_D_ELENCO DESC
CHECKTYPE SEARCH
END
STRING AT_D_ELENCO 50
BEGIN
PROMPT 23 5 ""
FLAGS "D"
END
GROUPBOX DLG_NULL 77 4
BEGIN
PROMPT 1 7 "Cartoline per donazione"
END
STRING AT_CAFORM 8
BEGIN
PROMPT 2 8 "Formato "
FIELD CaFormato
USE LF_FORM
INPUT TIPOPROF AT_CAFORM
DISPLAY "Formato@8" TIPOPROF
DISPLAY "Descrizione@50" DESC
OUTPUT AT_CAFORM TIPOPROF
OUTPUT AT_D_CAFORM DESC
CHECKTYPE SEARCH
END
BOOLEAN AT_CAPARAM
BEGIN
PROMPT 2 9 "Richiesta parametri per stampa cartolina "
HELP "Chiede all'utente i dati da stampare sulla cartolina di convocazione"
FIELD CaParametri
END
STRING AT_D_CAFORM 50
BEGIN
PROMPT 23 8 ""
FLAGS "D"
END
GROUPBOX DLG_NULL 77 3
BEGIN
PROMPT 1 11 "Tessere"
END
STRING AT_TEFORM 8
BEGIN
PROMPT 2 12 "Formato "
FIELD TeFormato
USE LF_FORM
INPUT TIPOPROF AT_TEFORM
DISPLAY "Formato@8" TIPOPROF
DISPLAY "Descrizione@50" DESC
OUTPUT AT_TEFORM TIPOPROF
OUTPUT AT_D_TEFORM DESC
CHECKTYPE SEARCH
END
STRING AT_D_TEFORM 50
BEGIN
PROMPT 23 12 ""
FLAGS "D"
END
BOOLEAN AT_STAMPA80
BEGIN
PROMPT 2 15 "Stampa elenchi a 80 colonne dove previsto"
HELP "Stampa gli elenchi con il formato 80 colonne dove previsto"
FIELD Stampa80
END
ENDPAGE
ENDMASK