Patch level : 10.0 298

Files correlati     :  
Commento            :

Riaggiunto il modulo GV Gestione Versamenti F24

git-svn-id: svn://10.65.10.50/branches/R_10_00@23363 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
bonazzi 2016-10-04 16:10:33 +00:00
parent 209842d7fb
commit c4afcee280
16 changed files with 4851 additions and 4850 deletions

View File

@ -1,3 +1,3 @@
158 158
0 0
$righef24|0|0|250|0|Righe di delega F24||| $righef24|0|0|250|0|Righe di delega F24|||

View File

@ -1,44 +1,44 @@
158 158
36 36
PROGR|3|6|0|Progressivo riga PROGR|3|6|0|Progressivo riga
F24|3|6|0|Numero F24 a cui la riga e' associata F24|3|6|0|Numero F24 a cui la riga e' associata
SEZIONE|1|1|0|Sezione (Erario, INPS etc) SEZIONE|1|1|0|Sezione (Erario, INPS etc)
INDICE|1|1|0|indice della sezione INDICE|1|1|0|indice della sezione
TRIBUTO|1|4|0|Codice tributo TRIBUTO|1|4|0|Codice tributo
TIPOINTEST|1|1|0|Tipo intestatario (D, G, F, C) TIPOINTEST|1|1|0|Tipo intestatario (D, G, F, C)
INTEST|3|6|0|Codice intestatario INTEST|3|6|0|Codice intestatario
TIPO|1|1|0|Tipo persona (G, F, C) TIPO|1|1|0|Tipo persona (G, F, C)
CODICE|3|6|0|Codice persona CODICE|3|6|0|Codice persona
DESCR|1|50|0|Descrizione riga F24 DESCR|1|50|0|Descrizione riga F24
DATASCAD|5|8|0|Data scadenza DATASCAD|5|8|0|Data scadenza
DATAVERS|5|8|0|Data versamento DATAVERS|5|8|0|Data versamento
ABI|10|5|0|ABI banca su cio e' stato effettuato il versamento ABI|10|5|0|ABI banca su cio e' stato effettuato il versamento
CAB|10|5|0|CAB CAB|10|5|0|CAB
RATEAZIONE|1|8|0|Rateazione/Regione/Prov. RATEAZIONE|1|8|0|Rateazione/Regione/Prov.
ANNO|2|4|0|Anno di riferimento ANNO|2|4|0|Anno di riferimento
IMPORTODEB|4|15|3|Importo a debito IMPORTODEB|4|15|3|Importo a debito
IMPORTOCRE|4|15|3|Importo a credito IMPORTOCRE|4|15|3|Importo a credito
DETRAZICI|4|15|3|Detrazione ICI DETRAZICI|4|15|3|Detrazione ICI
SEDE|1|5|0|Sede sezione INPS/INAIL SEDE|1|5|0|Sede sezione INPS/INAIL
MATRICOLA|1|17|0|Matricola MATRICOLA|1|17|0|Matricola
PERIODODA|10|6|0|Inizio periodo di riferimento PERIODODA|10|6|0|Inizio periodo di riferimento
PERIODOA|10|6|0|Fine periodo di riferimento PERIODOA|10|6|0|Fine periodo di riferimento
NUMREG|3|7|0|Numero di registrazione contabile NUMREG|3|7|0|Numero di registrazione contabile
INTIVATRIM|4|14|3|Interessi IVA INTIVATRIM|4|14|3|Interessi IVA
CODREG|2|2|0|COdice Regione CODREG|2|2|0|COdice Regione
ENTECOM|1|4|0|Codice Ente/Comune ENTECOM|1|4|0|Codice Ente/Comune
RAVVED|8|1|0|Ravvedimento RAVVED|8|1|0|Ravvedimento
IMMVAR|8|1|0|Immobili variati IMMVAR|8|1|0|Immobili variati
ACCONTO|8|1|0|Acconto ACCONTO|8|1|0|Acconto
SALDO|8|1|0|Saldo SALDO|8|1|0|Saldo
NUMIMM|2|2|0|Numero Immobli NUMIMM|2|2|0|Numero Immobli
POSASS|3|8|0|Posizione assicurativa INAIL POSASS|3|8|0|Posizione assicurativa INAIL
CIN|2|2|0|Codice di controllo CIN|2|2|0|Codice di controllo
CAUSINAIL|1|1|0|Causale INAIL CAUSINAIL|1|1|0|Causale INAIL
NUMRIF|3|6|0|Numero di riferimento INAIL NUMRIF|3|6|0|Numero di riferimento INAIL
5 5
PROGR| PROGR|
F24+PROGR| F24+PROGR|
TIPOINTEST+INTEST+DATASCAD+TRIBUTO|X TIPOINTEST+INTEST+DATASCAD+TRIBUTO|X
TIPOINTEST+INTEST+ANNO+TRIBUTO|X TIPOINTEST+INTEST+ANNO+TRIBUTO|X
F24+INDICE+TRIBUTO+PROGR|X F24+INDICE+TRIBUTO+PROGR|X

View File

@ -1,13 +1,14 @@
#include <xvt.h> #include <xvt.h>
#include "gv0.h" #include "gv0.h"
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
const int n = argc > 1 ? argv[1][1]-'0' : 0; const int n = argc > 1 ? argv[1][1]-'0' : 0;
switch (n) switch (n)
{ {
case 4: gv0500(argc, argv); break; //emissione F24 case 4: gv0500(argc, argv); break; //emissione F24
default: gv0600(argc, argv); break; //invio F24 case 5: gv0600(argc, argv); break; //invio F24
} default: break;
return 0; }
return 0;
} }

View File

