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:
parent
209842d7fb
commit
c4afcee280
@ -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|||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
int gv0500(int argc, char* argv[]);
|
||||
int gv0500(int argc, char* argv[]);
|
||||
int gv0600(int argc, char* argv[]);
|
1754
src/gv/gv0500.cpp
1754
src/gv/gv0500.cpp
File diff suppressed because it is too large
Load Diff
1208
src/gv/gv0500.rep
1208
src/gv/gv0500.rep
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
@ -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
|
||||
|
2372
src/gv/gv0500b.uml
2372
src/gv/gv0500b.uml
File diff suppressed because it is too large
Load Diff
2698
src/gv/gv0600.cpp
2698
src/gv/gv0600.cpp
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -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
|
528
src/gv/gvlib.cpp
528
src/gv/gvlib.cpp
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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", ""
|
||||
|
Loading…
x
Reference in New Issue
Block a user