Patch level : 12.0 382

Files correlati     : cg2.exe cg0500a.msk

Rilevazione automatica delle fatture da emettere o ricevere

git-svn-id: svn://10.65.10.50/branches/R_10_00@23750 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
bonazzi 2017-04-21 01:25:38 +00:00
parent 9288c34b3e
commit 7fcdcc999f
8 changed files with 577 additions and 493 deletions

View File

@ -1,47 +1,49 @@
// cg0500.h // cg0500.h
#define F_COD_CAUS 200 #define F_COD_CAUS 200
#define F_DESCR 201 #define F_DESCR 201
#define F_TIPO_DOC 202 #define F_TIPO_DOC 202
#define F_COD_REG 203 #define F_COD_REG 203
#define F_DATA_DOC 204 #define F_DATA_DOC 204
#define F_NUM_DOC 205 #define F_NUM_DOC 205
#define F_MOV_SEZ 206 #define F_MOV_SEZ 206
#define F_TIPO_MOV_1 207 #define F_TIPO_MOV_1 207
#define F_TIPO_MOV_2 208 #define F_TIPO_MOV_2 208
#define F_AUTO_FAT 209 #define F_AUTO_FAT 209
#define F_MOV_VALU 210 #define F_MOV_VALU 210
#define F_COD_CAUS_IM 211 #define F_COD_CAUS_IM 211
#define F_FAT_RITARDO 212 #define F_FAT_RITARDO 212
#define F_OP_INTRACOM 213 #define F_OP_INTRACOM 213
#define F_ALLEGAT 214 #define F_ALLEGAT 214
#define F_VAL_INTRACOM 215 #define F_VAL_INTRACOM 215
#define F_COLL_CESP 216 #define F_COLL_CESP 216
#define F_M_770 217 #define F_M_770 217
#define F_COLL_PRIMANOTA 218 #define F_COLL_PRIMANOTA 218
#define F_SHEET_GCS 219 #define F_SHEET_GCS 219
#define F_TIPO_REG 220 #define F_TIPO_REG 220
#define F_ANNOES 221 #define F_ANNOES 221
#define F_TIPO_MOV 222 #define F_TIPO_MOV 222
#define F_OP_FINE_ANNO 223 #define F_OP_FINE_ANNO 223
#define F_VALINTRA 224 #define F_VALINTRA 224
#define F_CORRISP 225 #define F_CORRISP 225
#define F_COD_CAUS2 226 #define F_COD_CAUS2 226
#define F_DESCR2 227 #define F_DESCR2 227
#define F_DES_DOC 228 #define F_DES_DOC 228
#define F_DES_REG 229 #define F_DES_REG 229
#define F_MOVIND 230 #define F_MOVIND 230
#define F_SOLAIVA 231 #define F_SOLAIVA 231
#define F_PROVV 232 #define F_PROVV 232
#define F_CODCAUREG 233 #define F_CODCAUREG 233
#define F_REGSPIVA 234 #define F_REGSPIVA 234
#define F_MOVCGIND 235 #define F_MOVCGIND 235
#define F_RIL_FT_EM_RI 236
#define SS_TIPO 101 #define F_DATAREG_PREC 237
#define SS_SEZIONE 102
#define SS_TIPOCF 103 #define SS_TIPO 101
#define SS_GRUPPO 104 #define SS_SEZIONE 102
#define SS_CONTO 105 #define SS_TIPOCF 103
#define SS_SOTTOCONTO 106 #define SS_GRUPPO 104
#define SS_DESCAGG 108 #define SS_CONTO 105
#define SS_DESCRIPTION 109 #define SS_SOTTOCONTO 106
#define SS_DESCAGG 108
#define SS_DESCRIPTION 109

View File