@ -1,2 +1,2 @@
int gv0500(int argc, char* argv[]); int gv0500(int argc, char* argv[]);
int gv0600(int argc, char* argv[]); int gv0600(int argc, char* argv[]);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,46 +1,46 @@
#define F_ABI 202 #define F_ABI 202
#define F_CAB 203 #define F_CAB 203
#define F_DESABI 204 #define F_DESABI 204
#define F_DESCAB 205 #define F_DESCAB 205
#define F_TIPOINTEST 211 #define F_TIPOINTEST 211
#define F_CLIFO 212 #define F_CLIFO 212
#define F_PERSON 213 #define F_PERSON 213
#define F_DISTINTA 214 #define F_DISTINTA 214
#define F_PROGR 215 #define F_PROGR 215
#define F_TIPO 216 #define F_TIPO 216
#define F_DATAVERS 217 #define F_DATAVERS 217
#define F_COFI 301 #define F_COFI 301
#define F_RAGSOC 302 #define F_RAGSOC 302
#define F_CONT 303 #define F_CONT 303
#define F_STAMPA 304 #define F_STAMPA 304
#define F_ERARIO 401 #define F_ERARIO 401
#define F_ERARIO_A 402 #define F_ERARIO_A 402
#define F_ERARIO_B 403 #define F_ERARIO_B 403
#define F_ERARIO_AB 404 #define F_ERARIO_AB 404
#define F_INPS 501 #define F_INPS 501
#define F_INPS_C 502 #define F_INPS_C 502
#define F_INPS_D 503 #define F_INPS_D 503
#define F_INPS_CD 504 #define F_INPS_CD 504
#define F_REGIONI 601 #define F_REGIONI 601
#define F_REGIONI_E 602 #define F_REGIONI_E 602
#define F_REGIONI_F 603 #define F_REGIONI_F 603
#define F_REGIONI_EF 604 #define F_REGIONI_EF 604
#define F_ICI 701 #define F_ICI 701
#define F_ICI_G 702 #define F_ICI_G 702
#define F_ICI_H 703 #define F_ICI_H 703
#define F_ICI_GH 704 #define F_ICI_GH 704
#define F_INAIL 801 #define F_INAIL 801
#define F_INAIL_I 802 #define F_INAIL_I 802
#define F_INAIL_L 803 #define F_INAIL_L 803
#define F_INAIL_IL 804 #define F_INAIL_IL 804
#define F_SALDO 999 #define F_SALDO 999

View File

