Spesometro 2013
git-svn-id: svn://10.65.10.50/branches/R_10_00@22903 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ef83caf3bc
commit
735f648bbb
@ -6,10 +6,10 @@ int main(int argc, char** argv)
|
||||
const int n = argc > 1 ? argv[1][1]-'0' : 0;
|
||||
switch (n)
|
||||
{
|
||||
case 1: fe0200(argc, argv); break; // Immissione / Generazione Spesometro
|
||||
case 1: fe0200(argc, argv); break; // Gestione tabelle (contratti)
|
||||
case 2: fe0300(argc, argv); break; // Somma file Spesometro (Dorotee)
|
||||
case 3: fe0400(argc, argv); break; // Controllo contratti su movimenti
|
||||
default: fe0100(argc, argv); break; // Gestione tabelle (contratti)
|
||||
default: fe0100(argc, argv); break; // Immissione / Generazione Spesometro
|
||||
}
|
||||
return 0;
|
||||
}
|
3294
fe/fe0100.cpp
3294
fe/fe0100.cpp
File diff suppressed because it is too large
Load Diff
@ -2,9 +2,8 @@
|
||||
<report name="fe0100" lpi="6">
|
||||
<font face="Courier New" size="8" />
|
||||
<section type="Head" pattern="1">
|
||||
<field x="8" type="Stringa" valign="center" align="center" width="112" height="3" pattern="1">
|
||||
<field x="8" type="Testo" valign="center" align="center" width="112" height="3" pattern="1" text="Spesometro 2013">
|
||||
<font face="Courier New" bold="1" size="24" />
|
||||
<source>"Dati rilevanti " + ANNO + " tipo " + TIPO</source>
|
||||
</field>
|
||||
<field border="3" y="3" type="Linea" width="120" height="0" pattern="1" />
|
||||
<field border="2" x="8" y="3" type="Linea" height="3" pattern="1" />
|
||||
@ -14,22 +13,18 @@
|
||||
<field border="2" x="83" y="3" type="Linea" height="3" pattern="1" />
|
||||
<field border="2" x="97" y="3" type="Linea" height="3" pattern="1" />
|
||||
<field border="2" x="108" y="3" type="Linea" height="3" pattern="1" />
|
||||
<field x="1" y="4" type="Testo" width="6" pattern="1" text="Riga" />
|
||||
<field x="1" y="4" type="Testo" width="6" height="2" pattern="1" text="Numero Riga" />
|
||||
<field border="3" y="6" type="Linea" width="120" height="0" pattern="1" />
|
||||
<field x="9" y="3.5" type="Testo" width="16" id="101" pattern="1" text="Codice Fiscale">
|
||||
<source>COFI</source>
|
||||
</field>
|
||||
<field x="9" y="3.5" type="Testo" width="16" id="101" pattern="1" text="Codice Fiscale" />
|
||||
<field x="9" y="4.5" type="Testo" width="16" id="102" pattern="1" text="Partita IVA" />
|
||||
<field x="27" y="3.5" type="Testo" width="25" height="2" id="201" pattern="1" text="Ragione Sociale" />
|
||||
<field x="54" y="3.5" type="Testo" width="10" id="301" pattern="1" text="Data Reg." />
|
||||
<field x="54" y="4.5" type="Testo" width="10" id="302" pattern="1" text="Num. Doc." />
|
||||
<field x="66" y="3.5" type="Testo" width="16" id="401" pattern="1" text="Mod. Pagamento" />
|
||||
<field x="66" y="4.5" type="Testo" width="16" id="402" pattern="1" text="Tipo Operazione" />
|
||||
<field x="66" y="3.5" type="Testo" width="16" id="401" pattern="1" text="Tipo record" />
|
||||
<field x="66" y="4.5" type="Testo" width="16" id="402" pattern="1" text="Noleggio" />
|
||||
<field x="84" y="3.5" type="Testo" align="right" width="12" id="501" pattern="1" text="Importo" />
|
||||
<field x="84" y="4.5" type="Testo" align="right" width="12" id="502" pattern="1" text="Imposta" />
|
||||
<field x="100" y="3.5" type="Testo" width="10" height="2" id="601" pattern="1" text="Segno" />
|
||||
<field x="109" y="3.5" type="Testo" width="10" id="601" pattern="1" text="Data rett." />
|
||||
<field x="109" y="4.5" type="Testo" width="10" id="602" pattern="1" text="Num. Rett." />
|
||||
<field x="97" y="3.5" type="Testo" width="10" align="center" height="2" id="601" pattern="1" text="Estero BlackList" />
|
||||
</section>
|
||||
<section type="Head" level="1" pattern="1" />
|
||||
<section type="Head" level="2" height="1" page_break="1" pattern="1">
|
||||
@ -50,64 +45,47 @@
|
||||
<source>#RECORD.NUMBER</source>
|
||||
</field>
|
||||
<field x="9" y="0.5" type="Stringa" width="16" id="101" pattern="1">
|
||||
<source>COFI</source>
|
||||
<source>CodiceFiscale</source>
|
||||
</field>
|
||||
<field x="9" y="1.5" type="Stringa" width="16" id="102" pattern="1">
|
||||
<source>PAIV</source>
|
||||
<source>PartitaIVA</source>
|
||||
</field>
|
||||
<field x="27" y="0.5" type="Stringa" width="25" height="2" id="201" pattern="1">
|
||||
<source>RAGSOC</source>
|
||||
<source>RagSoc</source>
|
||||
<alt_source>Cognome+" "+Nome</alt_source>
|
||||
</field>
|
||||
<field x="54" y="0.5" type="Data" width="11" id="301" pattern="1">
|
||||
<source>DATAREG</source>
|
||||
<field x="54" y="0.5" type="Data" width="11" id="301" pattern="1" >
|
||||
<source>DataReg</source>
|
||||
</field>
|
||||
<field x="54" y="1.5" type="Stringa" width="10" id="302" pattern="1">
|
||||
<source>NUMDOC</source>
|
||||
<source>NumDoc</source>
|
||||
</field>
|
||||
<field x="66" y="0.5" type="Array" width="16" id="401" pattern="1">
|
||||
<source>MODPAG</source>
|
||||
<list>
|
||||
<li />
|
||||
<li Value="Non Frazionato" Code="1" />
|
||||
<li Value="Frazionato" Code="2" />
|
||||
<li Value="Periodico" Code="3" />
|
||||
</list>
|
||||
<field x="66" y="0.5" type="Stringa" width="16" id="401" pattern="1">
|
||||
<source>Tipo</source>
|
||||
</field>
|
||||
<field x="66" y="1.5" type="Array" width="16" id="402" pattern="1">
|
||||
<source>TIPOPE</source>
|
||||
<list>
|
||||
<li />
|
||||
<li Value="Vendita" Code="1" />
|
||||
<li Value="Acquisto" Code="2" />
|
||||
</list>
|
||||
<source>Noleggio</source>
|
||||
<list>
|
||||
<li Code="" Value="" />
|
||||
<li Code="A" Value="Auto" />
|
||||
<li Code="B" Value="Camper" />
|
||||
<li Code="C" Value="Altro" />
|
||||
<li Code="D" Value="Imbarcazioni" />
|
||||
<li Code="E" Value="Aeromobili" />
|
||||
</list>
|
||||
</field>
|
||||
<field x="84" y="0.5" type="Numero" align="right" width="12" id="501" pattern="1" text="############">
|
||||
<source>IMPORTO</source>
|
||||
<field x="84" y="0.5" type="Valuta" align="right" width="12" id="501" pattern="1" text="#########.@@">
|
||||
<source>Imponibile</source>
|
||||
</field>
|
||||
<field x="84" y="1.5" type="Numero" align="right" width="12" id="502" pattern="1" text="############">
|
||||
<source>IMPOSTA</source>
|
||||
<field x="84" y="1.5" type="Valuta" align="right" width="12" id="502" pattern="1" text="#########.@@">
|
||||
<source>Imposta</source>
|
||||
</field>
|
||||
<field x="109" y="0.5" type="Data" width="10" id="601" pattern="1">
|
||||
<source>DATARETT</source>
|
||||
<field x="97" y="0.5" type="Stringa" align="center" width="10" id="601" pattern="1">
|
||||
<source>StatoEstero</source>
|
||||
<alt_source>StatoEsteroSede</alt_source>
|
||||
</field>
|
||||
<field x="109" y="1.5" type="Stringa" width="10" id="602" pattern="1">
|
||||
<source>NUMRETT</source>
|
||||
</field>
|
||||
<field x="98" y="0.5" type="Array" width="8" id="701" pattern="1">
|
||||
<source>SIMPORTO</source>
|
||||
<list>
|
||||
<li />
|
||||
<li Value="Credito" Code="C" />
|
||||
<li Value="Debito" Code="D" />
|
||||
</list>
|
||||
</field>
|
||||
<field x="98" y="1.5" type="Array" width="8" id="702" pattern="1">
|
||||
<source>SIMPOSTA</source>
|
||||
<list>
|
||||
<li />
|
||||
<li Value="Credito" Code="C" />
|
||||
<li Value="Debito" Code="D" />
|
||||
</list>
|
||||
<field x="97" y="1.5" type="Stringa" align="center" width="10" id="602" pattern="1">
|
||||
<source>BlackList</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" pattern="1" />
|
||||
|
53
fe/fe0100a.h
53
fe/fe0100a.h
@ -1,9 +1,7 @@
|
||||
#define F_ANNO 301
|
||||
#define F_DATA 302
|
||||
#define F_SHOWALL 303
|
||||
#define F_SENDALL 304
|
||||
#define F_TIPO 301
|
||||
#define F_ANNO 302
|
||||
#define F_PERIODO 303
|
||||
#define F_OUTFOLDER 305
|
||||
#define F_MAXREC 306
|
||||
#define F_DEFINITIVO 307
|
||||
#define F_OUTFILE 308
|
||||
|
||||
@ -14,33 +12,32 @@
|
||||
#define F_RAGSOC 314
|
||||
#define F_RAGOCC 315
|
||||
|
||||
#define F_INTER_COM 320
|
||||
#define F_INTER_DATE 321
|
||||
#define F_INTER_COFI 322
|
||||
#define F_INTER_CAF 323
|
||||
|
||||
#define F_TIPOLOGIA 330
|
||||
#define F_PROTELE 331
|
||||
#define F_PROTDOC 332
|
||||
|
||||
#define F_RIGHE 300
|
||||
|
||||
#define A_RIGA 101
|
||||
#define A_FORZATA 102
|
||||
#define A_IGNORA 103
|
||||
#define A_TIPOCF 104
|
||||
#define A_CODCF 105
|
||||
#define A_OCFPI 106
|
||||
#define A_RAGSOC 107
|
||||
#define A_DATAREG 108
|
||||
#define A_NUMDOC 109
|
||||
#define A_IMPORTO 110
|
||||
#define A_IMPOSTA 111
|
||||
#define A_MODPAG 112
|
||||
#define A_CONTRATTO 113
|
||||
#define A_DATARETT 114
|
||||
#define A_NUMRETT 115
|
||||
#define A_PAIV 116
|
||||
#define A_COFI 117
|
||||
#define A_TIPO 104
|
||||
#define A_TIPOCF 105
|
||||
#define A_CODCF 106
|
||||
#define A_OCFPI 107
|
||||
#define A_RAGSOC 108
|
||||
#define A_DATAREG 109
|
||||
#define A_NUMDOC 110
|
||||
#define A_DATADOC 111
|
||||
#define A_TIPOIVA 112
|
||||
#define A_IMPORTO 113
|
||||
#define A_IMPOSTA 114
|
||||
#define A_NOLEGGIO 115
|
||||
#define A_REVERSE 116
|
||||
#define A_AUTOFATT 117
|
||||
#define A_SERVIZI 118
|
||||
#define A_TURISMO 119
|
||||
#define A_CARBURAN 120
|
||||
#define A_RIEPILOG 121
|
||||
#define A_ATTAGG 122
|
||||
#define A_PASAGG 123
|
||||
#define A_PAIV 124
|
||||
#define A_COFI 125
|
||||
|
||||
#define A_OCCAS 155
|
||||
|
964
fe/fe0100a.uml
964
fe/fe0100a.uml
@ -1,502 +1,462 @@
|
||||
#include "fe0100a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Aggiorna"
|
||||
PICTURE TOOL_CONVERT
|
||||
END
|
||||
|
||||
BUTTON DLG_SAVEREC 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Registra"
|
||||
PICTURE TOOL_SAVEREC
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 2 2,
|
||||
BEGIN
|
||||
PROMPT 1 2 "Annulla"
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 2 2
|
||||
BEGIN
|
||||
END
|
||||
|
||||
BUTTON DLG_RECALC 2 2
|
||||
BEGIN
|
||||
PROMPT 1 3 "Ricalcola"
|
||||
PICTURE TOOL_RECALC
|
||||
END
|
||||
|
||||
BUTTON DLG_COPY 2 2
|
||||
BEGIN
|
||||
PROMPT 1 3 "+Contratto"
|
||||
PICTURE TOOL_COPY
|
||||
END
|
||||
|
||||
BUTTON DLG_EXPORT 2 2
|
||||
BEGIN
|
||||
PROMPT 1 4 "Excel"
|
||||
PICTURE TOOL_EXCEL
|
||||
MODULE rs
|
||||
END
|
||||
|
||||
BUTTON DLG_ELABORA 2 2
|
||||
BEGIN
|
||||
PROMPT 1 5 "Invia"
|
||||
PICTURE TOOL_EXPORT
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 2 2
|
||||
BEGIN
|
||||
PROMPT 1 6 "Azzera Invio"
|
||||
PICTURE TOOL_RESET
|
||||
END
|
||||
|
||||
BUTTON DLG_PREVIEW 2 2
|
||||
BEGIN
|
||||
PROMPT 1 7 "Anteprima"
|
||||
PICTURE TOOL_PREVIEW
|
||||
END
|
||||
|
||||
#include <helpbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Dati rilevanti" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bFiltri di visualizzazione"
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 1 "Anno "
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "AU"
|
||||
GROUP 1
|
||||
NUM_EXPR #THIS_FIELD>=2010
|
||||
WARNING "Anno non valido"
|
||||
END
|
||||
|
||||
DATE F_DATA
|
||||
BEGIN
|
||||
PROMPT 15 1 "Limite note variazione "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
LIST F_SHOWALL 1 13
|
||||
BEGIN
|
||||
PROMPT 52 1 "Movimenti "
|
||||
ITEM "1|Rilevanti"
|
||||
ITEM "2|NON rilevanti"
|
||||
ITEM "4|Scartati"
|
||||
ITEM "7|Tutti"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LIST F_TIPOCF 1 10
|
||||
BEGIN
|
||||
PROMPT 2 2 ""
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 16 2 ""
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
INPUT CODCF F_CODCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Occasionale@C" OCCAS
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
DISPLAY "Partita IVA@15" PAIV
|
||||
OUTPUT F_CODCF CODCF
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
CHEKTYPE NORMAL
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50 49
|
||||
BEGIN
|
||||
PROMPT 26 2 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
INPUT RAGSOC F_RAGSOC
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
DISPLAY "Partita IVA@15" PAIV
|
||||
COPY OUTPUT F_CODCF
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_OCFPI 16
|
||||
BEGIN
|
||||
PROMPT 2 3 "Occ."
|
||||
USE LF_OCCAS
|
||||
INPUT CFPI F_OCFPI
|
||||
DISPLAY "Codice@16" CFPI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT F_OCFPI CFPI
|
||||
OUTPUT F_RAGOCC RAGSOC
|
||||
CHEKTYPE NORMAL
|
||||
ADD RUN cg0 -6
|
||||
GROUP 1
|
||||
MESSAGE EMPTY SHOW,F_RAGSOC|HIDE,F_RAGOCC
|
||||
MESSAGE HIDE,F_RAGSOC|SHOW,F_RAGOCC
|
||||
END
|
||||
|
||||
STRING F_RAGOCC 50 49
|
||||
BEGIN
|
||||
PROMPT 26 3 ""
|
||||
FLAGS "H"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
SPREADSHEET F_RIGHE
|
||||
BEGIN
|
||||
PROMPT 0 5 ""
|
||||
ITEM "Numero\nRegistraz.@7F"
|
||||
ITEM "Forzata@C"
|
||||
ITEM "Non\nInv.@2@F"
|
||||
ITEM "C/F@2F"
|
||||
ITEM "Codice@F"
|
||||
ITEM "Occasionale@16F"
|
||||
ITEM "Ragione Sociale@24"
|
||||
ITEM "Data\nOperazione@10"
|
||||
ITEM "Numero\nDocum.@7"
|
||||
ITEM "Importo\ndovuto@12"
|
||||
ITEM "Imposta@12"
|
||||
ITEM "Mod.\nPag.@4"
|
||||
ITEM "Contratto@18"
|
||||
ITEM "Data Doc.\nrettif.@10"
|
||||
ITEM "N. Doc.\nrettif.@7"
|
||||
ITEM "Partita IVA@15"
|
||||
ITEM "Codice Fiscale@17"
|
||||
DEFAULT "*" // Impedisce il salvataggio su profilo .ini
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Opzioni" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bOpzioni per invio"
|
||||
END
|
||||
|
||||
LIST F_SENDALL 1 25
|
||||
BEGIN
|
||||
PROMPT 2 2 "Movimenti "
|
||||
ITEM "1|Rilevanti"
|
||||
ITEM "7|Tutti"
|
||||
END
|
||||
|
||||
BOOLEAN F_DEFINITIVO
|
||||
BEGIN
|
||||
PROMPT 50 2 "Invio definitivo"
|
||||
END
|
||||
|
||||
STRING F_OUTFOLDER 255 50
|
||||
BEGIN
|
||||
PROMPT 2 3 "Cartella "
|
||||
DSELECT
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Specificare una cartella di destinazione valida"
|
||||
END
|
||||
|
||||
NUMBER F_MAXREC 5
|
||||
BEGIN
|
||||
PROMPT 2 4 "Numero massimo di record per file "
|
||||
NUM_EXPR (#THIS_FIELD>=100)&&(#THIS_FIELD<=15000)
|
||||
FLAGS "U"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Specificare una valore compreso tra 100 e 15000"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
PROMPT 1 6 "@bDati del soggetto che assume l'impegno alla presentazione telematica"
|
||||
END
|
||||
|
||||
LIST F_INTER_COM 1 20
|
||||
BEGIN
|
||||
PROMPT 2 7 "Comunicazione predisposta da "
|
||||
ITEM "|"
|
||||
ITEM "1|contribuente"
|
||||
ITEM "2|chi effettua l'invio"
|
||||
END
|
||||
|
||||
STRING F_INTER_COFI 16
|
||||
BEGIN
|
||||
PROMPT 2 8 "Codice fiscale dell'intermediario "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
NUMBER F_INTER_CAF 5
|
||||
BEGIN
|
||||
PROMPT 2 9 "Numero iscrizione all'albo C.A.F. "
|
||||
END
|
||||
|
||||
DATE F_INTER_DATE
|
||||
BEGIN
|
||||
PROMPT 2 10 "Data dell'impegno alla trasmissione "
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 1 12 "@bAnnullamento o sostituzione"
|
||||
END
|
||||
|
||||
LIST F_TIPOLOGIA 1 15
|
||||
BEGIN
|
||||
PROMPT 2 13 "Tipologia invio "
|
||||
ITEM "0|Normale"
|
||||
MESSAGE DISABLE,F_PROTELE|DISABLE,F_PROTDOC
|
||||
ITEM "1|Sostitutivo"
|
||||
MESSAGE ENABLE,F_PROTELE|ENABLE,F_PROTDOC
|
||||
ITEM "2|Annullamento"
|
||||
MESSAGE ENABLE,F_PROTELE|ENABLE,F_PROTDOC
|
||||
END
|
||||
|
||||
STRING F_PROTELE 17
|
||||
BEGIN
|
||||
PROMPT 2 14 "Protocollo da sostituire o annullare "
|
||||
FLAGS "U"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_PROTDOC 6
|
||||
BEGIN
|
||||
PROMPT 2 15 "Protocollo documento "
|
||||
FLAGS "U"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Riga" -1 -1 69 11
|
||||
|
||||
NUMBER A_RIGA 7
|
||||
BEGIN
|
||||
PROMPT 1 0 "Numero progressivo "
|
||||
FLAGS "D"
|
||||
FIELD PROGR
|
||||
END
|
||||
|
||||
BOOLEAN A_FORZATA
|
||||
BEGIN
|
||||
PROMPT 40 0 "Forzatura manuale"
|
||||
FIELD FORZATURA
|
||||
END
|
||||
|
||||
LIST A_IGNORA 2 55
|
||||
BEGIN
|
||||
PROMPT 1 1 "Non inv."
|
||||
ITEM "| 0. Rilevante al fine della dichiarazione"
|
||||
ITEM "1| 1. Importo inferiore al limite della comunicazione"
|
||||
ITEM "2| 2. Soggetto da non inserire in allegato"
|
||||
ITEM "3| 3. Soggetto residente in stato a fiscalità agevolata"
|
||||
ITEM "4| 4. Soggetto residente all'estero"
|
||||
ITEM "5| 5. Movimento intra"
|
||||
ITEM "6| 6. Soggetto all'articolo 8 (del dpr 26-10-1972)"
|
||||
ITEM "7| 7. Data movimento fuori dai limiti della comunicazione"
|
||||
ITEM "8| 8. Passaggi interni"
|
||||
ITEM "9| 9. Già inviato"
|
||||
ITEM "10|10.Altri motivi"
|
||||
FIELD IGNORA
|
||||
END
|
||||
|
||||
LIST A_TIPOCF 1 10
|
||||
BEGIN
|
||||
PROMPT 1 2 ""
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
FIELD TIPOCF
|
||||
END
|
||||
|
||||
NUMBER A_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 17 2 ""
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF A_TIPOCF SELECT
|
||||
INPUT CODCF A_CODCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Occasionale@C" OCCAS
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
OUTPUT A_CODCF CODCF
|
||||
CHEKTYPE REQUIRED
|
||||
ADD RUN cg0 -1
|
||||
FIELD CODCF
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
STRING A_OCFPI 16
|
||||
BEGIN
|
||||
PROMPT 36 2 "Occasionale "
|
||||
USE LF_OCCAS
|
||||
INPUT CFPI A_OCFPI
|
||||
DISPLAY "Codice@16" CFPI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
OUTPUT A_OCFPI CFPI
|
||||
CHEKTYPE NORMAL
|
||||
GROUP 3
|
||||
ADD RUN cg0 -6
|
||||
FIELD OCFPI
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
STRING A_RAGSOC 50 47
|
||||
BEGIN
|
||||
PROMPT 1 3 "Ragione Sociale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING A_PAIV 12
|
||||
BEGIN
|
||||
PROMPT 1 4 "Partita IVA "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING A_COFI 16
|
||||
BEGIN
|
||||
PROMPT 33 4 "Codice Fiscale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE A_DATAREG
|
||||
BEGIN
|
||||
PROMPT 29 5 "Data "
|
||||
USE LF_MOV KEY 3
|
||||
INPUT TIPO A_TIPOCF SELECT
|
||||
INPUT CODCF A_CODCF SELECT
|
||||
INPUT DATAREG A_DATAREG
|
||||
DISPLAY "Data.Reg.@10" DATAREG
|
||||
DISPLAY "Num.Reg.@7" NUMREG
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Data Doc.@10" DATADOC
|
||||
DISPLAY "Num.Doc.@7" NUMDOC
|
||||
OUTPUT A_DATAREG DATAREG
|
||||
OUTPUT A_NUMDOC NUMDOC
|
||||
FIELD DATAREG
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
END
|
||||
|
||||
STRING A_NUMDOC 7
|
||||
BEGIN
|
||||
PROMPT 49 5 "Fattura "
|
||||
FLAGS "U"
|
||||
COPY ALL A_DATAREG
|
||||
ADD RUN cg2 -0
|
||||
FIELD NUMDOC
|
||||
END
|
||||
|
||||
LIST A_MODPAG 1 20
|
||||
BEGIN
|
||||
PROMPT 1 6 "Modalità di pagamento "
|
||||
ITEM "1|1 - Non frazionato"
|
||||
MESSAGE DISABLE,A_CONTRATTO|ENABLE,A_DATARETT|ENABLE,A_NUMRETT
|
||||
ITEM "2|2 - Frazionato"
|
||||
MESSAGE ENABLE,A_CONTRATTO|DISABLE,A_DATARETT|DISABLE,A_NUMRETT
|
||||
ITEM "3|3 - Periodico"
|
||||
MESSAGE ENABLE,A_CONTRATTO|DISABLE,A_DATARETT|DISABLE,A_NUMRETT
|
||||
FIELD MODPAG
|
||||
END
|
||||
|
||||
STRING A_CONTRATTO 18
|
||||
BEGIN
|
||||
PROMPT 1 7 "Contratto riferimento "
|
||||
USE &CON
|
||||
INPUT CODTAB[1,1] A_TIPOCF SELECT
|
||||
INPUT CODTAB[2,7] A_CODCF SELECT
|
||||
INPUT CODTAB[8,25] A_CONTRATTO
|
||||
DISPLAY "Contratto@18" CODTAB[8,25]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT A_CONTRATTO CODTAB[8,25]
|
||||
ADD RUN fe0 -1 &CON
|
||||
CHEKCTYPE REQUIRED
|
||||
FIELD CONTRATTO
|
||||
END
|
||||
|
||||
DATE A_DATARETT
|
||||
BEGIN
|
||||
PROMPT 1 8 "Documento rettificato "
|
||||
FIELD DATARETT
|
||||
USE LF_MOV KEY 3
|
||||
INPUT TIPO A_TIPOCF SELECT
|
||||
INPUT CODCF A_CODCF SELECT
|
||||
INPUT DATAREG A_DATARETT
|
||||
COPY DISPLAY A_DATAREG
|
||||
OUTPUT A_DATARETT DATAREG
|
||||
OUTPUT A_NUMRETT NUMDOC
|
||||
ADD RUN cg2 -0
|
||||
NUM_EXPR IF((#A_IMPORTO<0)&&(#A_IGNORA<=0);#A_DATARETT!="";1)
|
||||
WARNING "Inserire la data della fattura rettificata"
|
||||
END
|
||||
|
||||
STRING A_NUMRETT 7
|
||||
BEGIN
|
||||
PROMPT 50 8 "Numero "
|
||||
FIELD NUMRETT
|
||||
COPY ALL A_DATARETT
|
||||
ADD RUN cg2 -0
|
||||
VALIDATE REQIF_FUNC 1 A_DATARETT
|
||||
WARNING "Inserire il numero della fattura rettificata"
|
||||
END
|
||||
|
||||
CURRENCY A_IMPORTO 12
|
||||
BEGIN
|
||||
PROMPT 1 10 "Importo dovuto "
|
||||
FIELD IMPORTO
|
||||
END
|
||||
|
||||
CURRENCY A_IMPOSTA 12
|
||||
BEGIN
|
||||
PROMPT 44 10 "Imposta "
|
||||
FIELD IMPOSTA
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_USER 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Collega"
|
||||
PICTURE TOOL_LINK
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Elimina"
|
||||
PICTURE TOOL_DELREC
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 2 2
|
||||
BEGIN
|
||||
PROMPT 4 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
#include "fe0100a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Aggiorna"
|
||||
PICTURE TOOL_CONVERT
|
||||
END
|
||||
|
||||
BUTTON DLG_SAVEREC 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Registra"
|
||||
PICTURE TOOL_SAVEREC
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 2 2,
|
||||
BEGIN
|
||||
PROMPT 1 2 "Annulla"
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 2 2
|
||||
BEGIN
|
||||
END
|
||||
|
||||
BUTTON DLG_RECALC 2 2
|
||||
BEGIN
|
||||
PROMPT 1 3 "Ricalcola"
|
||||
PICTURE TOOL_RECALC
|
||||
END
|
||||
|
||||
BUTTON DLG_EXPORT 2 2
|
||||
BEGIN
|
||||
PROMPT 1 4 "Excel"
|
||||
PICTURE TOOL_EXCEL
|
||||
MODULE rs
|
||||
END
|
||||
|
||||
BUTTON DLG_ELABORA 2 2
|
||||
BEGIN
|
||||
PROMPT 1 5 "Invia"
|
||||
PICTURE TOOL_EXPORT
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 2 2
|
||||
BEGIN
|
||||
PROMPT 1 6 "Azzera Invio"
|
||||
PICTURE TOOL_RESET
|
||||
END
|
||||
|
||||
BUTTON DLG_PREVIEW 2 2
|
||||
BEGIN
|
||||
PROMPT 1 7 "Anteprima"
|
||||
PICTURE TOOL_PREVIEW
|
||||
END
|
||||
|
||||
#include <helpbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Comunicazione Polivalente" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bFiltri di visualizzazione"
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 1 "Anno "
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "AU"
|
||||
GROUP 1
|
||||
NUM_EXPR #THIS_FIELD>=2012
|
||||
WARNING "Anno non valido"
|
||||
END
|
||||
|
||||
LIST F_TIPO 2 10
|
||||
BEGIN
|
||||
PROMPT 21 1 "Tipo "
|
||||
ITEM "FE|Spesometro"
|
||||
MESSAGE HIDE,F_PERIODO
|
||||
ITEM "BL|Black List"
|
||||
MESSAGE SHOW,F_PERIODO
|
||||
ITEM "XX|Ignorati"
|
||||
MESSAGE HIDE,F_PERIODO
|
||||
ITEM "IN|Inviati"
|
||||
MESSAGE HIDE,F_PERIODO
|
||||
ITEM "**|Tutti"
|
||||
MESSAGE HIDE,F_PERIODO
|
||||
END
|
||||
|
||||
LIST F_PERIODO 2 16
|
||||
BEGIN
|
||||
PROMPT 51 1 "Periodo "
|
||||
ITEM "|Annuale"
|
||||
ITEM "T1|I Trimestre"
|
||||
ITEM "T2|II Trimestre"
|
||||
ITEM "T3|III Trimestre"
|
||||
ITEM "T4|IV Trimestre"
|
||||
FLAGS "M"
|
||||
END
|
||||
|
||||
LIST F_TIPOCF 1 10
|
||||
BEGIN
|
||||
PROMPT 2 2 ""
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 16 2 ""
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
INPUT CODCF F_CODCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Occasionale@C" OCCAS
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
DISPLAY "Partita IVA@15" PAIV
|
||||
OUTPUT F_CODCF CODCF
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
CHEKTYPE NORMAL
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50 49
|
||||
BEGIN
|
||||
PROMPT 26 2 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
INPUT RAGSOC F_RAGSOC
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
DISPLAY "Partita IVA@15" PAIV
|
||||
COPY OUTPUT F_CODCF
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_OCFPI 16
|
||||
BEGIN
|
||||
PROMPT 2 3 "Occ."
|
||||
USE LF_OCCAS
|
||||
INPUT CFPI F_OCFPI
|
||||
DISPLAY "Codice@16" CFPI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT F_OCFPI CFPI
|
||||
OUTPUT F_RAGOCC RAGSOC
|
||||
CHEKTYPE NORMAL
|
||||
ADD RUN cg0 -6
|
||||
GROUP 1
|
||||
MESSAGE EMPTY SHOW,F_RAGSOC|HIDE,F_RAGOCC
|
||||
MESSAGE HIDE,F_RAGSOC|SHOW,F_RAGOCC
|
||||
END
|
||||
|
||||
STRING F_RAGOCC 50 49
|
||||
BEGIN
|
||||
PROMPT 26 3 ""
|
||||
FLAGS "H"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_OUTFOLDER 255 45
|
||||
BEGIN
|
||||
PROMPT 2 4 "Cartella "
|
||||
DSELECT
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "M"
|
||||
WARNING "Specificare una cartella di destinazione valida"
|
||||
END
|
||||
|
||||
BOOLEAN F_DEFINITIVO
|
||||
BEGIN
|
||||
PROMPT 65 4 "Definitivo"
|
||||
END
|
||||
|
||||
SPREADSHEET F_RIGHE
|
||||
BEGIN
|
||||
PROMPT 0 6 ""
|
||||
ITEM "Numero\nRegistraz.@7F"
|
||||
ITEM "Forzata@C"
|
||||
ITEM "Ignora@5"
|
||||
ITEM "Tipo@2@F"
|
||||
ITEM "C/F@2F"
|
||||
ITEM "Codice@F"
|
||||
ITEM "Occasionale@16F"
|
||||
ITEM "Ragione Sociale@32"
|
||||
ITEM "Data\nOperazione@10"
|
||||
ITEM "Numero\nDocum.@7"
|
||||
ITEM "Data\nDocum.@10"
|
||||
ITEM "Tipo\nIVA@4"
|
||||
ITEM "Imponibile@12"
|
||||
ITEM "Imposta@12"
|
||||
ITEM "Noleggio@10"
|
||||
ITEM "Rev.\nCharge@7"
|
||||
ITEM "Auto\nfatt.@6"
|
||||
ITEM "Servizi\nEsteri@6"
|
||||
ITEM "Operaz.\nTurismo@6"
|
||||
ITEM "Scheda\nCarbur.@6"
|
||||
ITEM "Fatt.\nRiep.@6"
|
||||
ITEM "Op. Att.\nAggreg.@6"
|
||||
ITEM "Op. Pass.\nAggreg.@6"
|
||||
ITEM "Partita IVA@15"
|
||||
ITEM "Codice Fiscale@16"
|
||||
DEFAULT "*" // Impedisce il salvataggio su profilo .ini
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Riga" -1 -1 69 14
|
||||
|
||||
NUMBER A_RIGA 7
|
||||
BEGIN
|
||||
PROMPT 1 0 "Numero progressivo "
|
||||
FLAGS "D"
|
||||
FIELD PROGR
|
||||
END
|
||||
|
||||
BOOLEAN A_FORZATA
|
||||
BEGIN
|
||||
PROMPT 40 0 "Forzatura manuale"
|
||||
FIELD FORZATURA
|
||||
END
|
||||
|
||||
LIST A_IGNORA 2 55
|
||||
BEGIN
|
||||
PROMPT 1 1 "Ignora "
|
||||
ITEM "|"
|
||||
ITEM "1| 1. Importo non rilevante"
|
||||
ITEM "2| 2. Soggetto da non inserire in allegato"
|
||||
ITEM "3| 3. Residente in un paese della black list"
|
||||
ITEM "4| 4. Soggetto residente all'estero"
|
||||
ITEM "5| 5. Movimento intra"
|
||||
ITEM "7| 7. Data movimento fuori dai limiti della comunicazione"
|
||||
ITEM "9| 9. Già inviato"
|
||||
ITEM "10|10.Altri motivi"
|
||||
FIELD IGNORA
|
||||
END
|
||||
|
||||
STRING A_TIPO 2
|
||||
BEGIN
|
||||
PROMPT 1 2 "Tipo "
|
||||
FIELD TIPOPE
|
||||
FLAGS "U"
|
||||
STR_EXPR LEN(#THIS_FIELD)==2
|
||||
WARNING "Tipo record di lunghezza errata"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
LIST A_TIPOCF 1 10
|
||||
BEGIN
|
||||
PROMPT 1 3 ""
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
FIELD TIPOCF
|
||||
END
|
||||
|
||||
NUMBER A_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 17 3 ""
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF A_TIPOCF SELECT
|
||||
INPUT CODCF A_CODCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Occasionale@C" OCCAS
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
OUTPUT A_CODCF CODCF
|
||||
CHEKTYPE REQUIRED
|
||||
ADD RUN cg0 -1
|
||||
FIELD CODCF
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
STRING A_OCFPI 16
|
||||
BEGIN
|
||||
PROMPT 36 3 "Occasionale "
|
||||
USE LF_OCCAS
|
||||
INPUT CFPI A_OCFPI
|
||||
DISPLAY "Codice@16" CFPI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
OUTPUT A_OCFPI CFPI
|
||||
CHEKTYPE NORMAL
|
||||
GROUP 3
|
||||
ADD RUN cg0 -6
|
||||
FIELD OCFPI
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
STRING A_RAGSOC 50 47
|
||||
BEGIN
|
||||
PROMPT 1 4 "Ragione Sociale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING A_PAIV 12
|
||||
BEGIN
|
||||
PROMPT 1 5 "Partita IVA "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING A_COFI 16
|
||||
BEGIN
|
||||
PROMPT 33 5 "Codice Fiscale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE A_DATAREG
|
||||
BEGIN
|
||||
PROMPT 1 6 "Data reg. "
|
||||
USE LF_MOV KEY 3
|
||||
INPUT TIPO A_TIPOCF SELECT
|
||||
INPUT CODCF A_CODCF SELECT
|
||||
INPUT DATAREG A_DATAREG
|
||||
DISPLAY "Data.Reg.@10" DATAREG
|
||||
DISPLAY "Num.Reg.@7" NUMREG
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Data Doc.@10" DATADOC
|
||||
DISPLAY "Num.Doc.@7" NUMDOC
|
||||
OUTPUT A_DATAREG DATAREG
|
||||
OUTPUT A_NUMDOC NUMDOC
|
||||
OUTPUT A_DATADOC DATADOC
|
||||
FIELD DATAREG
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
END
|
||||
|
||||
DATE A_DATADOC
|
||||
BEGIN
|
||||
PROMPT 27 6 "Data doc. "
|
||||
FIELD DATADOC
|
||||
END
|
||||
|
||||
STRING A_NUMDOC 7
|
||||
BEGIN
|
||||
PROMPT 49 6 "Num. doc. "
|
||||
FLAGS "U"
|
||||
FIELD NUMDOC
|
||||
END
|
||||
|
||||
LIST A_NOLEGGIO 1 12
|
||||
BEGIN
|
||||
PROMPT 1 7 "Noleggio "
|
||||
ITEM " |Nessuno"
|
||||
ITEM "A|Automobile"
|
||||
ITEM "B|Camper"
|
||||
ITEM "C|Altro"
|
||||
ITEM "D|Diporto"
|
||||
ITEM "E|Aeromobile"
|
||||
FIELD NOLEGGIO
|
||||
END
|
||||
|
||||
LIST A_TIPOIVA 1 24
|
||||
BEGIN
|
||||
PROMPT 27 7 "Tipo IVA "
|
||||
ITEM "1|Imponibile"
|
||||
ITEM "2|Non imponibile"
|
||||
ITEM "3|Esente"
|
||||
ITEM "4|Non esposta in fattura"
|
||||
ITEM "5|Margine"
|
||||
FIELD TIPOIVA
|
||||
END
|
||||
|
||||
CURRENCY A_IMPORTO 12
|
||||
BEGIN
|
||||
PROMPT 1 8 "Imponibile "
|
||||
FIELD IMPORTO
|
||||
END
|
||||
|
||||
CURRENCY A_IMPOSTA 12
|
||||
BEGIN
|
||||
PROMPT 44 8 "Imposta "
|
||||
FIELD IMPOSTA
|
||||
END
|
||||
|
||||
BOOLEAN A_REVERSE
|
||||
BEGIN
|
||||
PROMPT 1 9 "Reverse charge"
|
||||
FIELD REVERSE
|
||||
END
|
||||
|
||||
BOOLEAN A_AUTOFATT
|
||||
BEGIN
|
||||
PROMPT 38 9 "Autofattura"
|
||||
FIELD AUTOFATT
|
||||
END
|
||||
|
||||
BOOLEAN A_SERVIZI
|
||||
BEGIN
|
||||
PROMPT 1 10 "Acquisto servizi all'estero"
|
||||
FIELD SERVIZI
|
||||
END
|
||||
|
||||
BOOLEAN A_TURISMO
|
||||
BEGIN
|
||||
PROMPT 38 10 "Operazioni turismo"
|
||||
FIELD TURISMO
|
||||
END
|
||||
|
||||
BOOLEAN A_CARBURAN
|
||||
BEGIN
|
||||
PROMPT 1 11 "Scheda carburanti"
|
||||
FIELD CARBURAN
|
||||
END
|
||||
|
||||
BOOLEAN A_RIEPILOG
|
||||
BEGIN
|
||||
PROMPT 38 11 "Fattura riepilogativa"
|
||||
FIELD RIEPILOG
|
||||
END
|
||||
|
||||
NUMBER A_ATTAGG 4
|
||||
BEGIN
|
||||
PROMPT 1 12 "Operazioni aggregate: Attive "
|
||||
FIELD ATTAGG
|
||||
END
|
||||
|
||||
NUMBER A_PASAGG 4
|
||||
BEGIN
|
||||
PROMPT 44 12 "Passive "
|
||||
FIELD PASAGG
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_USER 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Collega"
|
||||
PICTURE TOOL_LINK
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Elimina"
|
||||
PICTURE TOOL_DELREC
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 2 2
|
||||
BEGIN
|
||||
PROMPT 4 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -141,6 +141,6 @@ TMask* TFE_table_app::user_create_mask()
|
||||
int fe0200(int argc, char* argv[])
|
||||
{
|
||||
TFE_table_app a;
|
||||
a.run(argc, argv, TR("Tabella modulo dati rilevanti"));
|
||||
a.run(argc, argv, TR("Tabella Spesometro"));
|
||||
return 0;
|
||||
}
|
||||
|
@ -16,7 +16,6 @@ protected:
|
||||
void elabora(const TString_array& a, const TFilename& n) const;
|
||||
|
||||
bool str2fname(const TString& name, TFilename& n) const;
|
||||
bool row2fname(const TToken_string& row, TFilename& n) const;
|
||||
void enable_buttons();
|
||||
|
||||
public:
|
||||
@ -40,59 +39,6 @@ bool TSomma_spesometro_msk::str2fname(const TString& name, TFilename& n) const
|
||||
return n.exist();
|
||||
}
|
||||
|
||||
bool TSomma_spesometro_msk::row2fname(const TToken_string& row, TFilename& n) const
|
||||
{
|
||||
TString80 name; row.get(0, name);
|
||||
return str2fname(name, n);
|
||||
}
|
||||
|
||||
void TSomma_spesometro_msk::elabora(const TString_array& infiles, const TFilename& outfile) const
|
||||
{
|
||||
int anno = 2010;
|
||||
|
||||
TFilename n;
|
||||
if (row2fname(infiles.row(0), n))
|
||||
{
|
||||
const TDati_rilevanti_set s(n);
|
||||
anno = s.anno();
|
||||
}
|
||||
|
||||
TDati_rilevanti_set outset(anno);
|
||||
const int tipologia = outset.add_header(*this);
|
||||
|
||||
if (tipologia != 2) // Invio i record solo quando non si tratta di annullamento
|
||||
{
|
||||
FOR_EACH_ARRAY_ROW(infiles, r, row) if (row2fname(*row, n))
|
||||
{
|
||||
const int len = outset.record_length();
|
||||
ifstream s(n, ios::binary);
|
||||
TString row(len);
|
||||
while (!s.eof())
|
||||
{
|
||||
s.read(row.get_buffer(), len);
|
||||
if (row[0] != '0' && row[0] != '9')
|
||||
outset.new_rec(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
outset.add_footer();
|
||||
outset.sort();
|
||||
outset.save_as(outfile);
|
||||
|
||||
if (outset.items() > 15000)
|
||||
{
|
||||
outset.split(outfile);
|
||||
const int n = (outset.items()-1) / 15000 + 1;
|
||||
warning_box(FR("E' stato generato il file %s, separato in %d parti da 15000 record."), (const char*)outfile, n);
|
||||
}
|
||||
else
|
||||
message_box(FR("E' stato generato il file %s"), (const char*)outfile);
|
||||
|
||||
TDati_rilevanti_rep rep(outfile);
|
||||
rep.preview();
|
||||
}
|
||||
|
||||
void TSomma_spesometro_msk::enable_buttons()
|
||||
{
|
||||
const TSheet_field& righe = sfield(F_RIGHE);
|
||||
@ -102,6 +48,11 @@ void TSomma_spesometro_msk::enable_buttons()
|
||||
enable(DLG_PREVIEW, str2fname(get(F_OUTFILE), n));
|
||||
}
|
||||
|
||||
void TSomma_spesometro_msk::elabora(const TString_array& a, const TFilename& n) const
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
bool TSomma_spesometro_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
@ -126,7 +77,7 @@ bool TSomma_spesometro_msk::on_field_event(TOperable_field& o, TField_event e, l
|
||||
TFilename fn;
|
||||
if (str2fname(o.mask().get(101), fn))
|
||||
{
|
||||
TDati_rilevanti_rep rep(fn);
|
||||
TSpesometro_rep rep(fn);
|
||||
rep.preview();
|
||||
}
|
||||
}
|
||||
@ -137,7 +88,7 @@ bool TSomma_spesometro_msk::on_field_event(TOperable_field& o, TField_event e, l
|
||||
TFilename fn;
|
||||
if (str2fname(get(F_OUTFILE), fn))
|
||||
{
|
||||
TDati_rilevanti_rep rep(fn);
|
||||
TSpesometro_rep rep(fn);
|
||||
rep.preview();
|
||||
}
|
||||
}
|
||||
@ -167,21 +118,6 @@ bool TSomma_spesometro_msk::on_field_event(TOperable_field& o, TField_event e, l
|
||||
}
|
||||
}
|
||||
|
||||
// Elimina dalla lista il file di output
|
||||
if (str2fname(get(F_OUTFILE), fn))
|
||||
{
|
||||
TFilename fr;
|
||||
FOR_EACH_ARRAY_ROW(a, r, row)
|
||||
{
|
||||
row2fname(*row, fr);
|
||||
if (fr.compare(fn, -1, true) == 0)
|
||||
{
|
||||
a.destroy(r, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
righe.force_update();
|
||||
enable_buttons();
|
||||
}
|
||||
|
@ -141,42 +141,6 @@ bool TTest_spesometro_msk::elabora(int num, TLog_report& log)
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
const int tipopag = curr.get_int(MOV_MODPAG);
|
||||
const TString& contratto = curr.get(MOV_CONTRATTO);
|
||||
if (contratto.full())
|
||||
{
|
||||
if (is_nota_variazione(curr))
|
||||
{
|
||||
curr.put(MOV_MODPAG, 1);
|
||||
curr.zero(MOV_CONTRATTO);
|
||||
done = update_file(file, TR("Azzerato contratto su nota di variazione"), log);
|
||||
}
|
||||
else
|
||||
{
|
||||
const TContratto c(curr);
|
||||
const int t = c.modalita_pagamento();
|
||||
if (t != tipopag)
|
||||
{
|
||||
str.cut(0) << TR("Cambiata modalità di pagamento ") << tipopag << " -> " << t;
|
||||
curr.put(MOV_MODPAG, t);
|
||||
if (num == LF_MOV)
|
||||
{
|
||||
curr.zero(MOV_DATARETT);
|
||||
curr.zero(MOV_NUMRETT);
|
||||
}
|
||||
done = update_file(file, str, log);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (tipopag > 1)
|
||||
{
|
||||
log_msg(curr, str, log);
|
||||
curr.put(MOV_MODPAG, 1);
|
||||
done = update_file(file, TR("Forzato pagamento non frazionato in assenza di contratto"), log);
|
||||
}
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
960
fe/felib.cpp
960
fe/felib.cpp
File diff suppressed because it is too large
Load Diff
82
fe/felib.h
82
fe/felib.h
@ -25,6 +25,7 @@ class TAnagrafica : public TObject
|
||||
|
||||
TAnagrafica& operator =(const TAnagrafica&) { CHECK(false, "Can't copy TAnagrafica"); }
|
||||
TAnagrafica(const TAnagrafica&) { CHECK(false, "Can't copy TAnagrafica"); }
|
||||
|
||||
protected:
|
||||
void build_ind_res(const TRectype& rec, const char* ind, const char* civ);
|
||||
void split_ragsoc();
|
||||
@ -38,14 +39,15 @@ public:
|
||||
const TString& partita_IVA() const { return _paiv; }
|
||||
|
||||
const TString& ragione_sociale() const { return _ragsoc; }
|
||||
const TString& cognome() const { return _ragsoc.left(24); }
|
||||
const TString& nome() const { CHECK(fisica(), "Non chiedere nome giuridico!"); return _ragsoc.mid(30,20); }
|
||||
const TString& cognome() const;
|
||||
const TString& nome() const;
|
||||
char sesso() const { CHECK(fisica(), "Solo sesso fisico!"); return (_cofi[9] >= '4') ? 'F' : 'M'; }
|
||||
const TDate& data_nascita() const { return _data_nasc; }
|
||||
bool italiano() const;
|
||||
bool estero() const { return !italiano(); }
|
||||
const TString& stato_estero_UNICO() const;
|
||||
int inserimento_in_allegato() const { return _allegato; }
|
||||
char is_black_list() const;
|
||||
|
||||
const TString& comune_nascita() const;
|
||||
const TString& provincia_nascita() const;
|
||||
@ -69,68 +71,35 @@ public:
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TContratto
|
||||
// TSpesometro_set
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TContratto : public TObject
|
||||
class TSpesometro_set : public TCSV_recordset
|
||||
{
|
||||
TRectype _rec;
|
||||
|
||||
protected:
|
||||
bool importo_annuale(int anno, real& importo, real& imposta) const;
|
||||
bool importo_figli(int anno, real& importo, real& imposta) const;
|
||||
|
||||
public:
|
||||
virtual bool ok() const { return !_rec.empty(); }
|
||||
const TString& chiave() const { return _rec.get("CODTAB"); }
|
||||
const TString& codice() const { return chiave().mid(7); }
|
||||
const TString& codice_padre() const { return _rec.get("S1"); }
|
||||
const TString& codice_base() const;
|
||||
bool totale_annuale(int anno, real& importo, real& imposta) const;
|
||||
int modalita_pagamento() const;
|
||||
|
||||
bool init(const TString& codtab);
|
||||
bool init(char tipocf, long codcf, const TString& codcont);
|
||||
bool init(const TRectype& rec);
|
||||
|
||||
TContratto() : _rec(LF_TABMOD) {}
|
||||
TContratto(char tipocf, long codcf, const char* codcont) : _rec(LF_TABMOD) { init(tipocf, codcf, codcont); }
|
||||
TContratto(const TRectype& rec) : _rec(LF_TABMOD) { init(rec); }
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TDati_rilevanti_set
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TDati_rilevanti_set : public TAS400_recordset
|
||||
{
|
||||
int _anno;
|
||||
|
||||
protected:
|
||||
virtual bool set_field(const TAS400_column_info& fi, const TVariant& var);
|
||||
virtual const TVariant& get_field(const TAS400_column_info& fi) const;
|
||||
virtual bool set(unsigned int fld, const TVariant& var);
|
||||
|
||||
void init();
|
||||
bool set_val(int n, const TVariant& v) { return TAS400_recordset::set(n-1, v); }
|
||||
void add_header_data(int n, const TString& value);
|
||||
|
||||
public:
|
||||
bool set(unsigned int n, const TVariant& v) { return set_val(n, v); }
|
||||
bool set(unsigned int n, const TString& v) { return set_val(n, v); }
|
||||
bool set(unsigned int n, char v) { TString4 str; str << v; return set_val(n, str); }
|
||||
bool set(unsigned int n, int v) { return set_val(n, long(v)); }
|
||||
bool set(unsigned int n, const real& v) { return set_val(n, v); }
|
||||
bool set(unsigned int n, const TDate& v) { return set_val(n, v); }
|
||||
int add_header(const TMask& msk, int num_inv = 1, int tot_inv = 1);
|
||||
void add_footer();
|
||||
bool split(const TFilename& name, const TRecnotype maxalleg = 15000);
|
||||
int anno() const { return _anno; }
|
||||
virtual const TVariant& get(unsigned int column) const;
|
||||
bool set(unsigned int n, const char* v) { return set(n, TVariant(v)); }
|
||||
bool set(unsigned int n, const TString& v) { return set(n, TVariant(v)); }
|
||||
bool set(unsigned int n, char v) { TString4 str; str << v; return set(n, str); }
|
||||
bool set(unsigned int n, int v) { return set(n, TVariant(long(v))); }
|
||||
bool set(unsigned int n, bool v) { return set(n, TVariant(v)); }
|
||||
bool set(unsigned int n, const real& v) { return set(n, TVariant(v)); }
|
||||
bool set(unsigned int n, const TDate& v) { return set(n, TVariant(v)); }
|
||||
bool add_header(const TMask& msk);
|
||||
bool add_footer(const TMask& msk);
|
||||
|
||||
TDati_rilevanti_set(int anno);
|
||||
TDati_rilevanti_set(const TFilename& file);
|
||||
TSpesometro_set();
|
||||
TSpesometro_set(const TFilename& file);
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TDati_rilevanti_rep
|
||||
// TSpesometro_rep
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TCofi_cache : public TCache
|
||||
@ -147,25 +116,24 @@ public:
|
||||
TCofi_cache() : _clifo(LF_CLIFO), _occas(LF_OCCAS) { }
|
||||
};
|
||||
|
||||
class TDati_rilevanti_rep : public TReport
|
||||
class TSpesometro_rep : public TReport
|
||||
{
|
||||
TCofi_cache _cofi;
|
||||
|
||||
protected:
|
||||
const TString& cofi2ragsoc(char tipocf, const TString& cofi) const
|
||||
{ return ((TDati_rilevanti_rep*)this)->_cofi.cofi2ragsoc(tipocf, cofi); }
|
||||
{ return ((TSpesometro_rep*)this)->_cofi.cofi2ragsoc(tipocf, cofi); }
|
||||
|
||||
const TString& paiv2ragsoc(char tipocf, const TString& cofi) const
|
||||
{ return ((TDati_rilevanti_rep*)this)->_cofi.paiv2ragsoc(tipocf, cofi); }
|
||||
{ return ((TSpesometro_rep*)this)->_cofi.paiv2ragsoc(tipocf, cofi); }
|
||||
|
||||
virtual bool get_usr_val(const TString& name, TVariant& var) const;
|
||||
|
||||
public:
|
||||
TDati_rilevanti_rep(const TFilename& file);
|
||||
TSpesometro_rep(const TFilename& file);
|
||||
};
|
||||
|
||||
// Utility
|
||||
real fe_importo_limite(int anno);
|
||||
bool fe_is_nota_variazione(const TRectype& rec);
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user