Alre correzioni di errori

git-svn-id: svn://10.65.10.50/trunk@4121 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luciano 1997-02-07 16:25:24 +00:00
parent 2820e83515
commit f89864d07a
27 changed files with 3155 additions and 3024 deletions

View File

@ -317,6 +317,30 @@ bool TSchedaPercipienti::user_create()
set_search_field(F_CODANAGRPERC);
// simulo una chiamata da contabilità
// (lo lascio per eventuali prove)
// real totdocla = ZERO;
// real spesela = ZERO;
// real compensola = ZERO;
// real impostela = ZERO;
// real ritenutela = ZERO;
// TToken_string s(80);
// s.add(3);
// s.add("M");
// s.add("F");
// s.add(30010);
// s.add(1);
// s.add("2");
// s.add("05-02-1997");
// s.add(totdocla.string());
// s.add(spesela.string());
// s.add(compensola.string());
// s.add(impostela.string());
// s.add(ritenutela.string());
// const char* name = "770 -0";
// TMessage mla(name, "LINK770", s);
// mla.send();
// Collegamento da contabilita'
TMailbox m;
TMessage* msg = m.next_s("LINK770");
@ -446,21 +470,20 @@ void TSchedaPercipienti::init_query_mode(TMask& m)
{
case fattura:
setta_nprog(m, variazione);
// m.send_key(K_AUTO_ENTER,0);
m.send_key(K_AUTO_ENTER,0);
return;
break;
case pagamento:
if (coll_datanum())
{
setta_nprog(m, variazione);
// m.send_key(K_AUTO_ENTER, 0);
m.send_key(K_AUTO_ENTER,0);
}
return;
break;
case occasionale:
/*
setta_nprog(m,FALSE); // Sempre in aggiunta
m.send_key(K_AUTO_ENTER, 0); */
// setta_nprog(m,FALSE); // Sempre in aggiunta
m.send_key(K_AUTO_ENTER, 0);
return;
break;
default:
@ -782,7 +805,7 @@ bool TSchedaPercipienti::check_handler(TMask_field& f, KEY k)
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 forzatura;
}
}
return TRUE;

View File