@ -1,418 +1,432 @@
#include "cg0500.h" #include "cg0500.h"
TOOLBAR "topbar" 0 0 0 2 TOOLBAR "topbar" 0 0 0 2
#include <relapbar.h> #include <relapbar.h>
ENDPAGE ENDPAGE
PAGE "Righe" 0 0 0 2 PAGE "Righe" 0 0 0 2
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
END END
STRING F_COD_CAUS 3 STRING F_COD_CAUS 3
BEGIN BEGIN
PROMPT 2 1 "Codice " PROMPT 2 1 "Codice "
FIELD CODCAUS FIELD CODCAUS
KEY 1 KEY 1
FLAGS "UZ" FLAGS "UZ"
USE LF_CAUSALI USE LF_CAUSALI
INPUT CODCAUS F_COD_CAUS INPUT CODCAUS F_COD_CAUS
DISPLAY "Cod." CODCAUS DISPLAY "Cod." CODCAUS
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Documento" TIPODOC DISPLAY "Documento" TIPODOC
DISPLAY "Registro" REG DISPLAY "Registro" REG
DISPLAY "Tipo movimento" TIPOMOV DISPLAY "Tipo movimento" TIPOMOV
DISPLAY "Colleg." CODCAUSIM DISPLAY "Colleg." CODCAUSIM
DISPLAY "770" M770 DISPLAY "770" M770
DISPLAY "Cespiti" COLLCESP DISPLAY "Cespiti" COLLCESP
OUTPUT F_COD_CAUS CODCAUS OUTPUT F_COD_CAUS CODCAUS
OUTPUT F_DESCR DESCR OUTPUT F_DESCR DESCR
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
MESSAGE COPY,F_COD_CAUS2 MESSAGE COPY,F_COD_CAUS2
END END
STRING F_DESCR 50 STRING F_DESCR 50
BEGIN BEGIN
PROMPT 16 1 "Descriz." PROMPT 16 1 "Descriz."
FIELD DESCR FIELD DESCR
USE LF_CAUSALI KEY 2 USE LF_CAUSALI KEY 2
INPUT DESCR F_DESCR INPUT DESCR F_DESCR
DISPLAY "Descrizione @50" DESCR DISPLAY "Descrizione @50" DESCR
DISPLAY "Cod." CODCAUS DISPLAY "Cod." CODCAUS
DISPLAY "Documento" TIPODOC DISPLAY "Documento" TIPODOC
DISPLAY "Registro" REG DISPLAY "Registro" REG
DISPLAY "Movimento" TIPOMOV DISPLAY "Movimento" TIPOMOV
DISPLAY "Colleg." CODCAUSIM DISPLAY "Colleg." CODCAUSIM
DISPLAY "770" M770 DISPLAY "770" M770
DISPLAY "Cespiti" COLLCESP DISPLAY "Cespiti" COLLCESP
COPY OUTPUT F_COD_CAUS COPY OUTPUT F_COD_CAUS
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
KEY 2 KEY 2
WARNING "Descrizione assente" WARNING "Descrizione assente"
MESSAGE COPY,F_DESCR2 MESSAGE COPY,F_DESCR2
END END
STRING F_TIPO_DOC 2 STRING F_TIPO_DOC 2
BEGIN BEGIN
PROMPT 2 3 "Tipo documento " PROMPT 2 3 "Tipo documento "
FIELD TIPODOC FIELD TIPODOC
USE %TPD USE %TPD
INPUT CODTAB F_TIPO_DOC INPUT CODTAB F_TIPO_DOC
DISPLAY "Tipo " CODTAB DISPLAY "Tipo " CODTAB
DISPLAY "Descrizione @50" S0 DISPLAY "Descrizione @50" S0
OUTPUT F_TIPO_DOC CODTAB OUTPUT F_TIPO_DOC CODTAB
OUTPUT F_DES_DOC S0 OUTPUT F_DES_DOC S0
WARNING "Tipo documento errato" WARNING "Tipo documento errato"
CHECKTYPE NORMAL CHECKTYPE NORMAL
FLAGS "U" FLAGS "U"
ADD NONE ADD NONE
MESSAGE EMPTY CLEAR,F_SOLAIVA|ENABLE,F_PROVV MESSAGE EMPTY CLEAR,F_SOLAIVA|ENABLE,F_PROVV|ENABLE,9@
MESSAGE ENABLE,F_SOLAIVA|CLEAR,F_PROVV MESSAGE ENABLE,F_SOLAIVA|CLEAR,F_PROVV|CLEAR,9@
END END
STRING F_DES_DOC 50 STRING F_DES_DOC 50
BEGIN BEGIN
PROMPT 24 3 "" PROMPT 24 3 ""
USE %TPD KEY 2 USE %TPD KEY 2
INPUT S0 F_DES_DOC INPUT S0 F_DES_DOC
DISPLAY "Descrizione @50" S0 DISPLAY "Descrizione @50" S0
DISPLAY "Tipo " CODTAB DISPLAY "Tipo " CODTAB
COPY OUTPUT F_TIPO_DOC COPY OUTPUT F_TIPO_DOC
WARNING "Tipo documento errato" WARNING "Tipo documento errato"
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD NONE ADD NONE
END END
STRING F_COD_REG 3 STRING F_COD_REG 3
BEGIN BEGIN
PROMPT 2 4 "Registro " PROMPT 2 4 "Registro "
FIELD REG FIELD REG
USE REG USE REG
INPUT CODTAB[1,4] F_ANNOES INPUT CODTAB[1,4] F_ANNOES
INPUT CODTAB[5,7] F_COD_REG INPUT CODTAB[5,7] F_COD_REG
DISPLAY "Anno" CODTAB[1,4] DISPLAY "Anno" CODTAB[1,4]
DISPLAY "Registro" CODTAB[5,7] DISPLAY "Registro" CODTAB[5,7]
DISPLAY "Tipo" I0 DISPLAY "Tipo" I0
DISPLAY "Corrispettivi" B0 DISPLAY "Corrispettivi" B0
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT F_COD_REG CODTAB[5,7] OUTPUT F_COD_REG CODTAB[5,7]
OUTPUT F_TIPO_REG I0 OUTPUT F_TIPO_REG I0
OUTPUT F_CORRISP B0 OUTPUT F_CORRISP B0
OUTPUT F_DES_REG S0 OUTPUT F_DES_REG S0
WARNING "Registro assente o non compatibile col tipo documento" WARNING "Registro assente o non compatibile col tipo documento"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FLAGS "UZ" FLAGS "UZ"
END END
STRING F_DES_REG 50 STRING F_DES_REG 50
BEGIN BEGIN
PROMPT 24 4 "" PROMPT 24 4 ""
USE REG KEY 2 USE REG KEY 2
INPUT S0 F_DES_REG INPUT S0 F_DES_REG
DISPLAY "Descrizione @50" S0 DISPLAY "Descrizione @50" S0
DISPLAY "Anno" CODTAB[1,4] DISPLAY "Anno" CODTAB[1,4]
DISPLAY "Codice registro " CODTAB[5,7] DISPLAY "Codice registro " CODTAB[5,7]
DISPLAY "Tipo" I0 DISPLAY "Tipo" I0
DISPLAY "Corrispettivi" B0 DISPLAY "Corrispettivi" B0
COPY OUTPUT F_COD_REG COPY OUTPUT F_COD_REG
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_ANNOES 4 NUMBER F_ANNOES 4
BEGIN BEGIN
PROMPT 2 5 "Anno liquidaz. " PROMPT 2 5 "Anno liquidaz. "
FLAGS "HA" FLAGS "HA"
END END
NUMBER F_TIPO_REG 1 NUMBER F_TIPO_REG 1
BEGIN BEGIN
PROMPT 25 5 "Tipo " PROMPT 25 5 "Tipo "
FLAGS "H" FLAGS "H"
END END
// Questo rimane quasi sempre nascosto // Questo rimane quasi sempre nascosto
STRING F_TIPO_MOV 1 STRING F_TIPO_MOV 1
BEGIN BEGIN
PROMPT 2 5 "" PROMPT 2 5 ""
FIELD TIPOMOV FIELD TIPOMOV
FLAGS "H" FLAGS "H"
END END
// Viene mostrato questo se TPD non vuoto e diverso da IN AN PG // Viene mostrato questo se TPD non vuoto e diverso da IN AN PG
LISTBOX F_TIPO_MOV_1 1 20 LISTBOX F_TIPO_MOV_1 1 20
BEGIN BEGIN
PROMPT 2 5 "Tipo movimento " PROMPT 2 5 "Tipo movimento "
FIELD TIPOMOV FIELD TIPOMOV
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV
ITEM "1|Fattura" MESSAGE COPY,F_TIPO_MOV ITEM "1|Fattura" MESSAGE COPY,F_TIPO_MOV
ITEM "2|Nota credito" MESSAGE COPY,F_TIPO_MOV ITEM "2|Nota credito" MESSAGE COPY,F_TIPO_MOV
// GROUP 2 // GROUP 2
END END
// Viene mostrato questo se TPD vuoto o uguale a IN AN PG // Viene mostrato questo se TPD vuoto o uguale a IN AN PG
LISTBOX F_TIPO_MOV_2 1 20 LISTBOX F_TIPO_MOV_2 1 20
BEGIN BEGIN
PROMPT 2 5 "Tipo movimento " PROMPT 2 5 "Tipo movimento "
FIELD TIPOMOV FIELD TIPOMOV
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV|ENABLE,F_PROVV ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV|ENABLE,F_PROVV
ITEM "1|Fattura" MESSAGE COPY,F_TIPO_MOV|CLEAR,F_PROVV ITEM "1|Fattura" MESSAGE COPY,F_TIPO_MOV|CLEAR,F_PROVV
ITEM "3|Incasso/pagamento " MESSAGE COPY,F_TIPO_MOV|CLEAR,F_PROVV ITEM "3|Incasso/pagamento " MESSAGE COPY,F_TIPO_MOV|CLEAR,F_PROVV
ITEM "5|Insoluto" MESSAGE COPY,F_TIPO_MOV|CLEAR,F_PROVV ITEM "5|Insoluto" MESSAGE COPY,F_TIPO_MOV|CLEAR,F_PROVV
ITEM "6|Pagamento insoluto" MESSAGE COPY,F_TIPO_MOV|CLEAR,F_PROVV ITEM "6|Pagamento insoluto" MESSAGE COPY,F_TIPO_MOV|CLEAR,F_PROVV
FLAGS "H" FLAGS "H"
END END
BOOLEAN F_CORRISP BOOLEAN F_CORRISP
BEGIN BEGIN
PROMPT 33 5 "" PROMPT 33 5 ""
FLAGS "H" FLAGS "H"
END END
SPREADSHEET F_SHEET_GCS SPREADSHEET F_SHEET_GCS
BEGIN BEGIN
PROMPT 0 7 "Righe" PROMPT 0 7 "Righe"
ITEM "Tipo conto@21F" ITEM "Tipo conto@21F"
ITEM "D/A@3" ITEM "D/A@3"
ITEM "C/F@3" ITEM "C/F@3"
ITEM "Gr." ITEM "Gr."
ITEM "Co." ITEM "Co."
ITEM "Sottoc." ITEM "Sottoc."
ITEM "Descrizione Conto@50" ITEM "Descrizione Conto@50"
ITEM "Desc. agg." ITEM "Desc. agg."
ITEM "Descrizione Aggiuntiva@50" ITEM "Descrizione Aggiuntiva@50"
END END
ENDPAGE ENDPAGE
PAGE "Parametri" -1 -1 77 20 PAGE "Parametri" -1 -1 77 20
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
END END
STRING F_COD_CAUS2 3 STRING F_COD_CAUS2 3
BEGIN BEGIN
PROMPT 2 1 "Codice " PROMPT 2 1 "Codice "
FLAGS "D" FLAGS "D"
END END
STRING F_DESCR2 50 STRING F_DESCR2 50
BEGIN BEGIN
PROMPT 16 1 "Descriz." PROMPT 16 1 "Descriz."
FLAGS "D" FLAGS "D"
END END
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 1 3 "@BCampi obbligatori in immissione documenti" PROMPT 1 3 "@BCampi obbligatori in immissione documenti"
END END
BOOLEAN F_DATA_DOC BOOLEAN F_DATA_DOC
BEGIN BEGIN
PROMPT 2 4 "Data documento" PROMPT 2 4 "Data documento"
FIELD DATADOC FIELD DATADOC
END END
BOOLEAN F_NUM_DOC BOOLEAN F_NUM_DOC
BEGIN BEGIN
PROMPT 34 4 "Numero documento" PROMPT 34 4 "Numero documento"
FIELD NUMDOC FIELD NUMDOC
END END
BOOLEAN F_AUTO_FAT BOOLEAN F_AUTO_FAT
BEGIN BEGIN
PROMPT 2 6 "Autofattura art.34" PROMPT 2 6 "Autofattura art.34"
FIELD AUTOFATT FIELD AUTOFATT
GROUP 2 GROUP 2
END END
BOOLEAN F_ALLEGAT BOOLEAN F_ALLEGAT
BEGIN BEGIN
PROMPT 34 6 "Doc. non va in allegati fine anno" PROMPT 34 6 "Doc. non va in allegati fine anno"
FIELD ALLEG FIELD ALLEG
GROUP 2 GROUP 2
END END
BOOLEAN F_FAT_RITARDO BOOLEAN F_FAT_RITARDO
BEGIN BEGIN
PROMPT 2 8 "Fattura in ritardo" PROMPT 2 8 "Fattura in ritardo"
FIELD RITFATT FIELD RITFATT
GROUP 2 GROUP 2
END END
STRING F_COD_CAUS_IM 3 STRING F_COD_CAUS_IM 3
BEGIN BEGIN
PROMPT 34 8 "Codice causale collegata " PROMPT 34 8 "Codice causale collegata "
FLAGS "UZ" FLAGS "UZ"
FIELD CODCAUSIM FIELD CODCAUSIM
USE LF_CAUSALI USE LF_CAUSALI
INPUT CODCAUS F_COD_CAUS_IM INPUT CODCAUS F_COD_CAUS_IM
DISPLAY "Codice" CODCAUS DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Documento" TIPODOC DISPLAY "Documento" TIPODOC
OUTPUT F_COD_CAUS_IM CODCAUS OUTPUT F_COD_CAUS_IM CODCAUS
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP 2 GROUP 2
END END
BOOLEAN F_OP_INTRACOM BOOLEAN F_OP_INTRACOM
BEGIN BEGIN
PROMPT 2 10 "Operazione intracomunitaria" PROMPT 2 10 "Operazione intracomunitaria"
FIELD INTRACOM FIELD INTRACOM
GROUP 2 GROUP 2
END END
BOOLEAN F_VALINTRA BOOLEAN F_VALINTRA
BEGIN BEGIN
PROMPT 34 10 "Gestione valuta per operazioni intrac." PROMPT 34 10 "Gestione valuta per operazioni intrac."
FIELD VALINTRA FIELD VALINTRA
GROUP 2 GROUP 2
END END
BOOLEAN F_MOV_VALU BOOLEAN F_MOV_VALU
BEGIN BEGIN
PROMPT 2 11 "Movimento in valuta" PROMPT 2 11 "Movimento in valuta"
FIELD MOVVAL FIELD MOVVAL
GROUP 2 GROUP 2
END END
BOOLEAN F_SOLAIVA BOOLEAN F_SOLAIVA
BEGIN BEGIN
PROMPT 34 11 "Movimento di sola IVA" PROMPT 34 11 "Movimento di sola IVA"
FIELD SOLOIVA FIELD SOLOIVA
END END
BOOLEAN F_MOV_SEZ BOOLEAN F_MOV_SEZ
BEGIN BEGIN
PROMPT 34 11 "Movimento solo sezionale" PROMPT 34 11 "Movimento solo sezionale"
FIELD MOVSEZ FIELD MOVSEZ
FLAGS "H" FLAGS "H"
END END
LIST F_PROVV 1 26 BOOLEAN F_RIL_FT_EM_RI
BEGIN BEGIN
PROMPT 2 13 "Movimento provvisorio " PROMPT 2 12 "Rilevazione fatt.da ric./em."
FIELD PROVV FIELD RILFTEMRI
ITEM " |No (movimento normale)" GROUP 9
ITEM "P|Si (cancellabile)" END
ITEM "C|Cespiti"
END BOOLEAN F_DATAREG_PREC
BEGIN
LIST F_OP_FINE_ANNO 1 11 PROMPT 34 12 "Regis.ril. fatt.da ric./em.a fine esercizio"
BEGIN FIELD DATAREGPR
PROMPT 2 14 "Operazioni di fine anno " GROUP 9
ITEM " | " END
ITEM "C|Chiusura"
ITEM "A|Apertura" LIST F_PROVV 1 26
FIELD MOVAP BEGIN
FLAGS "H" PROMPT 2 13 "Movimento provvisorio "
END FIELD PROVV
ITEM " |No (movimento normale)"
GROUPBOX DLG_NULL 78 6 ITEM "P|Si (cancellabile)"
BEGIN ITEM "C|Cespiti"
PROMPT 1 15 "@bCollegamenti" END
END
LIST F_OP_FINE_ANNO 1 11
LISTBOX F_M_770 1 48 BEGIN
BEGIN PROMPT 2 14 "Operazioni di fine anno "
PROMPT 2 16 "Modello 770 " ITEM " | "
FIELD M770 ITEM "C|Chiusura"
ITEM " |Nessuno" ITEM "A|Apertura"
ITEM "1|Ricevuta e/o pagamento fattura percipiente" FIELD MOVAP
ITEM "2|Versamento ritenute percipiente" FLAGS "H"
ITEM "3|Versamento ritenute dipendente" END
ITEM "4|Versamento contributi dipendente"
ITEM "5|Compensi non soggetti" GROUPBOX DLG_NULL 78 6
ITEM "6|Ritenute per prestazioni occasionali" BEGIN
MODULE 77 PROMPT 1 15 "@bCollegamenti"
END END
LIST F_COLL_CESP 1 40 LISTBOX F_M_770 1 48
BEGIN BEGIN
PROMPT 2 17 "Cespiti " PROMPT 2 16 "Modello 770 "
FIELD COLLCESP FIELD M770
ITEM " |Nessuno" ITEM " |Nessuno"
ITEM "A|Acquisto cespite" ITEM "1|Ricevuta e/o pagamento fattura percipiente"
ITEM "B|Rettifica acquisto" ITEM "2|Versamento ritenute percipiente"
ITEM "C|Sostenimento costi" ITEM "3|Versamento ritenute dipendente"
ITEM "E|Eliminazione dal processo produttivo" ITEM "4|Versamento contributi dipendente"
ITEM "M|Rivalutazione monetaria" ITEM "5|Compensi non soggetti"
ITEM "P|Reinvestimento plusvalenze" ITEM "6|Ritenute per prestazioni occasionali"
ITEM "R|Rivalutazione economica" MODULE 77
ITEM "T|Trasferimento" END
ITEM "V|Vendita cespite"
ITEM "Z|Rettifica vendita" LIST F_COLL_CESP 1 40
MODULE ce BEGIN
END PROMPT 2 17 "Cespiti "
FIELD COLLCESP
BOOLEAN F_MOVIND ITEM " |Nessuno"
BEGIN ITEM "A|Acquisto cespite"
PROMPT 2 18 "Contabilità analitica" ITEM "B|Rettifica acquisto"
FIELD MOVIND ITEM "C|Sostenimento costi"
MODULE ca,cm ITEM "E|Eliminazione dal processo produttivo"
MESSAGE FALSE CLEAR,F_MOVCGIND ITEM "M|Rivalutazione monetaria"
MESSAGE TRUE ENABLE,F_MOVCGIND ITEM "P|Reinvestimento plusvalenze"
END ITEM "R|Rivalutazione economica"
ITEM "T|Trasferimento"
BOOLEAN F_MOVCGIND ITEM "V|Vendita cespite"
BEGIN ITEM "Z|Rettifica vendita"
PROMPT 34 18 "Contabilità industriale" MODULE ce
FIELD MOVCGIND END
MODULE CI
END BOOLEAN F_MOVIND
BEGIN
NUMBER F_REGSPIVA 2 PROMPT 2 18 "Contabilità analitica"
BEGIN FIELD MOVIND
PROMPT 2 19 "Regimi speciali IVA " MODULE ca,cm
INPUT F_REGSPIVA MESSAGE FALSE CLEAR,F_MOVCGIND
SHEET "Codice|Descrizione@75" MESSAGE TRUE ENABLE,F_MOVCGIND
ITEM "|Nessuno" END
ITEM "1|Acquisti beni dallo Stato del Vaticano e dalla Repubblica di San Marino"
ITEM "2|Estrazione beni da depositi Iva" BOOLEAN F_MOVCGIND
ITEM "3|Acquisti beni e servizi da soggetti non residenti" BEGIN
ITEM "4|Operazioni di cui all'art.74,c.1,lett.e)" PROMPT 34 18 "Contabilità industriale"
ITEM "5|Provvigioni corrisposte dalle agenzie di viaggio ai loro intermediari" FIELD MOVCGIND
ITEM "6|Acquisti di rottami e mat.di di recupero art. 74, commi 7 e 8" MODULE CI
ITEM "7|Acquisti di oro industriale e argento puro (art. 17, comma 5)" END
ITEM "8|Acquisti di oro da investimento imp.per opzione (art. 17, comma 5)"
NUMBER F_REGSPIVA 2
BEGIN
PROMPT 2 19 "Regimi speciali IVA "
INPUT F_REGSPIVA
SHEET "Codice|Descrizione@75"
ITEM "|Nessuno"
ITEM "1|Acquisti beni dallo Stato del Vaticano e dalla Repubblica di San Marino"
ITEM "2|Estrazione beni da depositi Iva"
ITEM "3|Acquisti beni e servizi da soggetti non residenti"
ITEM "4|Operazioni di cui all'art.74,c.1,lett.e)"
ITEM "5|Provvigioni corrisposte dalle agenzie di viaggio ai loro intermediari"
ITEM "6|Acquisti di rottami e mat.di di recupero art. 74, commi 7 e 8"
ITEM "7|Acquisti di oro industriale e argento puro (art. 17, comma 5)"
ITEM "8|Acquisti di oro da investimento imp.per opzione (art. 17, comma 5)"
ITEM "9|Acquisti intrac. di CPU,PC, tablet,cellulari,console,microproc." ITEM "9|Acquisti intrac. di CPU,PC, tablet,cellulari,console,microproc."
item "10|Importazioni rottami e altri mat.di recupero imposta non è versata" item "10|Importazioni rottami e altri mat.di recupero imposta non è versata"
ITEM "12|Acquisti di tartufi (art.1,c.109,legge 311/2004)" ITEM "12|Acquisti di tartufi (art.1,c.109,legge 311/2004)"
ITEM "13|Subappalti in edilizia (Reverse charge)" ITEM "13|Subappalti in edilizia (Reverse charge)"
ITEM "14|Acquisti di fabbricati (art. 17, comma 6, lett. a-bis)" ITEM "14|Acquisti di fabbricati (art. 17, comma 6, lett. a-bis)"
ITEM "15|Acquisti di telefoni cellulari (art. 17, comma 6, lett. b)" ITEM "15|Acquisti di telefoni cellulari (art. 17, comma 6, lett. b)"
ITEM "16|Acquisti di prodotti elettronici (art. 17, comma 6, lett. c)" ITEM "16|Acquisti di prodotti elettronici (art. 17, comma 6, lett. c)"
ITEM "17|Acquisti di servizi del comp.edile e sett.connessi art. 17, comma 6, lett. a-ter " ITEM "17|Acquisti di servizi del comp.edile e sett.connessi art. 17, comma 6, lett. a-ter "
ITEM "18|Acquisti di beni e servizi del sett.energetico art. 17, c.6 d-bis,ter,d-quater" ITEM "18|Acquisti di beni e servizi del sett.energetico art. 17, c.6 d-bis,ter,d-quater"
ITEM "19|Acquisti delle P.A., titolari di partita IVA art. 17-ter" ITEM "19|Acquisti delle P.A., titolari di partita IVA art. 17-ter"
ITEM "50|Importazione di oro o argento (Reverse charge)" ITEM "50|Importazione di oro o argento (Reverse charge)"
ITEM "51|Rottami (Reverse charge)" ITEM "51|Rottami (Reverse charge)"
ITEM "52|Operazioni effettuate nei confronti di condominii" ITEM "52|Operazioni effettuate nei confronti di condominii"
OUTPUT F_REGSPIVA OUTPUT F_REGSPIVA
FIELD REGSPIVA FIELD REGSPIVA
END END
STRING F_CODCAUREG 3 STRING F_CODCAUREG 3
BEGIN BEGIN
PROMPT 34 19 "Codice causale regolarizzazione IVA " PROMPT 34 19 "Codice causale regolarizzazione IVA "
FLAGS "UZ" FLAGS "UZ"
FIELD CODCAUREG FIELD CODCAUREG
USE LF_CAUSALI SELECT (SOLOIVA="X")&&(CODCAUS!=#F_COD_CAUS)&&((REGSPIVA=="")||(REGSPIVA==#F_REGSPIVA)) USE LF_CAUSALI SELECT (SOLOIVA="X")&&(CODCAUS!=#F_COD_CAUS)&&((REGSPIVA=="")||(REGSPIVA==#F_REGSPIVA))
INPUT CODCAUS F_CODCAUREG INPUT CODCAUS F_CODCAUREG
DISPLAY "Codice" CODCAUS DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Registro" REG DISPLAY "Registro" REG
DISPLAY "Documento" TIPODOC DISPLAY "Documento" TIPODOC
OUTPUT F_CODCAUREG CODCAUS OUTPUT F_CODCAUREG CODCAUS
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK
#include "cg0500b.uml" #include "cg0500b.uml"

View File

@ -31,7 +31,7 @@ public:
int _tipo, _step; int _tipo, _step;
TString4 _causale, _codiva; TString4 _causale, _codiva;
TBill _clifo; TBill _clifo;
TDate _datadoc; TDate _datadoc, _datareg;
TString8 _numdoc; TString8 _numdoc;
real _totale; real _totale;
TString4 _causale_originale; TString4 _causale_originale;
@ -1441,6 +1441,12 @@ int TPrimanota_application::write(const TMask& m)
causauto = causale().causale_reg_iva(); causauto = causale().causale_reg_iva();
tipauto = causauto.full() ? 2 : 0; tipauto = causauto.full() ? 2 : 0;
} }
if (tipauto <= 1)
{
causauto = causale().causale_collegata();
if (cached_causale(causauto, causale().reg().year()).ril_fat_em_ric())
tipauto = 4;
}
if (tipauto <= 0) if (tipauto <= 0)
{ {
causauto = causale().causale_collegata(); causauto = causale().causale_collegata();
@ -1577,6 +1583,25 @@ void TPrimanota_application::genera_automatico(int tipo, const char* causimm)
if (_automatico->_codiva.blank() && _rel->iva_items() > 0) if (_automatico->_codiva.blank() && _rel->iva_items() > 0)
_automatico->_codiva = _rel->iva(0).get(RMI_CODIVA); _automatico->_codiva = _rel->iva(0).get(RMI_CODIVA);
} }
else
if (_automatico->_tipo == 4)
{
const int esercizio = m.get_int(F_ANNOES);
const int esprec = esercizi().pred(esercizio);
TEsercizio e = esercizi().esercizio(esprec);
TDate last(e.fine());
_automatico->_datadoc = last;
if (cached_causale(causimm, caus.reg().year()).datareg_prec())
_automatico->_datareg = last;
else
_automatico->_datareg = m.get(F_DATAREG);
const int nrows = _rel->iva_items();
_automatico->_totale = ZERO;
for (int i = 0; i < nrows; i++)
_automatico->_totale += _rel->iva(i).get_real(RMI_IMPONIBILE);
}
_automatico->_step = 1; _automatico->_step = 1;
} }
@ -1611,6 +1636,8 @@ void TPrimanota_application::genera_automatico(int tipo, const char* causimm)
row2.add(caus.desc_agg(2)); row2.add(caus.desc_agg(2));
row2.add(_automatico->_clifo.string(0x3)); row2.add(_automatico->_clifo.string(0x3));
fill_sheet(m); fill_sheet(m);
if (TRelation_application::is_transaction())
m.send_key(K_CTRL+'R', 0);
} }
break; break;
case 2: // Regolarizzazione IVA case 2: // Regolarizzazione IVA
@ -1626,6 +1653,33 @@ void TPrimanota_application::genera_automatico(int tipo, const char* causimm)
} }
break; break;
case 4: // Rilevazione fatture da emettere/ricevere
{
m.set(F_DATAREG, _automatico->_datareg);
m.set(F_DATACOMP, _automatico->_datadoc);
TBill conto; caus.bill(1, conto);
TBill contro; caus.bill(2, contro);
cgs().reset();
TToken_string& row1 = cgs().row(0);
TImporto imp(caus.sezione_clifo(), _automatico->_totale);
imp.add_to(row1, 0);
row1.add(conto.string(0x3));
row1.add(" ");
row1.add(" ");
row1.add(contro.string(0x3));
TToken_string& row2 = cgs().row(1);
imp.swap_section();
imp.add_to(row2, 0);
row2.add(contro.string(0x3));
row2.add(" ");
row2.add(caus.desc_agg(2));
row2.add(conto.string(0x3));
fill_sheet(m);
if (TRelation_application::is_transaction())
m.send_key(K_CTRL+'R', 0);
}
default: default:
break; break;
} }