@ -1,124 +1,124 @@
#include "gv0500a.h" #include "gv0500a.h"
TOOLBAR "" 0 0 0 2 TOOLBAR "" 0 0 0 2
#include <relapbar.h> #include <relapbar.h>
ENDPAGE ENDPAGE
PAGE "F24" 0 0 0 -3 PAGE "F24" 0 0 0 -3
GROUPBOX DLG_NULL 78 6 GROUPBOX DLG_NULL 78 6
BEGIN BEGIN
PROMPT 1 0 "@bSelezione" PROMPT 1 0 "@bSelezione"
END END
NUMBER F_ABI 5 NUMBER F_ABI 5
BEGIN BEGIN
PROMPT 2 1 "ABI " PROMPT 2 1 "ABI "
CHECKTYPE NORMAL CHECKTYPE NORMAL
FLAGS "Z" FLAGS "Z"
END END
NUMBER F_CAB 5 NUMBER F_CAB 5
BEGIN BEGIN
PROMPT 2 2 "CAB " PROMPT 2 2 "CAB "
USE BNP USE BNP
JOIN %BAN ALIAS 883 INTO CODTAB==CODTAB[1,5] JOIN %BAN ALIAS 883 INTO CODTAB==CODTAB[1,5]
JOIN %BAN ALIAS 884 INTO CODTAB==CODTAB JOIN %BAN ALIAS 884 INTO CODTAB==CODTAB
INPUT CODTAB[1,5] F_ABI INPUT CODTAB[1,5] F_ABI
INPUT CODTAB[6,10] F_CAB INPUT CODTAB[6,10] F_CAB
DISPLAY "ABI@5" CODTAB[1,5] DISPLAY "ABI@5" CODTAB[1,5]
DISPLAY "CAB@5" CODTAB[6,10] DISPLAY "CAB@5" CODTAB[6,10]
DISPLAY "Descrizione@50" 884@->S0 DISPLAY "Descrizione@50" 884@->S0
OUTPUT F_ABI CODTAB[1,5] OUTPUT F_ABI CODTAB[1,5]
OUTPUT F_CAB CODTAB[6,10] OUTPUT F_CAB CODTAB[6,10]
OUTPUT F_DESABI 883@->S0 OUTPUT F_DESABI 883@->S0
OUTPUT F_DESCAB 884@->S0 OUTPUT F_DESCAB 884@->S0
CHECKTYPE NORMAL CHECKTYPE NORMAL
FLAGS "Z" FLAGS "Z"
END END
STRING F_DESABI 70 50 STRING F_DESABI 70 50
BEGIN BEGIN
PROMPT 26 1 "" PROMPT 26 1 ""
FLAGS "D" FLAGS "D"
END END
STRING F_DESCAB 70 50 STRING F_DESCAB 70 50
BEGIN BEGIN
PROMPT 26 2 "" PROMPT 26 2 ""
USE BNP KEY 2 USE BNP KEY 2
JOIN %BAN ALIAS 883 INTO CODTAB==CODTAB[1,5] JOIN %BAN ALIAS 883 INTO CODTAB==CODTAB[1,5]
JOIN %BAN ALIAS 884 INTO CODTAB==CODTAB JOIN %BAN ALIAS 884 INTO CODTAB==CODTAB
INPUT S0 F_DESCAB INPUT S0 F_DESCAB
DISPLAY "Descrizione@50" 884@->S0 DISPLAY "Descrizione@50" 884@->S0
DISPLAY "ABI@5" CODTAB[1,5] DISPLAY "ABI@5" CODTAB[1,5]
DISPLAY "CAB@5" CODTAB[6,10] DISPLAY "CAB@5" CODTAB[6,10]
COPY OUTPUT F_CAB COPY OUTPUT F_CAB
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
LIST F_TIPOINTEST 1 10 LIST F_TIPOINTEST 1 10
BEGIN BEGIN
PROMPT 2 3 "Intestatario " PROMPT 2 3 "Intestatario "
ITEM " |Tutti" MESSAGE HIDE,F_CLIFO|HIDE,F_PERSON ITEM " |Tutti" MESSAGE HIDE,F_CLIFO|HIDE,F_PERSON
ITEM "D|Ditta" MESSAGE HIDE,F_CLIFO|HIDE,F_PERSON ITEM "D|Ditta" MESSAGE HIDE,F_CLIFO|HIDE,F_PERSON
ITEM "C|Cliente" MESSAGE SHOW,F_CLIFO|HIDE,F_PERSON ITEM "C|Cliente" MESSAGE SHOW,F_CLIFO|HIDE,F_PERSON
ITEM "F|Fisico" MESSAGE HIDE,F_CLIFO|SHOW,F_PERSON ITEM "F|Fisico" MESSAGE HIDE,F_CLIFO|SHOW,F_PERSON
ITEM "G|Giuridico" MESSAGE HIDE,F_CLIFO|SHOW,F_PERSON ITEM "G|Giuridico" MESSAGE HIDE,F_CLIFO|SHOW,F_PERSON
END END
NUMBER F_CLIFO 6 NUMBER F_CLIFO 6
BEGIN BEGIN
PROMPT 36 3 "" PROMPT 36 3 ""
USE LF_CLIFO USE LF_CLIFO
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT CODCF F_CLIFO INPUT CODCF F_CLIFO
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale@50" RAGSOC DISPLAY "Ragione Sociale@50" RAGSOC
OUTPUT F_CLIFO CODCF OUTPUT F_CLIFO CODCF
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD RUN cg0 -1 C ADD RUN cg0 -1 C
MESSAGE COPY,F_PERSON MESSAGE COPY,F_PERSON
END END
NUMBER F_PERSON 6 NUMBER F_PERSON 6
BEGIN BEGIN
PROMPT 36 3 "" PROMPT 36 3 ""
USE LF_ANAG USE LF_ANAG
INPUT TIPOA F_TIPOINTEST INPUT TIPOA F_TIPOINTEST
INPUT CODANAGR F_PERSON INPUT CODANAGR F_PERSON
DISPLAY "Codice" CODANAGR DISPLAY "Codice" CODANAGR
DISPLAY "Ragione Sociale@50" RAGSOC DISPLAY "Ragione Sociale@50" RAGSOC
OUTPUT F_PERSON CODANAGR OUTPUT F_PERSON CODANAGR
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD RUN ba4 -1 #F_TIPOINTEST ADD RUN ba4 -1 #F_TIPOINTEST
END END
LIST F_TIPO 1 10 LIST F_TIPO 1 10
BEGIN BEGIN
PROMPT 2 4 "Tipo distinta " PROMPT 2 4 "Tipo distinta "
ITEM "3|Tutte" ITEM "3|Tutte"
ITEM "1|Da inviare" ITEM "1|Da inviare"
ITEM "2|Inviata" ITEM "2|Inviata"
END END
NUMBER F_DISTINTA 6 NUMBER F_DISTINTA 6
BEGIN BEGIN
PROMPT 2 6 "Distinta " PROMPT 2 6 "Distinta "
FIELD F24 FIELD F24
KEY 2 KEY 2
FLAGS "B" FLAGS "B"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_PROGR 6 NUMBER F_PROGR 6
BEGIN BEGIN
PROMPT 22 6 "Progressivo " PROMPT 22 6 "Progressivo "
FIELD PROGR FIELD PROGR
FLAGS "B" FLAGS "B"
KEY 2 KEY 2
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -1,7 +1,7 @@
#define F_FILTER 101 #define F_FILTER 101
#define F_ABI 102 #define F_ABI 102
#define F_CAB 103 #define F_CAB 103
#define F_DESBAN 104 #define F_DESBAN 104
#define F_TIPOINTEST 105 #define F_TIPOINTEST 105
#define F_CLIFO 106 #define F_CLIFO 106
#define F_PERSON 107 #define F_PERSON 107

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +1,19 @@
#define F_DISTINTE 200 #define F_DISTINTE 200
#define F_PATH 201 #define F_PATH 201
#define F_FILE 202 #define F_FILE 202
#define F_DATAPAG 203 #define F_DATAPAG 203
#define F_DATA 204 #define F_DATA 204
#define F_FILTER 210 #define F_FILTER 210
#define F_DATA_DA 211 #define F_DATA_DA 211
#define F_DATA_AL 212 #define F_DATA_AL 212
#define F_ABI 213 #define F_ABI 213
#define F_CAB 214 #define F_CAB 214
#define F_DESBAN 215 #define F_DESBAN 215
#define F_TIPOINTEST 216 #define F_TIPOINTEST 216
#define F_CLIFO 217 #define F_CLIFO 217
#define F_PERSON 218 #define F_PERSON 218
#define F_MITTENTE 301 #define F_MITTENTE 301
#define F_CONTABILIZZA 302 #define F_CONTABILIZZA 302

View File