@ -1,340 +1,340 @@
#include "770100a.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "Scheda percipienti" -1 -1 78 20
NUMBER F_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_SCPERC->CODDITTA
KEY 1
END
LIST F_TIPOA 1 9
BEGIN
PROMPT 0 0 ""
FIELD LF_SCPERC->TIPOA
ITEM "F|Fisica"
ITEM "G|Giuridica"
KEY 1
FLAGS "D"
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 12 0 ""
FIELD LF_SCPERC->CODANAGR
MESSAGE COPY, F_CODANAGR_G
KEY 1
FLAGS "D"
END
STRING F_RAGSOC2 50
BEGIN
PROMPT 19 0 ""
FLAGS "D"
END
NUMBER F_NPROG 4
BEGIN
PROMPT 72 0 ""
FIELD LF_SCPERC->NPROG
FLAGS "D"
KEY 1
END
STRING F_CODCAUS 2
BEGIN
FIELD LF_SCPERC->CODCAUS
PROMPT 0 1 ""
USE %CA7 SELECT (I0!="1015")&&((S1="C")||(S1="D")||(S1="D1")||(S1="E")||(S1="E1")||(S1="E2")||(S1="G")||(S1="G1"))
CHECKTYPE REQUIRED
INPUT CODTAB F_CODCAUS
DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0
DISPLAY "Codice tributo" I0
DISPLAY "Articolo di bilancio" I3
DISPLAY "C.T." B2
DISPLAY "T.S." B3
DISPLAY "R.A." B0
DISPLAY "Causale D" S2
DISPLAY "Causale D1" S3
OUTPUT F_CODCAUS CODTAB
OUTPUT F_CODTRIB I0
OUTPUT F_DESCRCAUS S0
OUTPUT F_CODQUA S1
OUTPUT F_ARTBIL I3
OUTPUT F_IC B3
OUTPUT F_CT B2
OUTPUT F_RIT B0
OUTPUT F_QUOTAIMP R4
OUTPUT F_PERRIT R0
OUTPUT F_FLAG_INPS B4
OUTPUT F_PERC_INPS R1
OUTPUT F_PERC_ASS_INPS R2
OUTPUT F_PERC_COMMIT_INPS R3
OUTPUT F_CASSA_PREV R5
OUTPUT SPF_CAUSD S2
OUTPUT SPF_CAUSD1 S3
FLAGS "Z"
WARNING "Manca la causale"
ADD RUN 773mod -3 %CA7
END
STRING F_CODQUA 2
BEGIN
PROMPT 12 1 ""
FLAGS "D"
END
NUMBER F_CODTRIB 4
BEGIN
PROMPT 6 1 ""
FLAGS "D"
END
STRING F_DESCRCAUS 60
BEGIN
PROMPT 16 1 ""
FLAGS "D"
END
NUMBER F_ARTBIL 2
BEGIN
PROMPT 0 2 "Art.bil."
FLAGS "D"
END
BOOLEAN F_IC
BEGIN
PROMPT 13 2 "T.S."
FLAGS "D"
END
BOOLEAN F_CT
BEGIN
PROMPT 20 2 "C.T."
FLAGS "D"
END
BOOLEAN F_RIT
BEGIN
PROMPT 27 2 "Rit."
FLAGS "D"
END
STRING SPF_CAUSD 1
BEGIN
PROMPT 34 2 "Causale D "
FLAGS "D"
END
STRING SPF_CAUSD1 1
BEGIN
PROMPT 47 2 "Causale D1 "
FLAGS "D"
END
BOOLEAN F_FORCED
BEGIN
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 4 "Data "
FIELD LF_SCPERC->DATADOC
WARNING "Manca la data del documento"
CHECKTYPE REQUIRED
END
STRING F_NUMDOC 7
BEGIN
PROMPT 17 4 "Numero "
FIELD LF_SCPERC->NUMDOC
END
NUMBER F_COMPENS 15
BEGIN
PROMPT 33 4 "Compenso "
FIELD LF_SCPERC->COMPENSO
PICTURE "."
FLAGS "R"
MESSAGE K_TAB, F_TOTDOC
END
NUMBER F_IVA 15
BEGIN
PROMPT 59 4 "Iva "
FIELD LF_SCPERC->IVA
PICTURE "."
FLAGS "R"
MESSAGE K_TAB, F_TOTDOC
END
NUMBER F_SPESE 15
BEGIN
PROMPT 0 5 "Spese "
FIELD LF_SCPERC->SPESE
PICTURE "."
FLAGS "R"
MESSAGE K_TAB, F_TOTDOC
END
NUMBER F_TOTDOC 15
BEGIN
PROMPT 23 5 "Totale "
FIELD LF_SCPERC->TOTALE
PICTURE "."
FLAGS "RD"
NUM_CALC {#F_COMPENS + #F_SPESE + #F_IVA}
END
TEXT DLG_NULL
BEGIN
PROMPT 47 5 "Competenza:"
END
NUMBER F_MESECOMP 2
BEGIN
PROMPT 58 5 "Mese "
FIELD LF_SCPERC->MESEC
NUM_EXPR {(#THIS>=0) && (#THIS<13)}
WARNING "Mese non valido"
HELP "Inserire il mese di competenza"
FLAGS "Z"
END
NUMBER F_ANNOCOMP 4
BEGIN
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
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bPagamenti"
END
SPREADSHEET F_PAGAMENTI 79 5
BEGIN
PROMPT 0 8 ""
ITEM "Data@10"
ITEM "Compenso@15"
ITEM "Spese@15"
ITEM "Imponibile@15"
ITEM "% R.a.@7"
ITEM "Ritenuta effettuata"
ITEM "Cont.SSN/INPS perc."
ITEM "Cont.SSN/INPS complessivi"
ITEM "Netto corrisposto"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 14 "@bVersamenti"
END
SPREADSHEET F_VERSAMENTI 79 5
BEGIN
PROMPT 0 15 ""
ITEM "1015"
ITEM "Data@10"
ITEM "Luogo"
ITEM "Tipo"
ITEM "Serie-ABI@5"
ITEM "Numero-CAB@11"
ITEM "Progressivo banca"
ITEM "Ritenuta@15"
END
// MAI VISUALIZZATO
NUMBER F_CODANAGR_G 5
BEGIN
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
ENDMASK
#include "770100c.uml"
#include "770100d.uml"
#include "770100a.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "Scheda percipienti" -1 -1 78 20
NUMBER F_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_SCPERC->CODDITTA
KEY 1
END
LIST F_TIPOA 1 9
BEGIN
PROMPT 0 0 ""
FIELD LF_SCPERC->TIPOA
ITEM "F|Fisica"
ITEM "G|Giuridica"
KEY 1
FLAGS "D"
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 12 0 ""
FIELD LF_SCPERC->CODANAGR
MESSAGE COPY, F_CODANAGR_G
KEY 1
FLAGS "D"
END
STRING F_RAGSOC2 50
BEGIN
PROMPT 19 0 ""
FLAGS "D"
END
NUMBER F_NPROG 4
BEGIN
PROMPT 72 0 ""
FIELD LF_SCPERC->NPROG
FLAGS "D"
KEY 1
END
STRING F_CODCAUS 2
BEGIN
FIELD LF_SCPERC->CODCAUS
PROMPT 0 1 ""
USE %CA7 SELECT (I0!="1015")&&((S1="C")||(S1="D")||(S1="D1")||(S1="E")||(S1="E1")||(S1="E2")||(S1="G")||(S1="G1"))
CHECKTYPE REQUIRED
INPUT CODTAB F_CODCAUS
DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0
DISPLAY "Codice tributo" I0
DISPLAY "Articolo di bilancio" I3
DISPLAY "C.T." B2
DISPLAY "T.S." B3
DISPLAY "R.A." B0
DISPLAY "Causale D" S2
DISPLAY "Causale D1" S3
OUTPUT F_CODCAUS CODTAB
OUTPUT F_CODTRIB I0
OUTPUT F_DESCRCAUS S0
OUTPUT F_CODQUA S1
OUTPUT F_ARTBIL I3
OUTPUT F_IC B3
OUTPUT F_CT B2
OUTPUT F_RIT B0
OUTPUT F_QUOTAIMP R4
OUTPUT F_PERRIT R0
OUTPUT F_FLAG_INPS B4
OUTPUT F_PERC_INPS R1
OUTPUT F_PERC_ASS_INPS R2
OUTPUT F_PERC_COMMIT_INPS R3
OUTPUT F_CASSA_PREV R5
OUTPUT SPF_CAUSD S2
OUTPUT SPF_CAUSD1 S3
FLAGS "Z"
WARNING "Manca la causale"
ADD RUN 773mod -3 %CA7
END
STRING F_CODQUA 2
BEGIN
PROMPT 12 1 ""
FLAGS "D"
END
NUMBER F_CODTRIB 4
BEGIN
PROMPT 6 1 ""
FLAGS "D"
END
STRING F_DESCRCAUS 60
BEGIN
PROMPT 16 1 ""
FLAGS "D"
END
NUMBER F_ARTBIL 2
BEGIN
PROMPT 0 2 "Art.bil."
FLAGS "D"
END
BOOLEAN F_IC
BEGIN
PROMPT 13 2 "T.S."
FLAGS "D"
END
BOOLEAN F_CT
BEGIN
PROMPT 20 2 "C.T."
FLAGS "D"
END
BOOLEAN F_RIT
BEGIN
PROMPT 27 2 "Rit."
FLAGS "D"
END
STRING SPF_CAUSD 1
BEGIN
PROMPT 34 2 "Causale D "
FLAGS "D"
END
STRING SPF_CAUSD1 1
BEGIN
PROMPT 47 2 "Causale D1 "
FLAGS "D"
END
BOOLEAN F_FORCED
BEGIN
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 4 "Data "
FIELD LF_SCPERC->DATADOC
WARNING "Manca la data del documento"
CHECKTYPE REQUIRED
END
STRING F_NUMDOC 7
BEGIN
PROMPT 17 4 "Numero "
FIELD LF_SCPERC->NUMDOC
END
NUMBER F_COMPENS 15
BEGIN
PROMPT 33 4 "Compenso "
FIELD LF_SCPERC->COMPENSO
PICTURE "."
FLAGS "R"
MESSAGE K_TAB, F_TOTDOC
END
NUMBER F_IVA 15
BEGIN
PROMPT 59 4 "Iva "
FIELD LF_SCPERC->IVA
PICTURE "."
FLAGS "R"
MESSAGE K_TAB, F_TOTDOC
END
NUMBER F_SPESE 15
BEGIN
PROMPT 0 5 "Spese "
FIELD LF_SCPERC->SPESE
PICTURE "."
FLAGS "R"
MESSAGE K_TAB, F_TOTDOC
END
NUMBER F_TOTDOC 15
BEGIN
PROMPT 23 5 "Totale "
FIELD LF_SCPERC->TOTALE
PICTURE "."
FLAGS "RD"
NUM_CALC {#F_COMPENS + #F_SPESE + #F_IVA}
END
TEXT DLG_NULL
BEGIN
PROMPT 47 5 "Competenza:"
END
NUMBER F_MESECOMP 2
BEGIN
PROMPT 58 5 "Mese "
FIELD LF_SCPERC->MESEC
NUM_EXPR {(#THIS>=0) && (#THIS<13)}
WARNING "Mese non valido"
HELP "Inserire il mese di competenza"
FLAGS "Z"
END
NUMBER F_ANNOCOMP 4
BEGIN
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
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bPagamenti"
END
SPREADSHEET F_PAGAMENTI 79 5
BEGIN
PROMPT 0 8 ""
ITEM "Data@10"
ITEM "Compenso@15"
ITEM "Spese@15"
ITEM "Imponibile@15"
ITEM "% R.a.@7"
ITEM "Ritenuta effettuata"
ITEM "Cont.SSN/INPS perc."
ITEM "Cont.SSN/INPS complessivi"
ITEM "Netto corrisposto"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 14 "@bVersamenti"
END
SPREADSHEET F_VERSAMENTI 79 5
BEGIN
PROMPT 0 15 ""
ITEM "1015"
ITEM "Data@10"
ITEM "Luogo"
ITEM "Tipo"
ITEM "Serie-ABI@5"
ITEM "Numero-CAB@11"
ITEM "Progressivo banca"
ITEM "Ritenuta@15"
END
// MAI VISUALIZZATO
NUMBER F_CODANAGR_G 5
BEGIN
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
ENDMASK
#include "770100c.uml"
#include "770100d.uml"

View File

@ -1,182 +1,183 @@
// m70100d.uml - VERSAMENTI
PAGE "Versamento " -1 -1 68 11
BOOLEAN 101
BEGIN
PROMPT 1 1 "Codice tributo 1015 "
FIELD LF_RVER->VERS1015
END
GROUPBOX DLG_NULL 68 3
BEGIN
PROMPT 1 2 "@bDati versamento"
END
DATE 102
BEGIN
PROMPT 2 3 "Data "
FIELD LF_RVER->DATAVERS
VALIDATE REQIF_FUNC 5 103 104 105 106 107
WARNING "Inserire la data del versamento"
GROUP 1
END
STRING 103 1
BEGIN
PROMPT 19 3 "Luogo "
HELP "Indicare il luogo del versamento"
SHEET "Cod.|Descrizione@30"
INPUT 103
ITEM " |Nessuno"
ITEM "T|Tesoreria"
ITEM "C|Concessione"
OUTPUT 103
OUTPUT 71
FLAGS "U"
FIELD LF_RVER->LUOVERS
GROUP 1
END
STRING 71 12
BEGIN
PROMPT 29 3 ""
FLAGS "D"
END
TEXT 209
BEGIN
PROMPT 2 5 "Serie "
GROUP 2 4
END
TEXT 210
BEGIN
PROMPT 2 5 "Codice ABI "
GROUP 2 6
END
TEXT 212
BEGIN
PROMPT 25 5 "Codice CAB "
GROUP 2 6
END
TEXT 213
BEGIN
PROMPT 25 5 "Quietanza "
GROUP 2 3
END
TEXT 211
BEGIN
PROMPT 25 5 "Numero "
GROUP 2 4 5
END
STRING 104 1
BEGIN
PROMPT 42 3 "Tipo "
FIELD LF_RVER->TIPOVERS
SHEET "Cod.|Descrizione@30"
INPUT 104
ITEM " |Nessuno"
ITEM "C|C/C Postale"
ITEM "D|Distinta"
ITEM "B|Delega bancaria"
OUTPUT 104
OUTPUT 70
GROUP 1
FLAGS "U"
END
STRING 70 16
BEGIN
PROMPT 51 3 ""
FLAGS "D"
END
STRING 105 5
BEGIN
PROMPT 16 5 ""
FIELD LF_RVER->SERIE
FLAGS "ZG"
WARNING "Inserire la serie/codice ABI"
GROUP 1 2 4 6
END
STRING 106 11
BEGIN
PROMPT 39 5 ""
FIELD LF_RVER->NUMERO
VALIDATE REQIF_FUNC 2 103 104
WARNING "Inserire il numero"
HELP "Inserire il numero"
MESSAGE COPY,72
FLAGS "G"
GROUP 1 2 3 4 5
END
NUMBER 72 5
BEGIN
PROMPT 39 5 ""
FIELD LF_RVER->NUMERO
VALIDATE REQIF_FUNC 2 103 104
WARNING "Inserire il codice CAB"
HELP "CODICE CAB LUNGO 5"
MESSAGE COPY,106
FLAGS "HZG"
GROUP 2 6
END
NUMBER 107 6
BEGIN
PROMPT 2 6 "Progressivo per versamento banca "
FLAGS "ZG"
GROUP 2 6
END
// "Se indico la data aloora devo indicare anche l'importo"
NUMBER 108 15
BEGIN
PROMPT 2 7 "Importo versato "
PICTURE "."
FLAGS "R"
FIELD LF_RVER->RITENUTA
VALIDATE REQIF_FUNC 1 102
WARNING "Inserire la ritenuta"
HELP "Inserire la ritenuta"
GROUP 3
END
NUMBER VERF_NUMVERS 6
BEGIN
PROMPT 80 80 "NUMVERS "
FLAGS "D"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -14 -1 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -24 -1 ""
// MESSAGE CLEAR,103|CLEAR,104|CLEAR,105|CLEAR,106|CLEAR,107|CLEAR,108
END
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -34 -1 "A~zzera"
MESSAGE RESET,1@|RESET,2@|RESET,3@|RESET,101
END
BUTTON DLG_SELPAG 9 2
BEGIN
PROMPT -44 -1 "~Pagamenti"
HELP "Seleziona i pagamenti collegati"
END
ENDPAGE
ENDMASK
// m70100d.uml - VERSAMENTI
PAGE "Versamento " -1 -1 68 11
BOOLEAN 101
BEGIN
PROMPT 1 1 "Codice tributo 1015 "
FIELD LF_RVER->VERS1015
END
GROUPBOX DLG_NULL 68 3
BEGIN
PROMPT 1 2 "@bDati versamento"
END
DATE 102
BEGIN
PROMPT 2 3 "Data "
FIELD LF_RVER->DATAVERS
VALIDATE REQIF_FUNC 5 103 104 105 106 107
WARNING "Inserire la data del versamento"
GROUP 1
END
STRING 103 1
BEGIN
PROMPT 19 3 "Luogo "
HELP "Indicare il luogo del versamento"
SHEET "Cod.|Descrizione@30"
INPUT 103
ITEM " |Nessuno"
ITEM "T|Tesoreria"
ITEM "C|Concessione"
OUTPUT 103
OUTPUT 71
FLAGS "U"
FIELD LF_RVER->LUOVERS
GROUP 1
END
STRING 71 12
BEGIN
PROMPT 29 3 ""
FLAGS "D"
END
TEXT 209
BEGIN
PROMPT 2 5 "Serie "
GROUP 2 4
END
TEXT 210
BEGIN
PROMPT 2 5 "Codice ABI "
GROUP 2 6
END
TEXT 212
BEGIN
PROMPT 25 5 "Codice CAB "
GROUP 2 6
END
TEXT 213
BEGIN
PROMPT 25 5 "Quietanza "
GROUP 2 3
END
TEXT 211
BEGIN
PROMPT 25 5 "Numero "
GROUP 2 4 5
END
STRING 104 1
BEGIN
PROMPT 42 3 "Tipo "
FIELD LF_RVER->TIPOVERS
SHEET "Cod.|Descrizione@30"
INPUT 104
ITEM " |Nessuno"
ITEM "C|C/C Postale"
ITEM "D|Distinta"
ITEM "B|Delega bancaria"
OUTPUT 104
OUTPUT 70
GROUP 1
FLAGS "U"
END
STRING 70 16
BEGIN
PROMPT 51 3 ""
FLAGS "D"
END
STRING 105 5
BEGIN
PROMPT 16 5 ""
FIELD LF_RVER->SERIE
FLAGS "ZG"
WARNING "Inserire la serie/codice ABI"
GROUP 1 2 4 6
END
STRING 106 11
BEGIN
PROMPT 39 5 ""
FIELD LF_RVER->NUMERO
VALIDATE REQIF_FUNC 2 103 104
WARNING "Inserire il numero"
HELP "Inserire il numero"
MESSAGE COPY,72
FLAGS "G"
GROUP 1 2 3 4 5
END
NUMBER 72 5
BEGIN
PROMPT 39 5 ""
FIELD LF_RVER->NUMERO
VALIDATE REQIF_FUNC 2 103 104
WARNING "Inserire il codice CAB"
HELP "CODICE CAB LUNGO 5"
MESSAGE COPY,106
FLAGS "HZ"
GROUP 2 6
END
NUMBER 107 6
BEGIN
PROMPT 2 6 "Progressivo per versamento banca "
FLAGS "ZG"
GROUP 2 6
END
// "Se indico la data aloora devo indicare anche l'importo"
NUMBER 108 15
BEGIN
PROMPT 2 7 "Importo versato "
PICTURE "."
FLAGS "R"
FIELD LF_RVER->RITENUTA
VALIDATE REQIF_FUNC 1 102
WARNING "Inserire la ritenuta"
HELP "Inserire la ritenuta"
GROUP 3
END
NUMBER VERF_NUMVERS 6
BEGIN
PROMPT 80 80 "NUMVERS "
FLAGS "D"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -14 -1 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -24 -1 ""
// MESSAGE CLEAR,103|CLEAR,104|CLEAR,105|CLEAR,106|CLEAR,107|CLEAR,108
END
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -34 -1 "A~zzera"
MESSAGE RESET,1@|RESET,2@|RESET,3@|RESET,101
END
BUTTON DLG_SELPAG 9 2
BEGIN
PROMPT -44 -1 "~Pagamenti"
HELP "Seleziona i pagamenti collegati"
END
ENDPAGE
ENDMASK

File diff suppressed because it is too large Load Diff

View File

@ -1,194 +1,194 @@
#ifndef __M70102_H
#define __M70102_H
#ifndef __MSKSHEET_H
#include <msksheet.h>
#endif
#ifndef __CONFIG_H
#include <config.h>
#endif
#ifndef __RELAPP_H
#include <relapp.h>
#endif
#ifndef __77LIB_H
#include "77lib.h"
#endif
#ifndef __770100a_H
#include "770100a.h"
#endif
// Id della maschera di edit dello sheet pagamenti
#define MPAG_DATAPAG 101
#define MPAG_COMPENSO 102
#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
// 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_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_NRIGA = 5;
const int SS_POS_NVER = 6;
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;
#define COLONNE_SIGNIFICATIVE_SPREADSHEET_VERSAMENTI 7
#define COLONNE_SIGNIFICATIVE_SPREADSHEET_PAGAMENTI 7
class TSchedaPercipienti : public TRelation_application
{
private:
bool _from_modify;
bool _azzerato_pag;
TLink770 _coll;
TSchedaPE* _rel;
TMask* _msk[2];
long _codanagr;
TString16 _tipoa;
TString80 _ragsoc;
int _nproga;
int _mode;
TLocalisamfile* _per, *_scper, *_rver, *_rpag;
long _rigavers;
long _lastvers, _lastpag, _last_scheda;
long _numreg; // NUMREG inviato dalla 1. nota
int _anno_dic; // anno dichiarazione
// Collegamento versamento->pagamenti
TBit_array _selected;
TNikArray_sheet* _pags;
real _tot_compenso, _tot_spese, _tot_netto;
real _tot_vers, _tot_rit;
private:
void get_ragsoc(const char* tipoa, const long codanagr);
static void work_tipoluogo(TMask_field& f);
static bool check_pagamenti (TMask_field& f, KEY key);
static real calcola_imponibile (TMask_field& f,const real& compenso,const bool force=FALSE);
static bool calcola_ritenuta (TMask_field& f,const real& compenso,const bool forza=FALSE,const real perc=ZERO);
static real calcola_netto (TMask_field& f);
real calcola_imponibile(const real& compenso);
real calcola_ritenuta (const real& imponibile, TString& sPercRa,
real& rPercCassaPrev, real &rPercContrInps, real& rPercAssContrInps,
real& rQuotaCommitContrInps, bool& bContrInps);
static long get_numvers (TMask_field& f);
static void setta_ritvers(TMask_field& f, const real& ritenuta);
static bool nprog_handler (TMask_field& f, KEY key);
static bool codanagr_handler (TMask_field& f, KEY key);
static bool codditta_handler (TMask_field& f, KEY key);
static bool check_compensi (TMask_field& f, KEY k);
static bool check_spese (TMask_field& f, KEY k);
// Handler del versamento
static bool vers_notify (TSheet_field& s, int r, KEY key);
static bool pags_notify (TSheet_field& s, int r, KEY key);
static bool vers1015_handler (TMask_field& f, KEY key);
static bool compilato_vers(TMask_field& f);
// static bool pag_handler (TMask_field& f, KEY key);
static bool compenso_handler (TMask_field& f, KEY key);
static bool imponibile_handler (TMask_field& f, KEY key);
static bool percra_handler (TMask_field& f, KEY key);
static bool spesa_handler (TMask_field& f, KEY key);
static bool netto_handler (TMask_field& f, KEY k);
static bool tipo_hndl (TMask_field& f, KEY key);
static bool luo_hndl (TMask_field& f, KEY key);
static bool abicab_hndl (TMask_field& f, KEY key);
static bool check_handler (TMask_field& f, KEY key);
static bool check_ritenuta (TMask_field& f, KEY k);
static bool check_causale (TMask_field& f, KEY k);
static bool forced_handler (TMask& m, KEY key);
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);
void enable_vers_cells (int r, bool enable=TRUE);
void disable_vers_cells (int r) { enable_vers_cells(r,FALSE); }
bool vers_attached(const long numvers);
void pag_pack();
void ver_pack();
static bool setta_nprog (TMask& m, const bool variazione=FALSE,
const char* codanagr=NULL);
protected:
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&);
virtual void init_query_insert_mode (TMask&);
virtual void init_insert_mode(TMask&);
virtual void init_modify_mode(TMask&);
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(TMask& m);
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;
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(); }
bool esiste_perc(TMask& m, const char* coda=NULL);
TSheet_field& pags() const;
TSheet_field& vers() const;
TSchedaPercipienti ();
~TSchedaPercipienti() {};
};
inline TSchedaPercipienti& app() { return (TSchedaPercipienti&) main_app();}
#endif
#ifndef __M70102_H
#define __M70102_H
#ifndef __MSKSHEET_H
#include <msksheet.h>
#endif
#ifndef __CONFIG_H
#include <config.h>
#endif
#ifndef __RELAPP_H
#include <relapp.h>
#endif
#ifndef __77LIB_H
#include "77lib.h"
#endif
#ifndef __770100a_H
#include "770100a.h"
#endif
// Id della maschera di edit dello sheet pagamenti
#define MPAG_DATAPAG 101
#define MPAG_COMPENSO 102
#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
// 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_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_NRIGA = 5;
const int SS_POS_NVER = 6;
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;
#define COLONNE_SIGNIFICATIVE_SPREADSHEET_VERSAMENTI 7
#define COLONNE_SIGNIFICATIVE_SPREADSHEET_PAGAMENTI 7
class TSchedaPercipienti : public TRelation_application
{
private:
bool _from_modify;
bool _azzerato_pag;
TLink770 _coll;
TSchedaPE* _rel;
TMask* _msk[2];
long _codanagr;
TString16 _tipoa;
TString80 _ragsoc;
int _nproga;
int _mode;
TLocalisamfile* _per, *_scper, *_rver, *_rpag;
long _rigavers;
long _lastvers, _lastpag, _last_scheda;
long _numreg; // NUMREG inviato dalla 1. nota
int _anno_dic; // anno dichiarazione
// Collegamento versamento->pagamenti
TBit_array _selected;
TNikArray_sheet* _pags;
real _tot_compenso, _tot_spese, _tot_netto;
real _tot_vers, _tot_rit;
private:
void get_ragsoc(const char* tipoa, const long codanagr);
static void work_tipoluogo(TMask_field& f);
static bool check_pagamenti (TMask_field& f, KEY key);
static real calcola_imponibile (TMask_field& f,const real& compenso,const bool force=FALSE);
static bool calcola_ritenuta (TMask_field& f,const real& compenso,const bool forza=FALSE,const real perc=ZERO);
static real calcola_netto (TMask_field& f);
real calcola_imponibile(const real& compenso);
real calcola_ritenuta (const real& imponibile, TString& sPercRa,
real& rPercCassaPrev, real &rPercContrInps, real& rPercAssContrInps,
real& rQuotaCommitContrInps, bool& bContrInps);
static long get_numvers (TMask_field& f);
static void setta_ritvers(TMask_field& f, const real& ritenuta);
static bool nprog_handler (TMask_field& f, KEY key);
static bool codanagr_handler (TMask_field& f, KEY key);
static bool codditta_handler (TMask_field& f, KEY key);
static bool check_compensi (TMask_field& f, KEY k);
static bool check_spese (TMask_field& f, KEY k);
// Handler del versamento
static bool vers_notify (TSheet_field& s, int r, KEY key);
static bool pags_notify (TSheet_field& s, int r, KEY key);
static bool vers1015_handler (TMask_field& f, KEY key);
static bool compilato_vers(TMask_field& f);
// static bool pag_handler (TMask_field& f, KEY key);
static bool compenso_handler (TMask_field& f, KEY key);
static bool imponibile_handler (TMask_field& f, KEY key);
static bool percra_handler (TMask_field& f, KEY key);
static bool spesa_handler (TMask_field& f, KEY key);
static bool netto_handler (TMask_field& f, KEY k);
static bool tipo_hndl (TMask_field& f, KEY key);
static bool luo_hndl (TMask_field& f, KEY key);
static bool abicab_hndl (TMask_field& f, KEY key);
static bool check_handler (TMask_field& f, KEY key);
static bool check_ritenuta (TMask_field& f, KEY k);
static bool check_causale (TMask_field& f, KEY k);
static bool forced_handler (TMask& m, KEY key);
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);
void enable_vers_cells (int r, bool enable=TRUE);
void disable_vers_cells (int r) { enable_vers_cells(r,FALSE); }
bool vers_attached(const long numvers);
void pag_pack();
void ver_pack();
static bool setta_nprog (TMask& m, const bool variazione=FALSE,
const char* codanagr=NULL);
protected:
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&);
virtual void init_query_insert_mode (TMask&);
virtual void init_insert_mode(TMask&);
virtual void init_modify_mode(TMask&);
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(TMask& m);
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;
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(); }
bool esiste_perc(TMask& m, const char* coda=NULL);
TSheet_field& pags() const;
TSheet_field& vers() const;
TSchedaPercipienti ();
~TSchedaPercipienti() {};
};
inline TSchedaPercipienti& app() { return (TSchedaPercipienti&) main_app();}
#endif