View File

@ -196,7 +196,7 @@ protected: // TRelation_application
protected: protected:
void check_saldi(); void check_saldi();
void genera_automatico(int tipo, const char* causimm); // 0=nessuno, 1=incasso, 2=regolarizzazione void genera_automatico(int tipo, const char* causimm); // 0=nessuno, 1=incasso, 2=regolarizzazione 3= ?? 4 = rilevazione fatture da emettere/ricevere
void gioca_cambi(int force = 0x00); void gioca_cambi(int force = 0x00);
TMask* load_mask(int n); TMask* load_mask(int n);

View File

@ -162,6 +162,16 @@ bool TCausale::regolarizzazione()
return _regolarizzazione != 0; return _regolarizzazione != 0;
} }
bool TCausale::ril_fat_em_ric() const
{
return _rec.get_bool(CAU_RILFTEMRI);
}
bool TCausale::datareg_prec() const
{
return _rec.get_bool(CAU_DATAREGPR);
}
bool TCausale::reverse_charge() const bool TCausale::reverse_charge() const
{ {
const int rsi = regime_speciale(); const int rsi = regime_speciale();

View File

@ -42,6 +42,8 @@ public:
bool soloiva() const; bool soloiva() const;
bool reverse_charge() const; bool reverse_charge() const;
bool regolarizzazione(); bool regolarizzazione();
bool ril_fat_em_ric() const;
bool datareg_prec() const;
char provvisorio() const { return _provvisorio; } char provvisorio() const { return _provvisorio; }
const TString& causale_collegata() const; const TString& causale_collegata() const;
const TString& causale_reg_iva() const; const TString& causale_reg_iva() const;

View File

@ -1,3 +1,3 @@
26 26
0 0
$caus|0|0|86|0|Causali contabili||| $caus|0|0|88|0|Causali contabili|60||

View File

@ -1,31 +1,33 @@
26 26
26 28
CODCAUS|1|3|0|Codice causale CODCAUS|1|3|0|Codice causale
DESCR|1|50|0|Descrizione causale DESCR|1|50|0|Descrizione causale
TIPODOC|1|2|0|Tipo documento TIPODOC|1|2|0|Tipo documento
MOVAP|1|1|0|Movimento d'apertura MOVAP|1|1|0|Movimento d'apertura
ALLEG|8|1|0|Moivmento in allegato ALLEG|8|1|0|Moivmento in allegato
INTRACOM|8|1|0|Movimento intra-comunitario INTRACOM|8|1|0|Movimento intra-comunitario
REG|1|3|0|Codice registro REG|1|3|0|Codice registro
MOVVAL|8|1|0|Gestione valuta movimento MOVVAL|8|1|0|Gestione valuta movimento
DATADOC|8|1|0|Data documento DATADOC|8|1|0|Data documento
NUMDOC|8|1|0|Numero documento NUMDOC|8|1|0|Numero documento
AUTOFATT|8|1|0|Autofattura art. ?? AUTOFATT|8|1|0|Autofattura art. ??
MOVSEZ|8|1|0|Movimento sezionale ?? MOVSEZ|8|1|0|Movimento sezionale ??
TIPOMOV|2|1|0|Tipo movimento saldaconto TIPOMOV|2|1|0|Tipo movimento saldaconto
RITFATT|8|1|0| RITFATT|8|1|0|
COLLCESP|1|1|0|Collegamnto ai cespiti COLLCESP|1|1|0|Collegamnto ai cespiti
M770|1|1|0|Collegamento al 770 M770|1|1|0|Collegamento al 770
CODCAUSIM|1|3|0|Codice causale incasso immediato CODCAUSIM|1|3|0|Codice causale incasso immediato
SOSPESO|8|1|0|Causale sospesa SOSPESO|8|1|0|Causale sospesa
VALINTRA|8|1|0|Gestione valuta intra-comunitaria VALINTRA|8|1|0|Gestione valuta intra-comunitaria
MOVIND|1|1|0|Causale per contabilità analitica MOVIND|1|1|0|Causale per contabilità analitica
MOVCGIND|8|1|0|Causale per contabilità industriale MOVCGIND|8|1|0|Causale per contabilità industriale
SOLOIVA|8|1|0|Movimento di sola IVA SOLOIVA|8|1|0|Movimento di sola IVA
PROVV|1|1|0|Tipo movimento (" " Normale, "P" Provvisorio cancellabile, "C" Provvisorio da cepiti) PROVV|1|1|0|Tipo movimento (" " Normale, "P" Provvisorio cancellabile, "C" Provvisorio da cepiti)
REGSPIVA|2|2|0|Regimi speciali IVA REGSPIVA|2|2|0|Regimi speciali IVA
CODCAUREG|1|3|0|Causale regolarizzazione IVA CODCAUREG|1|3|0|Causale regolarizzazione IVA
LIQDIFF|8|1|0|Fatture a liquidazione differita LIQDIFF|8|1|0|Fatture a liquidazione differita
2 RILFTEMRI|8|1|0|Causale di rilevazione fatture de emettere o ricevere
CODCAUS| DATAREGPR|8|1|0|Data di registrazion nell'ereserciozio precedente per il caso del campo precedente
UPPER(DESCR)|X 2
CODCAUS|
UPPER(DESCR)|X