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
0
$righef24|0|0|250|0|Righe di delega F24|||
158
0
$righef24|0|0|250|0|Righe di delega F24|||

View File

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

View File

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

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

View File

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

View File

@ -1,7 +1,7 @@
#define F_FILTER 101
#define F_ABI 102
#define F_CAB 103
#define F_DESBAN 104
#define F_TIPOINTEST 105
#define F_CLIFO 106
#define F_PERSON 107
#define F_FILTER 101
#define F_ABI 102
#define F_CAB 103
#define F_DESBAN 104
#define F_TIPOINTEST 105
#define F_CLIFO 106
#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_PATH 201
#define F_FILE 202
#define F_DATAPAG 203
#define F_DATA 204
#define F_FILTER 210
#define F_DATA_DA 211
#define F_DATA_AL 212
#define F_ABI 213
#define F_CAB 214
#define F_DESBAN 215
#define F_TIPOINTEST 216
#define F_CLIFO 217
#define F_PERSON 218
#define F_MITTENTE 301
#define F_CONTABILIZZA 302
#define F_DISTINTE 200
#define F_PATH 201
#define F_FILE 202
#define F_DATAPAG 203
#define F_DATA 204
#define F_FILTER 210
#define F_DATA_DA 211
#define F_DATA_AL 212
#define F_ABI 213
#define F_CAB 214
#define F_DESBAN 215
#define F_TIPOINTEST 216
#define F_CLIFO 217
#define F_PERSON 218
#define F_MITTENTE 301
#define F_CONTABILIZZA 302

View File

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

View File

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

View File

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

View File

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