Patch level : 12.0 296
Files correlati : Commento : Corretta gestione natura codice IVA e fatturazione PA git-svn-id: svn://10.65.10.50/branches/R_10_00@23358 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8780ad1298
commit
496f415aa5
@ -23,3 +23,4 @@
|
|||||||
#define CHK_SERVIZI 124
|
#define CHK_SERVIZI 124
|
||||||
#define FLD_DESCR_I1 125
|
#define FLD_DESCR_I1 125
|
||||||
#define FLD_INDET_S4 126
|
#define FLD_INDET_S4 126
|
||||||
|
#define FLD_NATURAPA 127
|
||||||
|
@ -298,6 +298,21 @@ BEGIN
|
|||||||
FIELD B3
|
FIELD B3
|
||||||
END
|
END
|
||||||
|
|
||||||
|
LIST FLD_NATURAPA 2 25
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 19 "Natura per fatture PA"
|
||||||
|
FIELD S12
|
||||||
|
HELP "Indicare la natura del codice IVA per le fatture PA"
|
||||||
|
ITEM "|IVA ordinaria"
|
||||||
|
ITEM "N1|IVA esclusa ex art 15"
|
||||||
|
ITEM "N2|IVA non soggetta"
|
||||||
|
ITEM "N3|IVA non imponibile"
|
||||||
|
ITEM "N4|IVA esente"
|
||||||
|
ITEM "N5|IVA in regime del margine"
|
||||||
|
ITEM "N6|IVA in reverse charge"
|
||||||
|
MODULE PA
|
||||||
|
END
|
||||||
|
|
||||||
BOOLEAN FLD_SOSPESO_B2
|
BOOLEAN FLD_SOSPESO_B2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 21 "Codice IVA sospeso"
|
PROMPT 3 21 "Codice IVA sospeso"
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
3
|
3
|
||||||
1
|
1
|
||||||
%tabgen|0|0|1181|0|Tabelle di studio|50||
|
%tabgen|0|0|1186|0|Tabelle di studio|50||
|
||||||
|
183
src/ba/f3.trr
183
src/ba/f3.trr
@ -1,91 +1,92 @@
|
|||||||
3
|
3
|
||||||
86
|
87
|
||||||
COD|1|3|0|
|
COD|1|3|0|
|
||||||
CODTAB|1|25|0|
|
CODTAB|1|25|0|
|
||||||
S0|1|70|0|
|
S0|1|70|0|
|
||||||
S1|1|70|0|
|
S1|1|70|0|
|
||||||
S2|1|70|0|
|
S2|1|70|0|
|
||||||
S3|1|70|0|
|
S3|1|70|0|
|
||||||
S4|1|25|0|
|
S4|1|25|0|
|
||||||
S5|1|25|0|
|
S5|1|25|0|
|
||||||
S6|1|5|0|
|
S6|1|5|0|
|
||||||
S7|1|5|0|
|
S7|1|5|0|
|
||||||
S8|1|5|0|
|
S8|1|5|0|
|
||||||
S9|1|5|0|
|
S9|1|5|0|
|
||||||
S10|1|5|0|
|
S10|1|5|0|
|
||||||
S11|1|5|0|
|
S11|1|5|0|
|
||||||
I0|3|7|0|
|
S12|1|5|0|
|
||||||
I1|3|7|0|
|
I0|3|7|0|
|
||||||
I2|3|7|0|
|
I1|3|7|0|
|
||||||
I3|3|7|0|
|
I2|3|7|0|
|
||||||
I4|3|7|0|
|
I3|3|7|0|
|
||||||
I5|3|7|0|
|
I4|3|7|0|
|
||||||
I6|3|7|0|
|
I5|3|7|0|
|
||||||
I7|3|7|0|
|
I6|3|7|0|
|
||||||
I8|3|7|0|
|
I7|3|7|0|
|
||||||
I9|3|7|0|
|
I8|3|7|0|
|
||||||
I10|3|7|0|
|
I9|3|7|0|
|
||||||
I11|3|7|0|
|
I10|3|7|0|
|
||||||
I12|3|7|0|
|
I11|3|7|0|
|
||||||
I13|3|7|0|
|
I12|3|7|0|
|
||||||
I14|3|7|0|
|
I13|3|7|0|
|
||||||
R0|4|18|2|
|
I14|3|7|0|
|
||||||
R1|4|18|2|
|
R0|4|18|2|
|
||||||
R2|4|18|2|
|
R1|4|18|2|
|
||||||
R3|4|18|2|
|
R2|4|18|2|
|
||||||
R4|4|18|2|
|
R3|4|18|2|
|
||||||
R5|4|18|2|
|
R4|4|18|2|
|
||||||
R6|4|18|2|
|
R5|4|18|2|
|
||||||
R7|4|18|2|
|
R6|4|18|2|
|
||||||
R8|4|18|2|
|
R7|4|18|2|
|
||||||
R9|4|18|2|
|
R8|4|18|2|
|
||||||
R10|4|18|5|
|
R9|4|18|2|
|
||||||
R11|4|18|5|
|
R10|4|18|5|
|
||||||
R12|4|18|5|
|
R11|4|18|5|
|
||||||
R13|4|18|5|
|
R12|4|18|5|
|
||||||
R14|4|18|5|
|
R13|4|18|5|
|
||||||
R15|4|18|5|
|
R14|4|18|5|
|
||||||
R16|4|18|5|
|
R15|4|18|5|
|
||||||
R17|4|18|5|
|
R16|4|18|5|
|
||||||
R18|4|18|5|
|
R17|4|18|5|
|
||||||
R19|4|18|5|
|
R18|4|18|5|
|
||||||
R20|4|18|5|
|
R19|4|18|5|
|
||||||
R21|4|18|5|
|
R20|4|18|5|
|
||||||
R22|4|18|5|
|
R21|4|18|5|
|
||||||
R23|4|18|5|
|
R22|4|18|5|
|
||||||
R24|4|18|5|
|
R23|4|18|5|
|
||||||
R25|4|18|5|
|
R24|4|18|5|
|
||||||
R26|4|18|5|
|
R25|4|18|5|
|
||||||
R27|4|18|5|
|
R26|4|18|5|
|
||||||
R28|4|18|5|
|
R27|4|18|5|
|
||||||
R29|4|18|5|
|
R28|4|18|5|
|
||||||
R29|4|18|5|
|
R29|4|18|5|
|
||||||
R30|4|18|5|
|
R29|4|18|5|
|
||||||
R31|4|18|5|
|
R30|4|18|5|
|
||||||
R32|4|18|5|
|
R31|4|18|5|
|
||||||
R33|4|18|5|
|
R32|4|18|5|
|
||||||
D0|5|8|0|
|
R33|4|18|5|
|
||||||
D1|5|8|0|
|
D0|5|8|0|
|
||||||
D2|5|8|0|
|
D1|5|8|0|
|
||||||
D3|5|8|0|
|
D2|5|8|0|
|
||||||
D4|5|8|0|
|
D3|5|8|0|
|
||||||
B0|8|1|0|
|
D4|5|8|0|
|
||||||
B1|8|1|0|
|
B0|8|1|0|
|
||||||
B2|8|1|0|
|
B1|8|1|0|
|
||||||
B3|8|1|0|
|
B2|8|1|0|
|
||||||
B4|8|1|0|
|
B3|8|1|0|
|
||||||
B5|8|1|0|
|
B4|8|1|0|
|
||||||
B6|8|1|0|
|
B5|8|1|0|
|
||||||
B7|8|1|0|
|
B6|8|1|0|
|
||||||
B8|8|1|0|
|
B7|8|1|0|
|
||||||
B9|8|1|0|
|
B8|8|1|0|
|
||||||
B10|8|1|0|
|
B9|8|1|0|
|
||||||
B11|8|1|0|
|
B10|8|1|0|
|
||||||
B12|8|1|0|
|
B11|8|1|0|
|
||||||
B13|8|1|0|
|
B12|8|1|0|
|
||||||
B14|8|1|0|
|
B13|8|1|0|
|
||||||
B15|8|1|0|
|
B14|8|1|0|
|
||||||
FPC|8|1|0|
|
B15|8|1|0|
|
||||||
2
|
FPC|8|1|0|
|
||||||
COD+CODTAB|
|
2
|
||||||
COD+UPPER(S0)|X
|
COD+CODTAB|
|
||||||
|
COD+UPPER(S0)|X
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
4
|
4
|
||||||
1
|
1
|
||||||
%tabcom|0|0|1197|0|Tabelle comuni|1500||
|
%tabcom|0|0|1210|0|Tabelle comuni|1500||
|
||||||
|
187
src/ba/f4.trr
187
src/ba/f4.trr
@ -1,93 +1,94 @@
|
|||||||
4
|
4
|
||||||
88
|
89
|
||||||
COD|1|3|0|
|
COD|1|3|0|
|
||||||
CODTAB|1|25|0|
|
CODTAB|1|25|0|
|
||||||
S0|1|70|0|
|
S0|1|70|0|
|
||||||
S1|1|70|0|
|
S1|1|70|0|
|
||||||
S2|1|70|0|
|
S2|1|70|0|
|
||||||
S3|1|70|0|
|
S3|1|70|0|
|
||||||
S4|1|25|0|
|
S4|1|25|0|
|
||||||
S5|1|25|0|
|
S5|1|25|0|
|
||||||
S6|1|5|0|
|
S6|1|5|0|
|
||||||
S7|1|5|0|
|
S7|1|5|0|
|
||||||
S8|1|5|0|
|
S8|1|5|0|
|
||||||
S9|1|5|0|
|
S9|1|5|0|
|
||||||
S10|1|5|0|
|
S10|1|5|0|
|
||||||
S11|1|5|0|
|
S11|1|5|0|
|
||||||
I0|3|7|0|
|
S12|1|5|0|
|
||||||
I1|3|7|0|
|
I0|3|7|0|
|
||||||
I2|3|7|0|
|
I1|3|7|0|
|
||||||
I3|3|7|0|
|
I2|3|7|0|
|
||||||
I4|3|7|0|
|
I3|3|7|0|
|
||||||
I5|3|7|0|
|
I4|3|7|0|
|
||||||
I6|3|7|0|
|
I5|3|7|0|
|
||||||
I7|3|7|0|
|
I6|3|7|0|
|
||||||
I8|3|7|0|
|
I7|3|7|0|
|
||||||
I9|3|7|0|
|
I8|3|7|0|
|
||||||
I10|3|7|0|
|
I9|3|7|0|
|
||||||
I11|3|7|0|
|
I10|3|7|0|
|
||||||
I12|3|7|0|
|
I11|3|7|0|
|
||||||
I13|3|7|0|
|
I12|3|7|0|
|
||||||
I14|3|7|0|
|
I13|3|7|0|
|
||||||
R0|4|18|2|
|
I14|3|7|0|
|
||||||
R1|4|18|2|
|
R0|4|18|2|
|
||||||
R2|4|18|2|
|
R1|4|18|2|
|
||||||
R3|4|18|2|
|
R2|4|18|2|
|
||||||
R4|4|18|2|
|
R3|4|18|2|
|
||||||
R5|4|18|2|
|
R4|4|18|2|
|
||||||
R6|4|18|2|
|
R5|4|18|2|
|
||||||
R7|4|18|2|
|
R6|4|18|2|
|
||||||
R8|4|18|2|
|
R7|4|18|2|
|
||||||
R9|4|18|2|
|
R8|4|18|2|
|
||||||
R10|4|18|5|
|
R9|4|18|2|
|
||||||
R11|4|18|5|
|
R10|4|18|5|
|
||||||
R12|4|18|5|
|
R11|4|18|5|
|
||||||
R13|4|18|5|
|
R12|4|18|5|
|
||||||
R14|4|18|5|
|
R13|4|18|5|
|
||||||
R15|4|18|5|
|
R14|4|18|5|
|
||||||
R16|4|18|5|
|
R15|4|18|5|
|
||||||
R17|4|18|5|
|
R16|4|18|5|
|
||||||
R18|4|18|5|
|
R17|4|18|5|
|
||||||
R19|4|18|5|
|
R18|4|18|5|
|
||||||
R20|4|18|5|
|
R19|4|18|5|
|
||||||
R21|4|18|5|
|
R20|4|18|5|
|
||||||
R22|4|18|5|
|
R21|4|18|5|
|
||||||
R23|4|18|5|
|
R22|4|18|5|
|
||||||
R24|4|18|5|
|
R23|4|18|5|
|
||||||
R25|4|18|5|
|
R24|4|18|5|
|
||||||
R26|4|18|5|
|
R25|4|18|5|
|
||||||
R27|4|18|5|
|
R26|4|18|5|
|
||||||
R28|4|18|5|
|
R27|4|18|5|
|
||||||
R29|4|18|5|
|
R28|4|18|5|
|
||||||
R30|4|18|5|
|
R29|4|18|5|
|
||||||
R31|4|18|5|
|
R30|4|18|5|
|
||||||
R32|4|18|5|
|
R31|4|18|5|
|
||||||
R33|4|18|5|
|
R32|4|18|5|
|
||||||
R34|4|18|5|
|
R33|4|18|5|
|
||||||
D0|5|8|0|
|
R34|4|18|5|
|
||||||
D1|5|8|0|
|
D0|5|8|0|
|
||||||
D2|5|8|0|
|
D1|5|8|0|
|
||||||
D3|5|8|0|
|
D2|5|8|0|
|
||||||
D4|5|8|0|
|
D3|5|8|0|
|
||||||
B0|8|1|0|
|
D4|5|8|0|
|
||||||
B1|8|1|0|
|
B0|8|1|0|
|
||||||
B2|8|1|0|
|
B1|8|1|0|
|
||||||
B3|8|1|0|
|
B2|8|1|0|
|
||||||
B4|8|1|0|
|
B3|8|1|0|
|
||||||
B5|8|1|0|
|
B4|8|1|0|
|
||||||
B6|8|1|0|
|
B5|8|1|0|
|
||||||
B7|8|1|0|
|
B6|8|1|0|
|
||||||
B8|8|1|0|
|
B7|8|1|0|
|
||||||
B9|8|1|0|
|
B8|8|1|0|
|
||||||
B10|8|1|0|
|
B9|8|1|0|
|
||||||
B11|8|1|0|
|
B10|8|1|0|
|
||||||
B12|8|1|0|
|
B11|8|1|0|
|
||||||
B13|8|1|0|
|
B12|8|1|0|
|
||||||
B14|8|1|0|
|
B13|8|1|0|
|
||||||
B15|8|1|0|
|
B14|8|1|0|
|
||||||
DATAAGG|5|8|0|
|
B15|8|1|0|
|
||||||
UTENTE|1|16|0|
|
DATAAGG|5|8|0|
|
||||||
FPC|8|1|0|
|
UTENTE|1|16|0|
|
||||||
2
|
FPC|8|1|0|
|
||||||
COD+CODTAB|
|
2
|
||||||
COD+UPPER(S0)|X
|
COD+CODTAB|
|
||||||
|
COD+UPPER(S0)|X
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
5
|
5
|
||||||
0
|
0
|
||||||
$tab|0|0|1197|0|Tabelle ditta|400||
|
$tab|6734|6734|1210|0|Tabelle ditta|400||
|
||||||
|
187
src/ba/f5.trr
187
src/ba/f5.trr
@ -1,93 +1,94 @@
|
|||||||
5
|
5
|
||||||
88
|
89
|
||||||
COD|1|3|0|
|
COD|1|3|0|
|
||||||
CODTAB|1|25|0|
|
CODTAB|1|25|0|
|
||||||
S0|1|70|0|
|
S0|1|70|0|
|
||||||
S1|1|70|0|
|
S1|1|70|0|
|
||||||
S2|1|70|0|
|
S2|1|70|0|
|
||||||
S3|1|70|0|
|
S3|1|70|0|
|
||||||
S4|1|25|0|
|
S4|1|25|0|
|
||||||
S5|1|25|0|
|
S5|1|25|0|
|
||||||
S6|1|5|0|
|
S6|1|5|0|
|
||||||
S7|1|5|0|
|
S7|1|5|0|
|
||||||
S8|1|5|0|
|
S8|1|5|0|
|
||||||
S9|1|5|0|
|
S9|1|5|0|
|
||||||
S10|1|5|0|
|
S10|1|5|0|
|
||||||
S11|1|5|0|
|
S11|1|5|0|
|
||||||
I0|3|7|0|
|
S12|1|5|0|
|
||||||
I1|3|7|0|
|
I0|3|7|0|
|
||||||
I2|3|7|0|
|
I1|3|7|0|
|
||||||
I3|3|7|0|
|
I2|3|7|0|
|
||||||
I4|3|7|0|
|
I3|3|7|0|
|
||||||
I5|3|7|0|
|
I4|3|7|0|
|
||||||
I6|3|7|0|
|
I5|3|7|0|
|
||||||
I7|3|7|0|
|
I6|3|7|0|
|
||||||
I8|3|7|0|
|
I7|3|7|0|
|
||||||
I9|3|7|0|
|
I8|3|7|0|
|
||||||
I10|3|7|0|
|
I9|3|7|0|
|
||||||
I11|3|7|0|
|
I10|3|7|0|
|
||||||
I12|3|7|0|
|
I11|3|7|0|
|
||||||
I13|3|7|0|
|
I12|3|7|0|
|
||||||
I14|3|7|0|
|
I13|3|7|0|
|
||||||
R0|4|18|2|
|
I14|3|7|0|
|
||||||
R1|4|18|2|
|
R0|4|18|2|
|
||||||
R2|4|18|2|
|
R1|4|18|2|
|
||||||
R3|4|18|2|
|
R2|4|18|2|
|
||||||
R4|4|18|2|
|
R3|4|18|2|
|
||||||
R5|4|18|2|
|
R4|4|18|2|
|
||||||
R6|4|18|2|
|
R5|4|18|2|
|
||||||
R7|4|18|2|
|
R6|4|18|2|
|
||||||
R8|4|18|2|
|
R7|4|18|2|
|
||||||
R9|4|18|2|
|
R8|4|18|2|
|
||||||
R10|4|18|5|
|
R9|4|18|2|
|
||||||
R11|4|18|5|
|
R10|4|18|5|
|
||||||
R12|4|18|5|
|
R11|4|18|5|
|
||||||
R13|4|18|5|
|
R12|4|18|5|
|
||||||
R14|4|18|5|
|
R13|4|18|5|
|
||||||
R15|4|18|5|
|
R14|4|18|5|
|
||||||
R16|4|18|5|
|
R15|4|18|5|
|
||||||
R17|4|18|5|
|
R16|4|18|5|
|
||||||
R18|4|18|5|
|
R17|4|18|5|
|
||||||
R19|4|18|5|
|
R18|4|18|5|
|
||||||
R20|4|18|5|
|
R19|4|18|5|
|
||||||
R21|4|18|5|
|
R20|4|18|5|
|
||||||
R22|4|18|5|
|
R21|4|18|5|
|
||||||
R23|4|18|5|
|
R22|4|18|5|
|
||||||
R24|4|18|5|
|
R23|4|18|5|
|
||||||
R25|4|18|5|
|
R24|4|18|5|
|
||||||
R26|4|18|5|
|
R25|4|18|5|
|
||||||
R27|4|18|5|
|
R26|4|18|5|
|
||||||
R28|4|18|5|
|
R27|4|18|5|
|
||||||
R29|4|18|5|
|
R28|4|18|5|
|
||||||
R30|4|18|5|
|
R29|4|18|5|
|
||||||
R31|4|18|5|
|
R30|4|18|5|
|
||||||
R32|4|18|5|
|
R31|4|18|5|
|
||||||
R33|4|18|5|
|
R32|4|18|5|
|
||||||
R34|4|18|5|
|
R33|4|18|5|
|
||||||
D0|5|8|0|
|
R34|4|18|5|
|
||||||
D1|5|8|0|
|
D0|5|8|0|
|
||||||
D2|5|8|0|
|
D1|5|8|0|
|
||||||
D3|5|8|0|
|
D2|5|8|0|
|
||||||
D4|5|8|0|
|
D3|5|8|0|
|
||||||
B0|8|1|0|
|
D4|5|8|0|
|
||||||
B1|8|1|0|
|
B0|8|1|0|
|
||||||
B2|8|1|0|
|
B1|8|1|0|
|
||||||
B3|8|1|0|
|
B2|8|1|0|
|
||||||
B4|8|1|0|
|
B3|8|1|0|
|
||||||
B5|8|1|0|
|
B4|8|1|0|
|
||||||
B6|8|1|0|
|
B5|8|1|0|
|
||||||
B7|8|1|0|
|
B6|8|1|0|
|
||||||
B8|8|1|0|
|
B7|8|1|0|
|
||||||
B9|8|1|0|
|
B8|8|1|0|
|
||||||
B10|8|1|0|
|
B9|8|1|0|
|
||||||
B11|8|1|0|
|
B10|8|1|0|
|
||||||
B12|8|1|0|
|
B11|8|1|0|
|
||||||
B13|8|1|0|
|
B12|8|1|0|
|
||||||
B14|8|1|0|
|
B13|8|1|0|
|
||||||
B15|8|1|0|
|
B14|8|1|0|
|
||||||
DATAAGG|5|8|0|
|
B15|8|1|0|
|
||||||
UTENTE|1|16|0|
|
DATAAGG|5|8|0|
|
||||||
FPC|8|1|0|
|
UTENTE|1|16|0|
|
||||||
2
|
FPC|8|1|0|
|
||||||
COD+CODTAB|
|
2
|
||||||
COD+UPPER(S0)|X
|
COD+CODTAB|
|
||||||
|
COD+UPPER(S0)|X
|
||||||
|
@ -671,9 +671,9 @@ protected:
|
|||||||
|
|
||||||
void log(int severity, const char* msg);
|
void log(int severity, const char* msg);
|
||||||
bool show_log();
|
bool show_log();
|
||||||
const char * natura(const TString& tipo, const int tipo_acquisti, const int regspiva) const;
|
const char * natura(const TString& codiva) const;
|
||||||
void set_IVA(const TString& codiva, const int regspiva, TPaf_record& paf) const;
|
void set_IVA(const TString& codiva, TPaf_record& paf) const;
|
||||||
void set_IVA(const TRiga_documento& rdoc, const int regspiva, TPaf_record& paf) const;
|
void set_IVA(const TRiga_documento& rdoc, TPaf_record& paf) const;
|
||||||
|
|
||||||
bool elabora(TDocumentoEsteso& doc);
|
bool elabora(TDocumentoEsteso& doc);
|
||||||
bool elabora(const TRectype& rec);
|
bool elabora(const TRectype& rec);
|
||||||
@ -882,29 +882,39 @@ bool TDoc2Paf::show_log()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const char * TDoc2Paf::natura(const TString& tipo, const int tipo_acquisti, const int regspiva) const
|
const char * TDoc2Paf::natura(const TString& codiva) const
|
||||||
{
|
{
|
||||||
|
const TRectype& ai = cache().get("%IVA", codiva);
|
||||||
TString & natura = get_tmp_string(4);
|
TString & natura = get_tmp_string(4);
|
||||||
|
|
||||||
// N1 escluse ex art 15
|
natura = ai.get("S12");
|
||||||
if (tipo_acquisti == 5)
|
if(natura.blank())
|
||||||
natura = "N5"; // regime del margine
|
{
|
||||||
else
|
const int tipo_iva11 = ai.get_int("S2");
|
||||||
if (regspiva >12 && regspiva < 52)
|
const bool revcharge = tipo_iva11 >= 31 && tipo_iva11 <= 38;
|
||||||
natura = "N6"; // Inversione contabile (REVERSE CHARGE)
|
const TString& tipo = ai.get("S1");
|
||||||
else
|
const int tipo_vendite = ai.get_int("S7");
|
||||||
if (tipo == "NS")
|
|
||||||
natura = "N2"; // Non soggetto
|
// N1 escluse ex art 15
|
||||||
|
if (tipo_vendite == 5)
|
||||||
|
natura = "N5"; // regime del margine
|
||||||
else
|
else
|
||||||
if (tipo == "NI")
|
if (revcharge)
|
||||||
natura = "N3"; // Non imponibile
|
natura = "N6"; // Inversione contabile (REVERSE CHARGE)
|
||||||
|
else
|
||||||
|
if (tipo == "NS")
|
||||||
|
natura = "N2"; // Non soggetto
|
||||||
else
|
else
|
||||||
if (tipo == "ES")
|
if (tipo == "NI")
|
||||||
natura = "N4"; // Esente
|
natura = "N3"; // Non imponibile
|
||||||
|
else
|
||||||
|
if (tipo == "ES")
|
||||||
|
natura = "N4"; // Esente
|
||||||
|
}
|
||||||
return natura;
|
return natura;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TDoc2Paf::set_IVA(const TString& codiva, const int regspiva, TPaf_record& paf) const
|
void TDoc2Paf::set_IVA(const TString& codiva, TPaf_record& paf) const
|
||||||
{
|
{
|
||||||
const TRectype& ai = cache().get("%IVA", codiva);
|
const TRectype& ai = cache().get("%IVA", codiva);
|
||||||
const real aliquota = ai.get("R0");
|
const real aliquota = ai.get("R0");
|
||||||
@ -912,18 +922,13 @@ void TDoc2Paf::set_IVA(const TString& codiva, const int regspiva, TPaf_record& p
|
|||||||
if (codiva.full())
|
if (codiva.full())
|
||||||
{
|
{
|
||||||
if (aliquota.is_zero())
|
if (aliquota.is_zero())
|
||||||
{
|
paf.set("PI_NATURA", natura(codiva));
|
||||||
const TString& tipo = ai.get("S1");
|
|
||||||
const int tipo_acquisti = ai.get_int("S8");
|
|
||||||
|
|
||||||
paf.set("PI_NATURA", natura(tipo, tipo_acquisti, regspiva));
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
paf.set("PI_NATURA", "");
|
paf.set("PI_NATURA", "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TDoc2Paf::set_IVA(const TRiga_documento& rdoc, const int regspiva, TPaf_record& paf) const
|
void TDoc2Paf::set_IVA(const TRiga_documento& rdoc, TPaf_record& paf) const
|
||||||
{
|
{
|
||||||
const TString8 codiva(rdoc.get(RDOC_CODIVA));
|
const TString8 codiva(rdoc.get(RDOC_CODIVA));
|
||||||
const TRectype& ai = cache().get("%IVA", codiva);
|
const TRectype& ai = cache().get("%IVA", codiva);
|
||||||
@ -932,12 +937,7 @@ void TDoc2Paf::set_IVA(const TRiga_documento& rdoc, const int regspiva, TPaf_rec
|
|||||||
if (codiva.full())
|
if (codiva.full())
|
||||||
{
|
{
|
||||||
if (aliquota.is_zero())
|
if (aliquota.is_zero())
|
||||||
{
|
paf.set("PI_NATURA", natura(codiva));
|
||||||
const TString& tipo = ai.get("S1");
|
|
||||||
const int tipo_acquisti = ai.get_int("S8");
|
|
||||||
|
|
||||||
paf.set("PI_NATURA", natura(tipo, tipo_acquisti, regspiva));
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
paf.set("PI_NATURA", "");
|
paf.set("PI_NATURA", "");
|
||||||
}
|
}
|
||||||
@ -955,7 +955,6 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
|||||||
const TFirm& firm = prefix().firm();
|
const TFirm& firm = prefix().firm();
|
||||||
const char* const paese = "IT";
|
const char* const paese = "IT";
|
||||||
TCausale caus = TCausale(doc.tipo().causale(), doc.anno());
|
TCausale caus = TCausale(doc.tipo().causale(), doc.anno());
|
||||||
const int regspiva = caus.regime_speciale();
|
|
||||||
|
|
||||||
// <DatiTrassmissione>
|
// <DatiTrassmissione>
|
||||||
TPaf_record paf0100f("PAF0100F");
|
TPaf_record paf0100f("PAF0100F");
|
||||||
@ -1277,7 +1276,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
|||||||
// paf1800f.set("PI_ALIQUOTAIVA", "22.00"); // Altrimenti scarta le righe di descrizione
|
// paf1800f.set("PI_ALIQUOTAIVA", "22.00"); // Altrimenti scarta le righe di descrizione
|
||||||
|
|
||||||
|
|
||||||
set_IVA(codivadefault, regspiva, paf1800f);
|
set_IVA(codivadefault, paf1800f);
|
||||||
|
|
||||||
if (rdoc->is_merce())
|
if (rdoc->is_merce())
|
||||||
{
|
{
|
||||||
@ -1299,7 +1298,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
|||||||
paf1800f.set("PI_PREZZOUNIT", -rdoc->prezzo(true, false));
|
paf1800f.set("PI_PREZZOUNIT", -rdoc->prezzo(true, false));
|
||||||
}
|
}
|
||||||
paf1800f.set("PI_PRZTOTALE", rdoc->importo(true, false));
|
paf1800f.set("PI_PRZTOTALE", rdoc->importo(true, false));
|
||||||
set_IVA(*rdoc, regspiva, paf1800f);
|
set_IVA(*rdoc, paf1800f);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
const TDate data = doc.get(DOC_DATADOC);
|
const TDate data = doc.get(DOC_DATADOC);
|
||||||
@ -1398,7 +1397,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
|||||||
}
|
}
|
||||||
paf1800f.set("PI_PREZZOUNIT", prz);
|
paf1800f.set("PI_PREZZOUNIT", prz);
|
||||||
paf1800f.set("PI_PRZTOTALE", imp);
|
paf1800f.set("PI_PRZTOTALE", imp);
|
||||||
set_IVA(*rdoc, regspiva, paf1800f);
|
set_IVA(*rdoc, paf1800f);
|
||||||
} else
|
} else
|
||||||
if (rdoc->is_prestazione())
|
if (rdoc->is_prestazione())
|
||||||
{
|
{
|
||||||
@ -1407,7 +1406,7 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
|||||||
paf1800f.set("PI_QUANTITA", qta);
|
paf1800f.set("PI_QUANTITA", qta);
|
||||||
paf1800f.set("PI_PREZZOUNIT", rdoc->prezzo(false, false));
|
paf1800f.set("PI_PREZZOUNIT", rdoc->prezzo(false, false));
|
||||||
paf1800f.set("PI_PRZTOTALE", rdoc->importo(true, false));
|
paf1800f.set("PI_PRZTOTALE", rdoc->importo(true, false));
|
||||||
set_IVA(*rdoc, regspiva, paf1800f);
|
set_IVA(*rdoc, paf1800f);
|
||||||
}
|
}
|
||||||
|
|
||||||
paf1800f.set("PI_GESTIONE", "D");
|
paf1800f.set("PI_GESTIONE", "D");
|
||||||
@ -1436,13 +1435,8 @@ bool TDoc2Paf::elabora(TDocumentoEsteso& doc)
|
|||||||
paf2200f.set("PL_KEYNPROGR", ++num_riep);
|
paf2200f.set("PL_KEYNPROGR", ++num_riep);
|
||||||
paf2200f.set("PL_ALIQUOTAIVA", aliquota);
|
paf2200f.set("PL_ALIQUOTAIVA", aliquota);
|
||||||
if (aliquota.is_zero())
|
if (aliquota.is_zero())
|
||||||
{
|
paf2200f.set("PL_NATURA", natura(riva.cod_iva().codice()));
|
||||||
const TString& tipo = riva.cod_iva().tipo();
|
|
||||||
const int tipo_acquisti = riva.cod_iva().get_int("S8");
|
|
||||||
|
|
||||||
paf2200f.set("PL_NATURA", natura(tipo, tipo_acquisti, regspiva));
|
|
||||||
|
|
||||||
}
|
|
||||||
paf2200f.set("PL_IMPONIBILE", riva.imponibile());
|
paf2200f.set("PL_IMPONIBILE", riva.imponibile());
|
||||||
paf2200f.set("PL_IMPOSTA", riva.imposta());
|
paf2200f.set("PL_IMPOSTA", riva.imposta());
|
||||||
paf2200f.set("PL_ESIGIVA", eiva);
|
paf2200f.set("PL_ESIGIVA", eiva);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user