@ -1,261 +1,261 @@
#include "gv0600a.h" #include "gv0600a.h"
TOOLBAR "" 0 0 0 2 TOOLBAR "" 0 0 0 2
#include <elabar.h> #include <elabar.h>
ENDPAGE ENDPAGE
PAGE "Invio F4" 0 0 0 -3 PAGE "Invio F4" 0 0 0 -3
GROUPBOX DLG_NULL 78 5 GROUPBOX DLG_NULL 78 5
BEGIN BEGIN
PROMPT 1 0 "@bSelezione" PROMPT 1 0 "@bSelezione"
END END
LIST F_FILTER 1 13 LIST F_FILTER 1 13
BEGIN BEGIN
PROMPT 2 1 "Mostra distinte " PROMPT 2 1 "Mostra distinte "
ITEM " |da inviare" ITEM " |da inviare"
ITEM "I|inviate" ITEM "I|inviate"
ITEM "Q|qualsiasi" ITEM "Q|qualsiasi"
END END
DATE F_DATA_DA DATE F_DATA_DA
BEGIN BEGIN
PROMPT 36 1 "Scadenze dal" PROMPT 36 1 "Scadenze dal"
END END
DATE F_DATA_AL DATE F_DATA_AL
BEGIN BEGIN
PROMPT 62 1 "al " PROMPT 62 1 "al "
END END
NUMBER F_ABI 5 NUMBER F_ABI 5
BEGIN BEGIN
PROMPT 2 2 "Banca (ABI-CAB) " PROMPT 2 2 "Banca (ABI-CAB) "
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FLAGS "Z" FLAGS "Z"
FIELD ABI FIELD ABI
END END
NUMBER F_CAB 5 NUMBER F_CAB 5
BEGIN BEGIN
PROMPT 25 2 " " PROMPT 25 2 " "
USE BNP USE BNP
JOIN %BAN ALIAS 883 INTO CODTAB==CODTAB JOIN %BAN ALIAS 883 INTO CODTAB==CODTAB
INPUT CODTAB[1,5] F_ABI INPUT CODTAB[1,5] F_ABI
INPUT CODTAB[6,10] F_CAB INPUT CODTAB[6,10] F_CAB
DISPLAY "ABI@5" CODTAB[1,5] DISPLAY "ABI@5" CODTAB[1,5]
DISPLAY "CAB@5" CODTAB[6,10] DISPLAY "CAB@5" CODTAB[6,10]
DISPLAY "Descrizione@50" 883@->S0 DISPLAY "Descrizione@50" 883@->S0
OUTPUT F_ABI CODTAB[1,5] OUTPUT F_ABI CODTAB[1,5]
OUTPUT F_CAB CODTAB[6,10] OUTPUT F_CAB CODTAB[6,10]
OUTPUT F_DESBAN 883@->S0 OUTPUT F_DESBAN 883@->S0
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FLAGS "Z" FLAGS "Z"
FIELD CAB FIELD CAB
END END
STRING F_DESBAN 70 40 STRING F_DESBAN 70 40
BEGIN BEGIN
PROMPT 36 2 "" PROMPT 36 2 ""
FLAGS "D" FLAGS "D"
END END
LIST F_TIPOINTEST 1 10 LIST F_TIPOINTEST 1 10
BEGIN BEGIN
PROMPT 2 3 "Intestatario " PROMPT 2 3 "Intestatario "
ITEM " |Tutti" MESSAGE HIDE,F_CLIFO|HIDE,F_PERSON ITEM " |Tutti" MESSAGE HIDE,F_CLIFO|HIDE,F_PERSON
ITEM "C|Cliente" MESSAGE SHOW,F_CLIFO|HIDE,F_PERSON ITEM "C|Cliente" MESSAGE SHOW,F_CLIFO|HIDE,F_PERSON
ITEM "D|Ditta" MESSAGE HIDE,F_CLIFO|HIDE,F_PERSON ITEM "D|Ditta" MESSAGE HIDE,F_CLIFO|HIDE,F_PERSON
ITEM "F|Fisico" MESSAGE HIDE,F_CLIFO|SHOW,F_PERSON ITEM "F|Fisico" MESSAGE HIDE,F_CLIFO|SHOW,F_PERSON
ITEM "G|Giuridico" MESSAGE HIDE,F_CLIFO|SHOW,F_PERSON ITEM "G|Giuridico" MESSAGE HIDE,F_CLIFO|SHOW,F_PERSON
END END
NUMBER F_CLIFO 6 NUMBER F_CLIFO 6
BEGIN BEGIN
PROMPT 36 3 "" PROMPT 36 3 ""
USE LF_CLIFO USE LF_CLIFO
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT CODCF F_CLIFO INPUT CODCF F_CLIFO
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale@50" RAGSOC DISPLAY "Ragione Sociale@50" RAGSOC
OUTPUT F_CLIFO CODCF OUTPUT F_CLIFO CODCF
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD RUN cg0 -1 C ADD RUN cg0 -1 C
END END
NUMBER F_PERSON 6 NUMBER F_PERSON 6
BEGIN BEGIN
PROMPT 36 3 "" PROMPT 36 3 ""
USE LF_ANAG USE LF_ANAG
INPUT TIPOA F_TIPOINTEST INPUT TIPOA F_TIPOINTEST
INPUT CODANAGR F_PERSON INPUT CODANAGR F_PERSON
DISPLAY "Codice" CODANAGR DISPLAY "Codice" CODANAGR
DISPLAY "Ragione Sociale@50" RAGSOC DISPLAY "Ragione Sociale@50" RAGSOC
OUTPUT F_PERSON CODANAGR OUTPUT F_PERSON CODANAGR
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD RUN ba4 -1 #F_TIPOINTEST ADD RUN ba4 -1 #F_TIPOINTEST
END END
GROUPBOX DLG_NULL 78 5 GROUPBOX DLG_NULL 78 5
BEGIN BEGIN
PROMPT 1 5 "@bParametri" PROMPT 1 5 "@bParametri"
END END
STRING F_MITTENTE 5 STRING F_MITTENTE 5
BEGIN BEGIN
PROMPT 2 6 "Codice SIA del mittente " PROMPT 2 6 "Codice SIA del mittente "
CHEKCTYPE REQUIRED CHEKCTYPE REQUIRED
FIELD Mittente FIELD Mittente
END END
DATE F_DATA DATE F_DATA
BEGIN BEGIN
PROMPT 49 6 "Data di creazione " PROMPT 49 6 "Data di creazione "
CHEKCTYPE REQUIRED CHEKCTYPE REQUIRED
FLAGS "A" FLAGS "A"
END END
BOOLEAN F_CONTABILIZZA BOOLEAN F_CONTABILIZZA
BEGIN BEGIN
PROMPT 2 7 "Contabilizza" PROMPT 2 7 "Contabilizza"
FLAGS "D" FLAGS "D"
END END
DATE F_DATAPAG DATE F_DATAPAG
BEGIN BEGIN
PROMPT 49 7 "Data di pagamento " PROMPT 49 7 "Data di pagamento "
CHEKCTYPE REQUIRED CHEKCTYPE REQUIRED
END END
STRING F_PATH 256 39 STRING F_PATH 256 39
BEGIN BEGIN
PROMPT 2 8 "Cartella " PROMPT 2 8 "Cartella "
DSELECT DSELECT
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FIELD F24DestPath FIELD F24DestPath
END END
STRING F_FILE 18 STRING F_FILE 18
BEGIN BEGIN
PROMPT 54 8 "File " PROMPT 54 8 "File "
FLAGS "DG" FLAGS "DG"
DRIVENBY F_DATA F_ABI F_MITTENTE DRIVENBY F_DATA F_ABI F_MITTENTE
STR_CALC ANSI(#F_DATA)+#F_ABI+#F_MITTENTE STR_CALC ANSI(#F_DATA)+#F_ABI+#F_MITTENTE
END END
SPREADSHEET F_DISTINTE 78 SPREADSHEET F_DISTINTE 78
BEGIN BEGIN
PROMPT 1 10 "" PROMPT 1 10 ""
ITEM "@1" ITEM "@1"
ITEM "Distinta" ITEM "Distinta"
ITEM "Scadenza@10" ITEM "Scadenza@10"
ITEM "ABI@5" ITEM "ABI@5"
ITEM "CAB@5" ITEM "CAB@5"
ITEM "Tipo@2" ITEM "Tipo@2"
ITEM "Intestatario" ITEM "Intestatario"
ITEM "Invio@10" ITEM "Invio@10"
FLAGS "D" FLAGS "D"
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK
PAGE "Distinta" -1 -1 56 12 PAGE "Distinta" -1 -1 56 12
GROUP DLG_NULL 54 4 GROUP DLG_NULL 54 4
BEGIN BEGIN
PROMPT 1 0 "@bDistinta" PROMPT 1 0 "@bDistinta"
END END
BOOLEAN 101 BOOLEAN 101
BEGIN BEGIN
PROMPT 2 1 "Da inviare" PROMPT 2 1 "Da inviare"
END END
NUMBER 102 7 NUMBER 102 7
BEGIN BEGIN
PROMPT 2 2 "Numero " PROMPT 2 2 "Numero "
FLAGS "L" FLAGS "L"
FIELD F24 FIELD F24
END END
DATE 103 DATE 103
BEGIN BEGIN
PROMPT 32 1 "Scadenza " PROMPT 32 1 "Scadenza "
FLAGS "L" FLAGS "L"
FIELD DATASCAD FIELD DATASCAD
END END
DATE 108 DATE 108
BEGIN BEGIN
PROMPT 32 2 "Inviata il " PROMPT 32 2 "Inviata il "
FLAGS "L" FLAGS "L"
FIELD DATAVERS FIELD DATAVERS
END END
GROUP DLG_NULL 54 4 GROUP DLG_NULL 54 4
BEGIN BEGIN
PROMPT 1 4 "@bBanca" PROMPT 1 4 "@bBanca"
END END
NUMBER 104 5 NUMBER 104 5
BEGIN BEGIN
PROMPT 2 5 "ABI " PROMPT 2 5 "ABI "
FIELD ABI FIELD ABI
FLAGS "LZ" FLAGS "LZ"
END END
NUMBER 105 5 NUMBER 105 5
BEGIN BEGIN
PROMPT 16 5 "CAB " PROMPT 16 5 "CAB "
FIELD CAB FIELD CAB
FLAGS "LZ" FLAGS "LZ"
USE %BAN USE %BAN
INPUT CODTAB[1,5] 104 INPUT CODTAB[1,5] 104
INPUT CODTAB[6,10] 105 INPUT CODTAB[6,10] 105
DISPLAY "ABI@5" CODTAB[1,5] DISPLAY "ABI@5" CODTAB[1,5]
DISPLAY "CAB@5" CODTAB[6,10] DISPLAY "CAB@5" CODTAB[6,10]
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT 115 S0 OUTPUT 115 S0
CHECTYPE NORMAL CHECTYPE NORMAL
END END
STRING 115 50 STRING 115 50
BEGIN BEGIN
PROMPT 2 6 "" PROMPT 2 6 ""
FLAGS "D" FLAGS "D"
END END
GROUP DLG_NULL 54 3 GROUP DLG_NULL 54 3
BEGIN BEGIN
PROMPT 1 8 "@bIntestatario" PROMPT 1 8 "@bIntestatario"
END END
LIST 106 1 10 LIST 106 1 10
BEGIN BEGIN
PROMPT 2 9 "Tipo " PROMPT 2 9 "Tipo "
ITEM "C|Cliente" ITEM "C|Cliente"
ITEM "D|Ditta" ITEM "D|Ditta"
ITEM "F|Fisico" ITEM "F|Fisico"
ITEM "G|Giuridico" ITEM "G|Giuridico"
FIELD TIPOINTEST FIELD TIPOINTEST
FLAGS "L" FLAGS "L"
END END
NUMBER 107 6 NUMBER 107 6
BEGIN BEGIN
PROMPT 26 9 "" PROMPT 26 9 ""
FIELD INTEST FIELD INTEST
FLAGS "L" FLAGS "L"
END END
BUTTON DLG_CANCEL 10 2 BUTTON DLG_CANCEL 10 2
BEGIN BEGIN
PROMPT -11 -1 "" PROMPT -11 -1 ""
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -1,264 +1,264 @@
#include "gvlib.h" #include "gvlib.h"
#include <diction.h> #include <diction.h>
#include <relation.h> #include <relation.h>
#include "../cg/cg2101.h" #include "../cg/cg2101.h"
#include "../cg/cglib02.h" #include "../cg/cglib02.h"
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// TRigheF24_set // TRigheF24_set
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// 0=tutte 1=libere 2=assegnate 3=tutte // 0=tutte 1=libere 2=assegnate 3=tutte
TRigheF24_set::TRigheF24_set(int flags) TRigheF24_set::TRigheF24_set(int flags)
: TISAM_recordset("USE RIGHEF24 KEY 2") : TISAM_recordset("USE RIGHEF24 KEY 2")
{ {
switch ((flags & 0x3) % 3) switch ((flags & 0x3) % 3)
{ {
case 1: set("USE RIGHEF24 KEY 2\nTO PROGR=999999"); break; case 1: set("USE RIGHEF24 KEY 2\nTO PROGR=999999"); break;
case 2: set("USE RIGHEF24 KEY 2\nFROM F24=1"); break; case 2: set("USE RIGHEF24 KEY 2\nFROM F24=1"); break;
default: break; default: break;
} }
} }
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// TF24_set // TF24_set
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
bool TF24_set::contabilizza(TLog_report & log) bool TF24_set::contabilizza(TLog_report & log)
{ {
bool ok = true; bool ok = true;
TMovimentoPN mov; TMovimentoPN mov;
TSaldo_agg saldo; TSaldo_agg saldo;
TEsercizi_contabili esc; TEsercizi_contabili esc;
long numreg = get(F24_NUMREG).as_int(); long numreg = get(F24_NUMREG).as_int();
const TDate datareg = get(F24_DATAVERS).as_date(); const TDate datareg = get(F24_DATAVERS).as_date();
const int codes = esc.date2esc(datareg); const int codes = esc.date2esc(datareg);
TString16 codbnp = get(F24_ABI).as_string(); TString16 codbnp = get(F24_ABI).as_string();
TString msg; TString msg;
msg.format(FR("Distinta F24 n.ro %ld"), get(F24_F24).as_int()); msg.format(FR("Distinta F24 n.ro %ld"), get(F24_F24).as_int());
log.log(0, msg); log.log(0, msg);
codbnp << get(F24_CAB).as_string(); codbnp << get(F24_CAB).as_string();
if (numreg > 0L) if (numreg > 0L)
{ {
msg.format(FR("Distinta già contabilizzata, reg. numero %ld"), numreg); msg.format(FR("Distinta già contabilizzata, reg. numero %ld"), numreg);
log.log(1, msg); log.log(1, msg);
return false; return false;
} }
if (mov.lfile().last() == NOERR) if (mov.lfile().last() == NOERR)
numreg = mov.lfile().get_long(MOV_NUMREG); numreg = mov.lfile().get_long(MOV_NUMREG);
numreg++; numreg++;
mov.zero(); mov.zero();
mov.lfile().put(MOV_ANNOES, codes); mov.lfile().put(MOV_ANNOES, codes);
mov.lfile().put(MOV_NUMREG, numreg); mov.lfile().put(MOV_NUMREG, numreg);
mov.lfile().put(MOV_DATAREG, datareg); mov.lfile().put(MOV_DATAREG, datareg);
mov.lfile().put(MOV_DATAREG, datareg); mov.lfile().put(MOV_DATAREG, datareg);
mov.lfile().put(MOV_DATACOMP, datareg); mov.lfile().put(MOV_DATACOMP, datareg);
mov.lfile().put(MOV_DESCR, msg); mov.lfile().put(MOV_DESCR, msg);
saldo.set_anno_es(codes); saldo.set_anno_es(codes);
saldo.set_tipo_saldo(normale); saldo.set_tipo_saldo(normale);
saldo.set_movprovv(false); saldo.set_movprovv(false);
saldo.set_movimentato(true); saldo.set_movimentato(true);
saldo.set_data_ulmov(datareg); saldo.set_data_ulmov(datareg);
saldo.set_num_ulmov (numreg); saldo.set_num_ulmov (numreg);
real totale; real totale;
int nrow = 0; int nrow = 0;
for (bool cont = move_first(); ok && cont; cont = move_next()) for (bool cont = move_first(); ok && cont; cont = move_next())
{ {
const TString & codtrib = get(F24_TRIBUTO).as_string(); const TString & codtrib = get(F24_TRIBUTO).as_string();
const TRectype & trib = cache().get("%TRB", codtrib); const TRectype & trib = cache().get("%TRB", codtrib);
const TBill c(trib.get_int("I0"), trib.get_int("I1"), trib.get_long("I2")); const TBill c(trib.get_int("I0"), trib.get_int("I1"), trib.get_long("I2"));
ok = c.ok(); ok = c.ok();
if (ok) if (ok)
{ {
const real importo = get(F24_IMPORTODEB).as_real() - get(F24_IMPORTOCRE).as_real(); const real importo = get(F24_IMPORTODEB).as_real() - get(F24_IMPORTOCRE).as_real();
if (importo > ZERO) if (importo > ZERO)
{ {
TRectype & cgrec = mov.cg(nrow++); TRectype & cgrec = mov.cg(nrow++);
cgrec.put(RMV_ANNOES, codes); cgrec.put(RMV_ANNOES, codes);
cgrec.put(RMV_NUMREG, numreg); cgrec.put(RMV_NUMREG, numreg);
cgrec.put(RMV_NUMRIG, nrow); cgrec.put(RMV_NUMRIG, nrow);
cgrec.put(RMV_DATAREG, datareg); cgrec.put(RMV_DATAREG, datareg);
cgrec.put(RMV_GRUPPO, c.gruppo()); cgrec.put(RMV_GRUPPO, c.gruppo());
cgrec.put(RMV_CONTO, c.conto()); cgrec.put(RMV_CONTO, c.conto());
cgrec.put(RMV_SOTTOCONTO, c.sottoconto()); cgrec.put(RMV_SOTTOCONTO, c.sottoconto());
cgrec.put(RMV_SEZIONE, "D"); cgrec.put(RMV_SEZIONE, "D");
cgrec.put(RMV_IMPORTO, importo); cgrec.put(RMV_IMPORTO, importo);
totale += importo; totale += importo;
saldo.aggiorna(c, importo, 'D'); saldo.aggiorna(c, importo, 'D');
} }
} }
else else
{ {
msg.format("Tributo %s : Conto %d %d %ld assente", (const char *) codtrib, c.gruppo(), c.conto(), c.sottoconto()); msg.format("Tributo %s : Conto %d %d %ld assente", (const char *) codtrib, c.gruppo(), c.conto(), c.sottoconto());
log.log(2, msg); log.log(2, msg);
return false; return false;
} }
} }
if (totale > ZERO) if (totale > ZERO)
{ {
const TRectype & bnp = cache().get("BNP", codbnp); const TRectype & bnp = cache().get("BNP", codbnp);
const TBill c(bnp.get_int("I9"), bnp.get_int("I10"), bnp.get_long("I11")); const TBill c(bnp.get_int("I9"), bnp.get_int("I10"), bnp.get_long("I11"));
ok = c.ok(); ok = c.ok();
if (ok) if (ok)
{ {
TRectype & cgrec = mov.cg(nrow++); TRectype & cgrec = mov.cg(nrow++);
cgrec.put(RMV_ANNOES, codes); cgrec.put(RMV_ANNOES, codes);
cgrec.put(RMV_NUMREG, numreg); cgrec.put(RMV_NUMREG, numreg);
cgrec.put(RMV_NUMRIG, nrow); cgrec.put(RMV_NUMRIG, nrow);
cgrec.put(RMV_DATAREG, datareg); cgrec.put(RMV_DATAREG, datareg);
cgrec.put(RMV_GRUPPO, c.gruppo()); cgrec.put(RMV_GRUPPO, c.gruppo());
cgrec.put(RMV_CONTO, c.conto()); cgrec.put(RMV_CONTO, c.conto());
cgrec.put(RMV_SOTTOCONTO, c.sottoconto()); cgrec.put(RMV_SOTTOCONTO, c.sottoconto());
cgrec.put(RMV_SEZIONE, "A"); cgrec.put(RMV_SEZIONE, "A");
cgrec.put(RMV_IMPORTO, totale); cgrec.put(RMV_IMPORTO, totale);
saldo.aggiorna(c, totale, 'A'); saldo.aggiorna(c, totale, 'A');
} }
else else
{ {
msg.format(FR("Banca %s : Conto %d %d %ld assente"), (const char *) codbnp, c.gruppo(), c.conto(), c.sottoconto()); msg.format(FR("Banca %s : Conto %d %d %ld assente"), (const char *) codbnp, c.gruppo(), c.conto(), c.sottoconto());
log.log(2, msg); log.log(2, msg);
return false; return false;
} }
const int err = mov.write(true); const int err = mov.write(true);
if (err == NOERR) if (err == NOERR)
{ {
TRelation & r = *relation(); TRelation & r = *relation();
msg.format(FR("Movimento di prima nota %ld"), numreg); msg.format(FR("Movimento di prima nota %ld"), numreg);
log.log(0, msg); log.log(0, msg);
saldo.registra(); saldo.registra();
for (bool cont = move_first(); ok && cont; cont = move_next()) for (bool cont = move_first(); ok && cont; cont = move_next())
{ {
r.curr().put(F24_NUMREG, numreg); r.curr().put(F24_NUMREG, numreg);
r.rewrite(); r.rewrite();
} }
} }
else else
{ {
msg.format(FR("Scrittura movimento di prima nota %d"), err); msg.format(FR("Scrittura movimento di prima nota %d"), err);
log.log(2, msg); log.log(2, msg);
ok = false; ok = false;
} }
} }
else else
log.log(0 ,TR("Nessun movimento generato")); log.log(0 ,TR("Nessun movimento generato"));
return ok; return ok;
} }
TF24_set::TF24_set(long codice) TF24_set::TF24_set(long codice)
: TISAM_recordset("USE RIGHEF24 KEY 2\nFROM F24=#DIST\nTO F24=#DIST") : TISAM_recordset("USE RIGHEF24 KEY 2\nFROM F24=#DIST\nTO F24=#DIST")
{ {
CHECKD(codice > 0, "Distinta ma sospetta:", codice); CHECKD(codice > 0, "Distinta ma sospetta:", codice);
set_var("#DIST", TVariant(codice)); set_var("#DIST", TVariant(codice));
} }
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// TElencoF24_set // TElencoF24_set
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
const TElencoF24_set* TElencoF24_set::_currentF24 = NULL; const TElencoF24_set* TElencoF24_set::_currentF24 = NULL;
bool TElencoF24_set::f24killer(const TRelation* rel) bool TElencoF24_set::f24killer(const TRelation* rel)
{ {
// Il record e' buono se il bit corrispondente e' settato // Il record e' buono se il bit corrispondente e' settato
return _currentF24->_good[rel->file().recno()]; return _currentF24->_good[rel->file().recno()];
} }
TCursor* TElencoF24_set::cursor() const TCursor* TElencoF24_set::cursor() const
{ {
_currentF24 = this; _currentF24 = this;
TCursor* c = TISAM_recordset::cursor(); TCursor* c = TISAM_recordset::cursor();
if (c != NULL && c->filterfunction() == NULL) if (c != NULL && c->filterfunction() == NULL)
{ {
TBit_array& goodies = ((TElencoF24_set*)this)->_good; TBit_array& goodies = ((TElencoF24_set*)this)->_good;
goodies.reset(); goodies.reset();
long last = 0; long last = 0;
TDate last_date(eotime); TDate last_date(eotime);
TRecnotype last_recno = 0L; TRecnotype last_recno = 0L;
TRecnotype tot = c->items(); TRecnotype tot = c->items();
const TRectype& curr = c->curr(); const TRectype& curr = c->curr();
for (*c = 0; c->pos() < tot; ++*c) for (*c = 0; c->pos() < tot; ++*c)
{ {
const long f24 = curr.get_long(F24_F24); const long f24 = curr.get_long(F24_F24);
const TDate f24scad = curr.get_date(F24_DATASCAD); const TDate f24scad = curr.get_date(F24_DATASCAD);
bool good = f24 > last || (f24 == last && last_date > f24scad); bool good = f24 > last || (f24 == last && last_date > f24scad);
if (good) if (good)
{ {
if (_flags != 0) // Non voglio tutto? if (_flags != 0) // Non voglio tutto?
{ {
const TDate inv = curr.get(F24_DATAVERS); const TDate inv = curr.get(F24_DATAVERS);
good = (_flags == 1) ^ inv.ok(); good = (_flags == 1) ^ inv.ok();
} }
if (good) if (good)
{ {
const TRecnotype recno = c->file().recno(); const TRecnotype recno = c->file().recno();
if (f24 == last) if (f24 == last)
goodies.reset(last_recno); goodies.reset(last_recno);
goodies.set(recno); goodies.set(recno);
last = f24; last = f24;
last_date = f24scad; last_date = f24scad;
last_recno = recno; last_recno = recno;
} }
} }
} }
c->freeze(false); c->freeze(false);
c->set_filterfunction(f24killer); c->set_filterfunction(f24killer);
tot = c->items(); tot = c->items();
c->freeze(true); c->freeze(true);
} }
return c; return c;
} }
// 0=tutte 1=da inviare 2=inviate 3=tutte // 0=tutte 1=da inviare 2=inviate 3=tutte
TElencoF24_set::TElencoF24_set(int flags) TElencoF24_set::TElencoF24_set(int flags)
: TRigheF24_set(0x2) : TRigheF24_set(0x2)
{ {
_flags = (flags & 0x3) % 3; // isolo i flag = 1 o flag = 2 _flags = (flags & 0x3) % 3; // isolo i flag = 1 o flag = 2
} }
long get_next_f24() long get_next_f24()
{ {
long f24 = 1; long f24 = 1;
TRigheF24_set deleghe(0x2); TRigheF24_set deleghe(0x2);
if (deleghe.move_last()) if (deleghe.move_last())
f24 += deleghe.get(F24_F24).as_int(); f24 += deleghe.get(F24_F24).as_int();
return f24; return f24;
} }
long get_next_progr_f24() long get_next_progr_f24()
{ {
TLocalisamfile righef24(LF_RIGHEF24); TLocalisamfile righef24(LF_RIGHEF24);
long next_progr = 1; long next_progr = 1;
if (righef24.read(_islast) == NOERR) if (righef24.read(_islast) == NOERR)
next_progr += righef24.get_long(F24_PROGR); next_progr += righef24.get_long(F24_PROGR);
return next_progr; return next_progr;
} }

View File

@ -1,48 +1,48 @@
#ifndef __GVLIB_H #ifndef __GVLIB_H
#define __GVLIB_H #define __GVLIB_H
#ifndef __RECSET_H #ifndef __RECSET_H
#include <recset.h> #include <recset.h>
#endif #endif
#ifndef __REPUTILS_H #ifndef __REPUTILS_H
#include <reputils.h> #include <reputils.h>
#endif #endif
#ifndef __RIGHE_F24 #ifndef __RIGHE_F24
#include <righef24.h> #include <righef24.h>
#endif #endif
// Elenco di tutte righe + o - assegnate ad un F24 // Elenco di tutte righe + o - assegnate ad un F24
class TRigheF24_set : public TISAM_recordset class TRigheF24_set : public TISAM_recordset
{ {
public: public:
TRigheF24_set(int flags = 0); // 0=tutte 1=libere 2=assegnate 3=tutte TRigheF24_set(int flags = 0); // 0=tutte 1=libere 2=assegnate 3=tutte
}; };
// Elenco delle righe di un singolo F24 // Elenco delle righe di un singolo F24
class TF24_set : public TISAM_recordset class TF24_set : public TISAM_recordset
{ {
public: public:
bool contabilizza(TLog_report & log); bool contabilizza(TLog_report & log);
TF24_set(long codice); TF24_set(long codice);
}; };
// Elenco delle distinte F24 (solo la prima riga di ognuna) // Elenco delle distinte F24 (solo la prima riga di ognuna)
class TElencoF24_set : public TRigheF24_set class TElencoF24_set : public TRigheF24_set
{ {
int _flags; int _flags;
TBit_array _good; TBit_array _good;
static const TElencoF24_set* _currentF24; static const TElencoF24_set* _currentF24;
static bool f24killer(const TRelation* rel); static bool f24killer(const TRelation* rel);
public: public:
virtual TCursor* cursor() const; virtual TCursor* cursor() const;
TElencoF24_set(int flags = 0); // 0=tutte 1=da inviare 2=inviate 3=tutte TElencoF24_set(int flags = 0); // 0=tutte 1=da inviare 2=inviate 3=tutte
}; };
long get_next_f24(); long get_next_f24();
long get_next_progr_f24(); long get_next_progr_f24();
#endif #endif

View File

@ -1,7 +1,7 @@
[GVMENU_001] [GVMENU_001]
Caption = "Gestione versamenti F24" Caption = "Gestione versamenti F24"
Picture = <gv01> Picture = <gv01>
Module = 21 Module = 21
Flags = "F" Flags = "F"
Item_01 = "Compilazione F24", "gv0 -4", "" Item_01 = "Compilazione F24", "gv0 -4", ""
Item_02 = "Invio F24", "gv0 -5", "" Item_02 = "Invio F24", "gv0 -5", ""