View File

@ -20,7 +20,7 @@ class TVersa_rit : public TApplication
real _versato;
TRelation* _rel;
TCursor* _cur;
TBrowse_sheet* _sheet_perc;
TCursor_sheet* _sheet_perc;
TArray_sheet* _schede;
TArray_sheet* _pagam;
TMask* _msk;
@ -84,7 +84,31 @@ TCursor* TVersa_rit::meik_curs(TRelation* rel)
bool TVersa_rit::create()
{
TApplication::create();
TApplication::create();
// simulo una chiamata da contabilità
// (lo lascio per eventuali prove)
// real totdocla = ZERO;
// real spesela = ZERO;
// real compensola = ZERO;
// real impostela = ZERO;
// real ritenutela = 70000;
// TToken_string s(80);
// s.add(4);
// s.add("M");
// s.add("F");
// s.add(30010);
// s.add(1);
// s.add("2");
// s.add("05-02-1997");
// s.add(totdocla.string());
// s.add(spesela.string());
// s.add(compensola.string());
// s.add(impostela.string());
// s.add(ritenutela.string());
// const char* name = "770 -1";
// TMessage mla(name, "LINK770", s);
// mla.send();
// Collegamento da contabilita'
TMailbox m;
@ -112,44 +136,20 @@ bool TVersa_rit::create()
_msk->set(F_DATA, _coll._datadoc);
_msk->set(F_VERSATO, _coll._ritenute.string());
KEY kp = _msk->run();
if (kp != K_ENTER)
return FALSE;
else
{
_data = _msk->get(F_DATA);
_luogo = _msk->get(F_LUOGO)[0];
_tipo = _msk->get(F_TIPO)[0];
_versato = real(_msk->get(F_VERSATO));
if (_tipo == DELEGA_BANCARIA)
{
_serie = _msk->get(F_ABI);
_numero = _msk->get(F_CAB);
}
else
{
_serie = _msk->get(F_SERIE);
_numero = _msk->get(F_NUMERO);
}
}
TEdit_field& dummy = (TEdit_field&)_msk->field(F_CODANAGRPERC);
TToken_string siblings; // non ho ricerche alternative
_sheet_perc = new TBrowse_sheet(_cur," |TIPOA|CODANAGR|6->RAGSOC", "Selezione percipienti",
"@1|Tipo|Codice|Ragione sociale@50", 8, &dummy,siblings);
_sheet_perc->maximize();
_schede = new TArray_sheet(-1, -1, 0, 0, "Selezione Schede","@1|T|Codice|Ragione@50|N.|Data@10");
_schede->maximize();
_pagam = new TArray_sheet(-1, -1, 0, 0, "Selezione Ritenute da versare",
"@1|T|Codice|Scheda n.|Riga n.|Ritenuta@15");
_pagam->maximize();
_sheet_perc = new TCursor_sheet(_cur,
" |TIPOA|CODANAGR|6->RAGSOC",
"Selezione percipienti",
"@1|Tipo|Codice|Ragione sociale@50",
8, 3);
_schede = new TArray_sheet(3, 3, -3, -3,
"Selezione schede",
"@1|T|Codice|Scheda n.|Data@10|Ragione@50");
_pagam = new TArray_sheet(3, 3, -3, -3,
"Selezione ritenute da versare",
"@1|T|Codice|Scheda n.|Riga n.|Ritenuta@15");
_apags.destroy();
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
@ -351,7 +351,7 @@ void TVersa_rit::build_pagam_sheet(const long codditta)
TToken_string& r = _schede->row(i);
char tipoa = r.get_char(1);
long codanagr = r.get_long(2);
const int nprog = r.get_int(4);
const int nprog = r.get_int(3);
TToken_string* tpag = find(codditta,tipoa,codanagr,nprog);
@ -411,9 +411,9 @@ void TVersa_rit::build_schede_sheet(const long codditta)
rr.add(" "); // Spazio per selezionare
rr.add(tipoa);
rr.add(codanagr);
rr.add(ragsoc);
rr.add(nprog);
rr.add(datadoc);
rr.add(datadoc);
rr.add(ragsoc);
_schede->add(rr);
}
sch.next();
@ -424,8 +424,33 @@ void TVersa_rit::build_schede_sheet(const long codditta)
bool TVersa_rit::do_all()
{
KEY kp;
long items = 0L;
long items = 0L;
// esecuzione prima maschera: richiesta estremi versamento
kp = _msk->run();
if (kp != K_ENTER)
return FALSE;
else
{
_data = _msk->get(F_DATA);
_luogo = _msk->get(F_LUOGO)[0];
_tipo = _msk->get(F_TIPO)[0];
_versato = real(_msk->get(F_VERSATO));
if (_tipo == DELEGA_BANCARIA)
{
_serie = _msk->get(F_ABI);
_numero = _msk->get(F_CAB);
}
else
{
_serie = _msk->get(F_SERIE);
_numero = _msk->get(F_NUMERO);
}
}
// loop di gestione sheet di scelta percipiente,
// scelta scheda e scelta pagamento da versare
while (TRUE)
{
items = _sheet_perc->items();

View File

@ -1,6 +1,6 @@
#include "770200a.h"
PAGE "MODULO 770 - Collegamento versamento ritenute" -1 -1 75 15
PAGE "Versamento ritenute" -1 -1 75 15
GROUPBOX DLG_NULL 74 3
BEGIN
@ -34,24 +34,6 @@ BEGIN
FLAGS "H"
END
// Questo campo serve solo per poter istanziare un browse_sheet nel programma
NUMBER F_CODANAGRPERC 5
BEGIN
PROMPT 15 8 ""
USE LF_PERC KEY 1 SELECT (CODDITTA=#F_CODDITTA)
JOIN LF_ANAG TO LF_PERC KEY 1 INTO TIPOA=TIPOA CODANAGR=CODANAGR
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGRPERC
DISPLAY "Tipo " TIPOA
DISPLAY "Codice " CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" LF_ANAG->RAGSOC
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRPERC CODANAGR
// OUTPUT F_RAGSOCPER LF_ANAG->RAGSOC
FLAGS "HG"
END
GROUPBOX DLG_NULL 74 5
BEGIN
PROMPT 1 4 "@bDati versamento"
@ -152,7 +134,7 @@ BEGIN
GROUP 2 6
END
NUMBER F_CAB 6
NUMBER F_CAB 5
BEGIN
PROMPT 39 7 ""
FLAGS "Z"

File diff suppressed because it is too large Load Diff

View File

@ -51,7 +51,7 @@ BEGIN
FLAGS "HG"
END
STRING F_RAGSOC2 45
STRING F_RAGSOC2 50 45
BEGIN
PROMPT 24 0 ""
FLAGS "D"

View File

@ -53,7 +53,7 @@ BEGIN
FLAGS "HG"
END
STRING F_RAGSOC2 45
STRING F_RAGSOC2 50 45
BEGIN
PROMPT 24 0 ""
FLAGS "D"

View File

@ -54,7 +54,7 @@ BEGIN
FLAGS "HG"
END
STRING F_RAGSOC2 45
STRING F_RAGSOC2 50 45
BEGIN
PROMPT 24 0 ""
FLAGS "D"

View File

@ -54,7 +54,7 @@ BEGIN
FLAGS "HG"
END
STRING F_RAGSOC2 45
STRING F_RAGSOC2 50 45
BEGIN
PROMPT 24 0 ""
FLAGS "D"

View File

@ -1,8 +1,5 @@
// 771231.cpp - Quadri F
//
// Lista modifiche
// 12. 1.96 Controlla codcaus anche dopo che e' stato immesso (nf)
//
#include <relapp.h>
#include <config.h>
#include <msksheet.h>
@ -64,7 +61,8 @@ class TQuadroF : public TRelation_application
static bool eprov_handler(TMask_field& f, KEY k);
static bool ealiq_handler(TMask_field& f, KEY k);
static bool fsogg_handler(TMask_field& f, KEY k);
static bool faliq_handler(TMask_field& f, KEY k);
static bool faliq_handler(TMask_field& f, KEY k);
static bool mainmsk_handler(TMask& m, KEY k);
static bool a_notify(TSheet_field& s, int r, KEY k);
static bool b_notify(TSheet_field& s, int r, KEY k);
static bool c_notify(TSheet_field& s, int r, KEY k);
@ -90,7 +88,8 @@ class TQuadroF : public TRelation_application
void init_mask (TMask&);
void fill_ss(TMask& m);
void riempi_prospetto(TMask& m, const char prosp);
int re_write(const TMask& m, bool re);
int re_write(const TMask& m, bool re);
int elimina();
public:
TString16 _quadro, _aliq_caus;
@ -194,6 +193,7 @@ bool TQuadroF::user_create()
_msk->set_handler(E_ALI, ealiq_handler);
_msk->set_handler(F_SOGG, fsogg_handler);
_msk->set_handler(F_ALI, faliq_handler);
_msk->set_handler(mainmsk_handler);
TSheet_field& p_a = (TSheet_field&) _msk->field(F_A);
p_a.set_notify(a_notify);
p_a.sheet_mask().set_handler(S_CODC, codc_handler);
@ -242,7 +242,7 @@ bool TQuadroF::user_create()
_msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar
_msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar
_msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar
_msk->set_handler(mainmsk_handler);
TSheet_field& p_b = (TSheet_field&) _msk->field(F_B);
p_b.sheet_mask().set_handler(S_CODC, codc_handler);
p_b.sheet_mask().set_handler(S_ALIQ, aliq_handler);
@ -266,7 +266,7 @@ bool TQuadroF::user_create()
_msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar
_msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar
_msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar
_msk->set_handler(mainmsk_handler);
TSheet_field& p_b = (TSheet_field&) _msk->field(F_B);
p_b.sheet_mask().set_handler(S_CODC, codc_handler);
p_b.sheet_mask().set_handler(S_ALIQ, aliq_handler);
@ -656,6 +656,26 @@ int TQuadroF::re_write(const TMask& m, bool re)
}
else
return err_b;
}
int TQuadroF::elimina()
{
int err;
// eliminazione righe del quadro
TRectype& recrf = _rf->curr();
recrf.zero();
recrf.put("CODDITTA",_codditta);
_rf->setkey(1);
for (err = _rf->read(_isequal, _lock); // stato iniziale
err == NOERR; // condizione di uscita
err = _rf->read(_isequal, _lock)) // incremento
{
_rf->remove(); // eliminazione riga quadro
}
if (err == _iskeynotfound)
_rf->reread();
return err;
}
bool TQuadroF::remove()
@ -761,6 +781,16 @@ bool TQuadroF::d_notify(TSheet_field& s, int r, KEY k)
break;
}
return TRUE;
}
bool TQuadroF::mainmsk_handler(TMask& m, KEY k)
{
if (k == K_ESC)
{
TOperable_field& f = m.focus_field();
m.set_focus_field(f.dlg());
}
return TRUE;
}
bool TQuadroF::eprov_handler(TMask_field& f, KEY k)
@ -956,7 +986,7 @@ real TQuadroF::calcola_rope(TMask_field& f, const real& sogg, const bool force)
m.reset(id_rope);
// Nel prospetto A oltre alla ritenuta operata setto anche S_SALD
if ((app()._tipo_prosp == 'E') && (m.get_sheet()->dlg() == F_A))
if ((app()._tipo_prosp == 'A') && (m.get_sheet()->dlg() == F_A))
{
const real pa_col5(f.mask().get(S_TACC));
real pa_col6 = pa_col4 - pa_col5;

View File

@ -1,12 +1,6 @@
// 771231a.h - quadro F
// *NOTA* gli identificatori fino al 119 sono per spreadsheet
#define F_CODDITTA 101
#define F_RAGDITTA 102
#define F_A 103
#define F_B 104
#define F_C 105
#define F_D 106
#define F_A1 120
#define F_A2 121
#define F_A3 122
@ -20,7 +14,12 @@
#define F_SOGG 130
#define F_ROP 131
#define F_CODCAU 132
#define DLG_AZZERA 133
#define F_CODDITTA 134
#define F_RAGDITTA 135
#define F_A 136
#define F_B 137
#define F_C 138
#define F_D 139

View File

@ -1,3 +1,7 @@
// Gruppi utilizzati :
// 1 - identifica il codice ditta di intestazione da replicare sulle pagine
// 2 - identifica la descrizione ditta di intestazione da replicare sulle pagine
#include "771231a.h"
TOOLBAR "" 0 20 0 2
@ -20,13 +24,15 @@ BEGIN
FIELD LF_QUAF->CODDITTA
KEY 1
CHECKTYPE REQUIRED
FLAGS "GRD"
FLAGS "GRD"
MESSAGE COPY,1@
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
MESSAGE COPY,2@
END
TEXT DLG_NULL
@ -34,7 +40,7 @@ BEGIN
PROMPT 1 3 "@bProspetto A"
END
SPREADSHEET F_A 0 8
SPREADSHEET F_A 78 8
BEGIN
PROMPT 0 4 ""
ITEM "Causale"
@ -47,55 +53,55 @@ BEGIN
ITEM "Somma versata@15"
END
GROUPBOX DLG_NULL 78 6
GROUPBOX DLG_NULL 0 6
BEGIN
PROMPT 1 12 ""
PROMPT 1 13 ""
END
TEXT DLG_NULL
BEGIN
PROMPT 3 13 "A1 Importo di col.7 ..."
PROMPT 3 14 "A1 Importo di col.7 ..."
END
NUMBER F_A1 15
BEGIN
PROMPT 60 13 ""
PROMPT 60 14 ""
PICTURE "."
FIELD LF_QUAF->A1
END
TEXT DLG_NULL
BEGIN
PROMPT 3 14 "A2 Importo di col.7 di cui si chiede il rimborso"
PROMPT 3 15 "A2 Importo di col.7 di cui si chiede il rimborso"
END
NUMBER F_A2 15
BEGIN
PROMPT 60 14 ""
PROMPT 60 15 ""
PICTURE "."
FIELD LF_QUAF->A2
END
TEXT DLG_NULL
BEGIN
PROMPT 3 15 "A3 Somme soggette a ritenuta ..."
PROMPT 3 16 "A3 Somme soggette a ritenuta ..."
END
NUMBER F_A3 15
BEGIN
PROMPT 60 15 ""
PROMPT 60 16 ""
PICTURE "."
FIELD LF_QUAF->A3
END
TEXT DLG_NULL
BEGIN
PROMPT 3 16 "A4 Ritenute operate ..."
PROMPT 3 17 "A4 Ritenute operate ..."
END
NUMBER F_A4 15
BEGIN
PROMPT 60 16 ""
PROMPT 60 17 ""
PICTURE "."
FIELD LF_QUAF->A4
END
@ -104,14 +110,33 @@ ENDPAGE
PAGE "Prospetto B,C" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RD"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
GROUP 2
END
TEXT DLG_NULL
BEGIN
PROMPT 1 0 "@bProspetto B"
PROMPT 1 3 "@bProspetto B"
END
SPREADSHEET F_B 78 6
BEGIN
PROMPT 0 1 ""
PROMPT 0 4 ""
ITEM "Causale"
ITEM "Descrizione@50"
ITEM "Aliquota"
@ -121,12 +146,12 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 1 8 "@bProspetto C"
PROMPT 1 11 "@bProspetto C"
END
SPREADSHEET F_C 78 6
BEGIN
PROMPT 0 9 ""
PROMPT 0 12 ""
ITEM "Causale"
ITEM "Descrizione@50"
ITEM "Aliquota"
@ -138,14 +163,33 @@ ENDPAGE
PAGE "Prospetto D,E,F" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RD"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
GROUP 2
END
TEXT DLG_NULL
BEGIN
PROMPT 1 0 "@bProspetto D"
PROMPT 1 3 "@bProspetto D"
END
SPREADSHEET F_D 78 6
BEGIN
PROMPT 0 1 ""
PROMPT 0 4 ""
ITEM "Causale"
ITEM "Descrizione@50"
ITEM "Aliquota"
@ -155,36 +199,36 @@ END
GROUPBOX DLG_NULL 0 5
BEGIN
PROMPT 1 8 "@bProspetto E"
PROMPT 1 11 "@bProspetto E"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 9 "Importo complessivo delle cambiali "
PROMPT 2 12 "Importo complessivo delle cambiali "
END
NUMBER E_CAMBIAL 15
BEGIN
PROMPT 60 9 ""
PROMPT 60 12 ""
PICTURE "."
FIELD LF_QUAF->E_CAMBIALI
END
TEXT DLG_NULL
BEGIN
PROMPT 2 10 "Proventi soggetti a ritenuta "
PROMPT 2 13 "Proventi soggetti a ritenuta "
END
NUMBER E_PROVENTI 15
BEGIN
PROMPT 60 10 ""
PROMPT 60 13 ""
PICTURE "."
FIELD LF_QUAF->E_SOGRIT
END
NUMBER E_ALI 5
BEGINE
PROMPT 2 11 "Aliquota "
PROMPT 2 14 "Aliquota "
FIELD LF_QUAF->E_ALIQUOTA
PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)}
@ -192,19 +236,19 @@ END
NUMBER E_ROP 15
BEGIN
PROMPT 43 11 "Ritenuta operata "
PROMPT 43 14 "Ritenuta operata "
PICTURE "."
FIELD LF_QUAF->E_ROPE
END
GROUPBOX DLG_NULL 0 5
BEGIN
PROMPT 1 13 "@bProspetto F"
PROMPT 1 16 "@bProspetto F"
END
STRING F_CODCAU 2
BEGIN
PROMPT 2 14 "Causale "
PROMPT 2 17 "Causale "
USE %CA7 SELECT (S1="F")
VALIDATE REQIF_FUNC 3 F_SOGG F_ALI F_ROP
INPUT CODTAB F_CODCAU
@ -227,20 +271,20 @@ END
STRING F_DESCRCAUS 60
BEGIN
PROMPT 16 14 ""
PROMPT 16 17 ""
FLAGS "D"
END
NUMBER F_SOGG 15
BEGIN
PROMPT 2 15 "Somme soggette a ritenuta "
PROMPT 2 18 "Somme soggette a ritenuta "
PICTURE "."
FIELD LF_QUAF->F_SOGRIT
END
NUMBER F_ALI 5
BEGIN
PROMPT 51 15 "Aliquota "
PROMPT 51 18 "Aliquota "
PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)}
FIELD LF_QUAF->F_ALIQUOTA
@ -248,7 +292,7 @@ END
NUMBER F_ROP 15
BEGIN
PROMPT 2 16 "Ritenuta operata "
PROMPT 2 19 "Ritenuta operata "
PICTURE "."
FIELD LF_QUAF->F_ROPE
END

View File

@ -81,9 +81,9 @@ BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_NULL 9 2
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "Azzera"
PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@
END

View File

@ -1,6 +1,6 @@
// 771231c.uml - quadro F prospetto B-C-D
PAGE "Prospetto B-C-D" -1 -1 76 9
PAGE "" -1 -1 76 9
NUMBER 101 2
BEGIN
@ -52,18 +52,18 @@ END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -13 -1 ""
PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -23 -1 ""
PROMPT -23 -1 ""
END
BUTTON DLG_NULL 9 2
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "Azzera"
MESSAGE RESET,1@
PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@
END
ENDPAGE

View File

@ -60,9 +60,9 @@ BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_NULL 9 2
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "Azzera"
PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@
END

View File

@ -58,11 +58,11 @@ END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -23 -1 ""
END
END
BUTTON DLG_NULL 9 2
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "Azzera"
PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@
END

View File

@ -1,56 +1,56 @@
#include "776100a.h"
PAGE "Manutenzione dichiarazione" -1 -1 64 8
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Codice "
USE LF_NDITTE SELECT LF_BASE->CODDITTA!=""
JOIN LF_BASE INTO CODDITTA==CODDITTA
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGDITTA RAGSOC
HELP "Codice della ditta da selezionare"
CHECKTYPE REQUIRED
WARNING "Manca la ditta"
KEY 1
GROUP 1
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 1 2 "Rag. Soc. "
USE LF_NDITTE KEY 2 SELECT LF_BASE->CODDITTA!=""
JOIN LF_BASE INTO CODDITTA==CODDITTA
INPUT RAGSOC F_RAGDITTA
DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Codice" CODDITTA
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGDITTA RAGSOC
HELP "Ragione sociale della ditta da selezionare"
KEY 2
GROUP 1
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 1 4 "Anno dichiarazione "
FLAGS "D"
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -22 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -12 -1 "Fine"
END
ENDPAGE
ENDMASK
#include "776100a.h"
PAGE "Manutenzione dichiarazione" -1 -1 64 8
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Codice "
USE LF_NDITTE SELECT LF_BASE->CODDITTA!=""
JOIN LF_BASE INTO CODDITTA==CODDITTA
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGDITTA RAGSOC
HELP "Codice della ditta da selezionare"
CHECKTYPE REQUIRED
WARNING "Manca la ditta"
KEY 1
GROUP 1
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 1 2 "Rag. Soc. "
USE LF_NDITTE KEY 2 SELECT LF_BASE->CODDITTA!=""
JOIN LF_BASE INTO CODDITTA==CODDITTA
INPUT RAGSOC F_RAGDITTA
DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Codice" CODDITTA
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGDITTA RAGSOC
HELP "Ragione sociale della ditta da selezionare"
KEY 2
GROUP 1
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 1 4 "Anno dichiarazione "
FLAGS "D"
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 "Fine"
END
ENDPAGE
ENDMASK

View File

@ -20,7 +20,7 @@ BEGIN
FLAGS "H"
END
GROUPBOX DLG_NULL 78 3
GROUPBOX DLG_NULL 76 3
BEGIN
PROMPT 1 0 ""
END

View File

@ -60,7 +60,7 @@ bool TImmissioneDichiarazione::do_it()
if (enter_dichiar_770(codditta, _anno_dic))
message_box("Dichiarazione inserita");
}
_msk->close();
_msk->close_modal();
return tasto == K_ENTER;
}

View File

@ -27,8 +27,10 @@ class TParametri_genera : public TApplication
virtual bool create() ;
virtual bool destroy();
virtual bool menu(MENU_TAG m);
public:
bool main_loop();
public:
KEY registra(TMask& m, bool check_dirty);
bool main_loop();
// D = stampa ditta, S = stampa a livello di studio
TParametri_genera(char livello='D') : _liv(toupper(livello)) {}
};
@ -41,68 +43,108 @@ void TParametri_genera::on_config_change()
_anno_dic = (int)conf.get_long(ANNO_SEL, _section);
}
KEY TParametri_genera::registra(TMask& m, bool check_dirty)
{
KEY k = K_YES;
if (check_dirty && m.dirty())
k = yesnocancel_box("Registrare le modifiche?");
if (k == K_YES)
{
m.autosave(*_rel);
_rel->rewrite();
}
return k;
}
bool TParametri_genera::main_loop()
{
KEY tasto;
TMask msk ("776500a");
{
long codditta, codditta_prec;
int i = 0;
KEY tasto;
TMask msk("776500a");
msk.open_modal();
// da dichiarazioni selezionate
if (_liv == 'S')
{
codditta_prec = get_firm_770();
while ((codditta = _cnf->get_long(DITTE_SEL, _section, i++)) != 0L)
tasto = K_TAB;
// loop di scansione dichiarazioni selezionate
while ((codditta = _cnf->get_long(DITTE_SEL, _section, i++)) != 0L
&& tasto != K_QUIT)
{
set_firm_770(codditta);
_rel->lfile().put("CODDITTA", codditta);
_rel->read();
msk.autoload(*_rel);
tasto = msk.run();
_rel->read();
msk.autoload(*_rel);
tasto = K_TAB;
if (tasto == K_ESC) continue;
// loop di gestione maschera
while (tasto != K_ESC && tasto != K_QUIT)
{
tasto = msk.run();
switch (tasto)
{
case K_ESC:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
break;
case K_QUIT:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
break;
case K_SAVE:
registra(msk,FALSE);
default:
break;
}
} // endloop di gestione maschera
if (tasto == K_SAVE)
{
msk.autosave(*_rel);
_rel->rewrite();
}
if (tasto == K_QUIT) break;
}
} // endloop di scansione dichiarazioni selezionate
set_firm_770(codditta_prec);
return FALSE;
}
}
// dalla manutenzione dichiarazione
else
{
codditta = get_firm_770();
codditta = get_firm_770();
_rel->lfile().put("CODDITTA", codditta);
_rel->read();
msk.autoload(*_rel);
tasto = msk.run();
msk.autoload(*_rel);
tasto = K_TAB;
if (tasto == K_ESC)
{
_risposta = 1;
return FALSE;
}
if (tasto == K_SAVE)
{
msk.autosave(*_rel);
_rel->rewrite();
_risposta = 1;
}
if (tasto == K_QUIT)
{
_risposta = 0;
return FALSE;
}
// loop di gestione maschera
while (tasto != K_ESC && tasto != K_QUIT)
{
tasto = msk.run();
switch (tasto)
{
case K_ESC:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
_risposta = 1;
break;
case K_QUIT:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
_risposta = 0;
break;
case K_SAVE:
registra(msk,FALSE);
_risposta = 1;
default:
break;
}
} // endloop di gestione maschera
}
msk.close_modal();
return FALSE;
}

View File

@ -4,7 +4,7 @@ TOOLBAR "" 0 20 0 2
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -13 -1 ""
PROMPT -13 -1 "~Registra"
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
@ -24,7 +24,7 @@ END
ENDPAGE
PAGE "Prospetto dati generali" -1 -1 78 18
PAGE "Parametri di generazione" -1 -1 78 18
#define G_ABICAB 1
#define G_DISTINTA 2

View File

@ -20,7 +20,7 @@ class TEstinti_app : public TApplication
TLocalisamfile* _base, *_basebis;
TRelation* _rel;
TCursor* _cur;
TBrowse_sheet* _estint_sheet;
TCursor_sheet* _estint_sheet;
static bool show_estinti(TMask_field& f, KEY k);
void force_output(int dlg, const long cod);
@ -76,10 +76,8 @@ bool TEstinti_app::create()
TString16 filt;
filt.format("CODDIC=%ld", _codditta);
_cur = new TCursor(_rel, filt);
TEdit_field& dummy = (TEdit_field&)_msk->field(F_CODDIC_DUMMY);
TToken_string siblings;
_estint_sheet = new TBrowse_sheet(_cur,"CODDITTA|9->RAGSOC", "Elenco estinti",
"Codice|Ragione sociale@50", 8, &dummy, siblings);
_estint_sheet = new TCursor_sheet(_cur,"CODDITTA|9->RAGSOC", "Elenco estinti",
"Codice|Ragione sociale@50", 0x18, 3);
_msk->set_handler(F_ESTINTI, show_estinti);
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
@ -198,7 +196,7 @@ bool TEstinti_app::main_loop()
break;
}
}
_msk->close();
_msk->close_modal();
return FALSE;
}

View File

@ -30,19 +30,6 @@ BEGIN
FLAGS "D"
END
// serve solo per costruire un Browse_sheet. v. 776600.cpp
NUMBER F_CODDIC_DUMMY 5
BEGIN
PROMPT 1 1 ""
USE LF_BASE KEY 2
JOIN LF_NDITTE TO LF_BASE KEY 1 INTO CODDITTA=CODDITTA
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" LF_NDITTE->RAGSOC
OUTPUT F_CODDIC CODDITTA
FLAGS "HG"
END
NUMBER F_CODDIC 5
BEGIN
PROMPT 1 3 "Soggetto dichiarante "

View File

@ -51,7 +51,7 @@ BEGIN
FLAGS "HG"
END
STRING F_RAGSOC2 45
STRING F_RAGSOC2 50 45
BEGIN
PROMPT 24 0 ""
FLAGS "D"