Patch level : 12.0 no-patch
Files correlati : Commento : - Primo commit di tf spesometro funzionante, implementate tutte le funzioni di base. - Tolto messaggio di errore TF0200 git-svn-id: svn://10.65.10.50/branches/R_10_00@23875 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
68adb769c3
commit
92a00f4d80
1799
src/tf/tf0100.cpp
1799
src/tf/tf0100.cpp
File diff suppressed because it is too large
Load Diff
@ -1,31 +1,61 @@
|
||||
#define F_DATAINI 401
|
||||
#define F_DATAFIN 402
|
||||
#define F_TIPOCF 403
|
||||
#define F_CODCF 404
|
||||
#define F_RAGSOC 405
|
||||
#define F_FATTSEL 406
|
||||
#define START_MASK 401
|
||||
|
||||
#define F_RIGHE 300
|
||||
#define F_DATAINI 401
|
||||
#define F_DATAFIN 402
|
||||
#define F_TIPOCF 403
|
||||
#define F_CODCF 404
|
||||
#define F_RAGSOC 405
|
||||
#define F_FATTSEL 406
|
||||
/* Campi booleani documento */
|
||||
#define START_BOOLEAN 407
|
||||
|
||||
#define A_SPEDITA 101
|
||||
#define A_INVIO 102
|
||||
#define A_FORZATA 103
|
||||
#define A_NUMERO 104
|
||||
#define A_NUMRIGA 105
|
||||
#define A_TIPOCF 106
|
||||
#define A_CODCF 107
|
||||
#define A_OCFPI 108
|
||||
#define A_RAGSOC 109
|
||||
#define A_RFSO 110
|
||||
#define A_TIPODOC 111
|
||||
#define A_NUMDOC 112
|
||||
#define A_DATADOC 113
|
||||
#define A_NATURA 114
|
||||
#define A_ALIQUOTA 115
|
||||
#define A_DETRAIB 116
|
||||
#define A_IMPONIBILE 117
|
||||
#define A_IMPOSTA 118
|
||||
#define A_REVERSE 119
|
||||
#define A_AUTOFATT 120
|
||||
#define A_PAIV 121
|
||||
#define A_COFI 122
|
||||
#define B_TIPO_AUTOFATT 407
|
||||
#define B_TIPO_BOLLADOG 408
|
||||
#define B_TIPO_CORRNINC 409
|
||||
#define B_TIPO_CORR 410
|
||||
#define B_TIPO_FATTACQ 411
|
||||
#define B_TIPO_FATTFISC 412
|
||||
#define B_TIPO_FATTSC 413
|
||||
#define B_TIPO_FATTVEN 414
|
||||
#define B_TIPO_NOTC 415
|
||||
#define B_TIPO_NOTD 416
|
||||
#define B_TIPO_RICFIS 417
|
||||
#define B_TIPO_RICFISNI 418
|
||||
#define B_TIPO_SCONT 419
|
||||
#define B_TIPO_SCONTNI 420
|
||||
#define B_TIPO_STORDOC 421
|
||||
|
||||
#define END_BOOLEAN 421
|
||||
|
||||
#define END_MASK 421
|
||||
|
||||
#define F_RIGHE 301 // Sheet righe tf
|
||||
|
||||
#define START_SHEET 101
|
||||
|
||||
#define A_DATAREG 101
|
||||
#define A_TIPODOC 102
|
||||
#define A_NUMDOC 103
|
||||
#define A_DATADOC 104
|
||||
#define A_ALIQUOTA 105
|
||||
#define A_IMPONIBILE 106
|
||||
#define A_IMPOSTA 107
|
||||
#define A_NATURA 108
|
||||
#define A_DETRAIB 109
|
||||
#define A_TIPOCF 110
|
||||
#define A_CODCF 111
|
||||
#define A_OCFPI 112
|
||||
#define A_RAGSOC 113
|
||||
#define A_RFSO 114
|
||||
#define A_RAGSOCRFSO 115
|
||||
#define A_PAIV 116
|
||||
#define A_COFI 117
|
||||
#define A_REVERSE 118
|
||||
#define A_AUTOFATT 119
|
||||
#define A_SPEDITA 120
|
||||
#define A_INVIO 121
|
||||
#define A_FORZATA 122
|
||||
#define A_NUMERO 123
|
||||
#define A_CODERR 124
|
||||
|
||||
#define END_SHEET 124
|
@ -1,6 +1,30 @@
|
||||
#include "tf0100a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
BUTTON DLG_RECALC 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Carica"
|
||||
PICTURE TOOL_CONVERT
|
||||
END
|
||||
|
||||
BUTTON DLG_ARCHIVE 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Controlla"
|
||||
PICTURE TOOL_SMILE
|
||||
END
|
||||
|
||||
BUTTON DLG_SAVEREC 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "Salva"
|
||||
PICTURE TOOL_SAVEREC
|
||||
END
|
||||
|
||||
BUTTON DLG_EDIT 10 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "E~xcel"
|
||||
PICTURE TOOL_EXCEL
|
||||
END
|
||||
|
||||
#include <elabar.h>
|
||||
ENDPAGE
|
||||
|
||||
@ -8,20 +32,19 @@ PAGE "Impostazioni" 0 2 0 0
|
||||
|
||||
DATE F_DATAINI
|
||||
BEGIN
|
||||
PROMPT 1 0 "Data iniziale:"
|
||||
PROMPT 1 1 "Data iniziale:"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
DATE F_DATAFIN
|
||||
BEGIN
|
||||
PROMPT 40 0 "Data Finale: "
|
||||
PROMPT 40 1 "Data Finale: "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
RADIOBUTTON F_TIPOCF 15
|
||||
BEGIN
|
||||
PROMPT 1 2 "Tipo C/F"
|
||||
ITEM "T|Tutti"
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
END
|
||||
@ -41,7 +64,7 @@ BEGIN
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
CHEKTYPE NORMAL
|
||||
GROUP 1
|
||||
FLAGS "D"
|
||||
FLAGS ""
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50 49
|
||||
@ -57,7 +80,7 @@ BEGIN
|
||||
COPY OUTPUT F_CODCF
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
FLAGS "D"
|
||||
FLAGS ""
|
||||
END
|
||||
|
||||
|
||||
@ -69,35 +92,121 @@ BEGIN
|
||||
ITEM "2|Tutti"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 65 6
|
||||
BEGIN
|
||||
PROMPT 30 7 "Tipi documento selezionati"
|
||||
END
|
||||
|
||||
BOOLEAN B_TIPO_AUTOFATT
|
||||
BEGIN
|
||||
PROMPT 31 8 "Autofattura"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_BOLLADOG
|
||||
BEGIN
|
||||
PROMPT 45 8 "Bolla dog"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_CORRNINC
|
||||
BEGIN
|
||||
PROMPT 60 8 "Corr non inc"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_CORR
|
||||
BEGIN
|
||||
PROMPT 75 8 "Corrispettivo"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_FATTACQ
|
||||
BEGIN
|
||||
PROMPT 31 9 "Fatt d'Acq"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_FATTFISC
|
||||
BEGIN
|
||||
PROMPT 45 9 "Fatt Fisc"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_FATTSC
|
||||
BEGIN
|
||||
PROMPT 60 9 "Fatt Scontr"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_FATTVEN
|
||||
BEGIN
|
||||
PROMPT 75 9 "Fatt Ven"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_NOTC
|
||||
BEGIN
|
||||
PROMPT 31 10 "Nota Cred"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_NOTD
|
||||
BEGIN
|
||||
PROMPT 45 10 "Nota Deb"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_RICFIS
|
||||
BEGIN
|
||||
PROMPT 60 10 "Ric fis"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_RICFISNI
|
||||
BEGIN
|
||||
PROMPT 75 10 "Ric Fis NI"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_SCONT
|
||||
BEGIN
|
||||
PROMPT 31 11 "Scontrino"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_SCONTNI
|
||||
BEGIN
|
||||
PROMPT 45 11 "Scontrino NI"
|
||||
FLAGS ""
|
||||
END
|
||||
BOOLEAN B_TIPO_STORDOC
|
||||
BEGIN
|
||||
PROMPT 60 11 "Storno Doc"
|
||||
FLAGS ""
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Trasferimento Fatture" 0 2 0 0
|
||||
|
||||
SPREADSHEET F_RIGHE
|
||||
BEGIN
|
||||
PROMPT 0 0 ""
|
||||
ITEM "Spedita@3F"
|
||||
ITEM "Invio@3F"
|
||||
ITEM "Mod.@3F"
|
||||
ITEM "N.\nRegistraz.@7F"
|
||||
ITEM "N.Riga@3F"
|
||||
ITEM "C/F@2F"
|
||||
ITEM "Codice@6F"
|
||||
ITEM "Occas.@3"
|
||||
ITEM "Ragione Sociale@35"
|
||||
ITEM "RF/SO@6"
|
||||
ITEM "Tipo\nDocum.@2"
|
||||
ITEM "Numero\nDocum.@5"
|
||||
PROMPT 0 0 "Righe movimenti"
|
||||
ITEM "Data\n Reg.@8F"
|
||||
ITEM "Tipo\nDocum.@2F"
|
||||
ITEM "Numero\nDocum.@5F"
|
||||
ITEM "Data\nDocum.@10"
|
||||
ITEM "Natura\nIVA@4"
|
||||
ITEM "Aliquota@4"
|
||||
ITEM "% Detr.@6"
|
||||
ITEM "Imponibile@10"
|
||||
ITEM "Imposta@10"
|
||||
ITEM "Rev.\nCharge@4"
|
||||
ITEM "Auto\nfatt.@3"
|
||||
ITEM "Natura\nIVA@4"
|
||||
ITEM "% Detr.@6"
|
||||
ITEM "C/F@2"
|
||||
ITEM "Codice@6"
|
||||
ITEM "Occas.@16"
|
||||
ITEM "Ragione Sociale@35"
|
||||
ITEM "RF/SO@16"
|
||||
ITEM "Rag. Soc. RF/SO@35"
|
||||
ITEM "Partita IVA@11"
|
||||
ITEM "Codice Fiscale@15"
|
||||
ITEM "Rev.\nCharge@4"
|
||||
ITEM "Auto\nfatt.@3"
|
||||
ITEM "Spedita@5"
|
||||
ITEM "Invio@3"
|
||||
ITEM "Mod.@3"
|
||||
ITEM "N.\nRegistraz.@10"
|
||||
ITEM "Codici Errori@10"
|
||||
DEFAULT "*" // Impedisce il salvataggio su profilo .ini
|
||||
END
|
||||
|
||||
@ -105,53 +214,54 @@ ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Riga" -1 -1 69 10
|
||||
PAGE "Riga" -1 -1 -1 -1
|
||||
|
||||
BOOLEAN A_SPEDITA
|
||||
BEGIN
|
||||
PROMPT 40 9 "Gia' spedita"
|
||||
PROMPT 52 10 "Gia' spedita"
|
||||
FIELD SPEDITA
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BOOLEAN A_INVIO
|
||||
LIST A_INVIO 1 10
|
||||
BEGIN
|
||||
PROMPT 40 9 "Da inviare"
|
||||
PROMPT 1 10 "Da inviare"
|
||||
ITEM "X|Da Inviare"
|
||||
ITEM "E|Errore"
|
||||
FIELD INVIO
|
||||
END
|
||||
|
||||
BOOLEAN A_FORZATA
|
||||
BEGIN
|
||||
PROMPT 40 9 "Forzatura manuale"
|
||||
PROMPT 25 10 "Forzatura manuale"
|
||||
FIELD FORZATURA
|
||||
END
|
||||
|
||||
NUMBER A_NUMERO 7
|
||||
NUMBER A_NUMERO 10
|
||||
BEGIN
|
||||
PROMPT 1 0 "N.Movimento"
|
||||
FLAGS "D"
|
||||
FIELD PROGR
|
||||
END
|
||||
|
||||
NUMBER A_NUMRIGA 3
|
||||
DATE A_DATAREG
|
||||
BEGIN
|
||||
PROMPT 25 0 "N.Riga"
|
||||
FLAGS "D"
|
||||
FIELD PROGR
|
||||
PROMPT 26 0 "Data reg."
|
||||
FIELD DATAREG
|
||||
CHEKTYPE REQUIRED
|
||||
END
|
||||
|
||||
LIST A_TIPOCF 1 10
|
||||
BEGIN
|
||||
PROMPT 1 2 "Tipo C/F"
|
||||
PROMPT 1 1 "Tipo C/F "
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
FIELD TIPOCF
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER A_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 23 2 "Cod. C/F"
|
||||
PROMPT 26 1 "Cod. C/F"
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF A_TIPOCF SELECT
|
||||
INPUT CODCF A_CODCF
|
||||
@ -160,16 +270,18 @@ BEGIN
|
||||
DISPLAY "Occasionale@C" OCCAS
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
OUTPUT A_CODCF CODCF
|
||||
CHEKTYPE REQUIRED
|
||||
OUTPUT A_CODCF CODCF
|
||||
OUTPUT A_RAGSOC RAGSOC
|
||||
OUTPUT A_PAIV PAIV
|
||||
OUTPUT A_COFI COFI
|
||||
ADD RUN cg0 -1
|
||||
FIELD CODCF
|
||||
FLAGS "DG"
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
STRING A_OCFPI 16
|
||||
BEGIN
|
||||
PROMPT 43 2 "Occas."
|
||||
PROMPT 44 1 "Occas."
|
||||
USE LF_OCCAS
|
||||
INPUT CFPI A_OCFPI
|
||||
DISPLAY "Codice@16" CFPI
|
||||
@ -177,51 +289,72 @@ BEGIN
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
OUTPUT A_OCFPI CFPI
|
||||
OUTPUT A_RAGSOC RAGSOC
|
||||
OUTPUT A_PAIV PAIV
|
||||
OUTPUT A_COFI COFI
|
||||
CHEKTYPE NORMAL
|
||||
GROUP 3
|
||||
ADD RUN cg0 -6
|
||||
FIELD OCFPI
|
||||
FLAGS "DG"
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
STRING A_RAGSOC 50 47
|
||||
BEGIN
|
||||
FIELD RAGSOC
|
||||
PROMPT 1 3 "Ragione Sociale "
|
||||
PROMPT 1 2 "Ragione Sociale"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING A_RFSO 6
|
||||
BEGIN
|
||||
FIELD RFSO
|
||||
PROMPT 30 16 "Codice RF/SO:"
|
||||
PROMPT 1 4 "Codice RF/SO: "
|
||||
HELP "Codice Rappresentante Fiscale o Stabile Organizzazione"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING A_RAGSOCRFSO 50 47
|
||||
BEGIN
|
||||
FIELD RAGSOCRFSO
|
||||
PROMPT 1 5 "Rag. Soc. RF/SO"
|
||||
HELP "Ragione Sociale RF/SO"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING A_TIPODOC 2
|
||||
BEGIN
|
||||
PROMPT 23 5 "Tipo doc. "
|
||||
FLAGS "U"
|
||||
PROMPT 23 6 "Tipo doc. "
|
||||
FIELD TIPODOC
|
||||
USE %TPD
|
||||
INPUT CODTAB A_TIPODOC
|
||||
DISPLAY "Tipo " CODTAB
|
||||
DISPLAY "Descrizione @50" S0
|
||||
OUTPUT A_TIPODOC CODTAB
|
||||
WARNING "Tipo documento errato"
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "U"
|
||||
ADD NONE
|
||||
END
|
||||
|
||||
STRING A_NUMDOC 7
|
||||
BEGIN
|
||||
PROMPT 23 5 "Num. doc. "
|
||||
PROMPT 42 6 "Num. doc. "
|
||||
FLAGS "U"
|
||||
FIELD NUMDOC
|
||||
CHEKTYPE REQUIRED
|
||||
END
|
||||
|
||||
DATE A_DATADOC
|
||||
BEGIN
|
||||
PROMPT 1 5 "Data doc. "
|
||||
PROMPT 1 6 "Data doc."
|
||||
FIELD DATADOC
|
||||
CHEKTYPE REQUIRED
|
||||
END
|
||||
|
||||
LIST A_NATURA 1 35
|
||||
BEGIN
|
||||
PROMPT 1 6 "Natura IVA"
|
||||
PROMPT 20 7 "Natura IVA"
|
||||
ITEM "|IVA ordinaria"
|
||||
ITEM "N1|N1 - IVA esclusa ex art 15"
|
||||
ITEM "N2|N2 - IVA non soggetta"
|
||||
@ -233,16 +366,30 @@ BEGIN
|
||||
FIELD S12
|
||||
END
|
||||
|
||||
NUMBER A_ALIQUOTA 6 2
|
||||
STRING A_ALIQUOTA 4
|
||||
BEGIN
|
||||
PROMPT 25 7 "Aliquota "
|
||||
HELP "Percentuale di imposta"
|
||||
FLAGS "D"
|
||||
PROMPT 1 7 "Aliquota "
|
||||
HELP "Codice aliquota"
|
||||
FIELD CODTAB
|
||||
KEY 1
|
||||
USE %IVA
|
||||
FLAGS "U"
|
||||
INPUT CODTAB A_ALIQUOTA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Tipo" S1
|
||||
DISPLAY "%@5" R0
|
||||
DISPLAY "Vent." S6
|
||||
DISPLAY "Sospeso" B2
|
||||
OUTPUT A_ALIQUOTA CODTAB
|
||||
HELP "Codice IVA"
|
||||
CHECKTYPE REQUIRED
|
||||
VALIDATE ZEROFILL_FUNC 2
|
||||
END
|
||||
|
||||
STRING A_DETRAIB 6
|
||||
BEGIN
|
||||
PROMPT 25 7 "% Detraibilita' "
|
||||
PROMPT 1 8 "% Detraibilita'"
|
||||
HELP "Percentuale di detraibilita'"
|
||||
FLAGS "D"
|
||||
END
|
||||
@ -250,13 +397,14 @@ END
|
||||
|
||||
CURRENCY A_IMPONIBILE 12
|
||||
BEGIN
|
||||
PROMPT 1 7 "Imponibile"
|
||||
PROMPT 42 8 "Imponibile"
|
||||
FIELD IMPORTO
|
||||
CHEKTYPE REQUIRED
|
||||
END
|
||||
|
||||
CURRENCY A_IMPOSTA 12
|
||||
BEGIN
|
||||
PROMPT 45 7 "Imposta"
|
||||
PROMPT 42 9 "Imposta "
|
||||
FIELD IMPOSTA
|
||||
END
|
||||
|
||||
@ -274,13 +422,19 @@ END
|
||||
|
||||
STRING A_PAIV 12
|
||||
BEGIN
|
||||
PROMPT 1 4 "Partita IVA "
|
||||
PROMPT 1 3 "Partita IVA "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING A_COFI 16
|
||||
BEGIN
|
||||
PROMPT 33 4 "Codice Fiscale "
|
||||
PROMPT 33 3 "Codice Fiscale"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING A_CODERR 10
|
||||
BEGIN
|
||||
PROMPT -1 -1 "Codice Fiscale"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
@ -293,12 +447,6 @@ BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_USER 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Collega"
|
||||
PICTURE TOOL_LINK
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 2 2
|
||||
BEGIN
|
||||
PROMPT 4 1 ""
|
||||
|
267
src/tf/tf0100b.h
Normal file
267
src/tf/tf0100b.h
Normal file
@ -0,0 +1,267 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <config.h>
|
||||
#include <execp.h>
|
||||
#include <golem.h>
|
||||
#include <progind.h>
|
||||
#include <reputils.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <agasys.h>
|
||||
#include <printer.h>
|
||||
|
||||
#include <map> // std::map
|
||||
|
||||
#include "../ve/velib05.h"
|
||||
#include "../cg/cglib03.h"
|
||||
#include "../fe/felib.h"
|
||||
|
||||
#include "tf0100a.h"
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
// Globals
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static XVT_SQLDB _db = NULL; // TFF sqlite db
|
||||
enum return_code
|
||||
{
|
||||
found, // Trovato
|
||||
foundcust, // Trovato in trasfatt
|
||||
nextmov, // Trovato ma cambiato movimento
|
||||
eof, // EOF rmoviva
|
||||
eofm, // EOF mov
|
||||
after // File mov su un movimento dopo rispetto a rmoviva
|
||||
};
|
||||
|
||||
enum filter_fatt
|
||||
{
|
||||
toSend, // Da inviare
|
||||
sent, // Inviate
|
||||
all // Tutte
|
||||
};
|
||||
|
||||
#define MOV_CUSTOM 10000000
|
||||
#define SHEET_GAP 101
|
||||
#define DTE_PROVV "DTE0000001"
|
||||
#define DTR_PROVV "DTR0000001"
|
||||
|
||||
/* Così facendo basta modificare la maschera (e le dichiarazioni di conseguenza)
|
||||
* per avere l'inserimento nello sheet corretto */
|
||||
enum spesometroFields{
|
||||
_spedita = A_SPEDITA - SHEET_GAP,
|
||||
_invio = A_INVIO - SHEET_GAP,
|
||||
_forzata = A_FORZATA - SHEET_GAP,
|
||||
_numero = A_NUMERO - SHEET_GAP,
|
||||
_datareg = A_DATAREG - SHEET_GAP,
|
||||
_tipocf = A_TIPOCF - SHEET_GAP,
|
||||
_codcf = A_CODCF - SHEET_GAP,
|
||||
_occas = A_OCFPI - SHEET_GAP,
|
||||
_ragsoc = A_RAGSOC - SHEET_GAP,
|
||||
_rfso = A_RFSO - SHEET_GAP,
|
||||
_ragsocrfso = A_RAGSOCRFSO - SHEET_GAP,
|
||||
_codnum = A_TIPODOC - SHEET_GAP,
|
||||
_numdoc = A_NUMDOC - SHEET_GAP,
|
||||
_datadoc = A_DATADOC - SHEET_GAP,
|
||||
_natura = A_NATURA - SHEET_GAP,
|
||||
_aliquota = A_ALIQUOTA - SHEET_GAP,
|
||||
_detraibile = A_DETRAIB - SHEET_GAP,
|
||||
_imponibile = A_IMPONIBILE - SHEET_GAP,
|
||||
_importoIVA = A_IMPOSTA - SHEET_GAP, // Imposta è già preso
|
||||
_reverse = A_REVERSE - SHEET_GAP,
|
||||
_autofatt = A_AUTOFATT - SHEET_GAP,
|
||||
_paiv = A_PAIV - SHEET_GAP,
|
||||
_codfis = A_COFI - SHEET_GAP,
|
||||
_coderr = A_CODERR - SHEET_GAP
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
// Utilities
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Da un id ritorna il tipo doc corrispondente
|
||||
TString getTipoDoc(int id);
|
||||
int getTipoDoc(TString id);
|
||||
// Ritorna il record custom
|
||||
TRectype getTrasFatt(TString reg, TString codiva);
|
||||
// Ritorna il cliente in un record di $clifo, con tipocf = "O" lo cerca in $occas
|
||||
TRectype getCli(TString tipocf, TString codcf);
|
||||
// Cerca una stringa all'interno di una SLIST (Potrebbe diventare una funzione di XVT.h)
|
||||
static SLIST_ELT xvt_slist_find_str(SLIST list, const char* str);
|
||||
// Controlla se l'azienda ha un RFSO
|
||||
static bool haveRFSO(TString& codrfso);
|
||||
// Decodifica il tipo di documento per il trasferimento fatture
|
||||
static const char* decodTipo(TToken_string* strarr);
|
||||
// Salvo un singolo record
|
||||
bool saveRec(TToken_string row, bool esportato = false);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
// TTrFa_record
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Contenitore di campi di un record di database SQLite
|
||||
class TTrFa_record : public TObject
|
||||
{
|
||||
TString8 _table;
|
||||
TToken_string _key;
|
||||
TAssoc_array _fields;
|
||||
|
||||
protected:
|
||||
void copy(const TTrFa_record& rec) { _table = rec._table; _key = rec._key; _fields = rec._fields; }
|
||||
const TString& var2str(const TString& fld, const TVariant& var) const;
|
||||
|
||||
public:
|
||||
void reset() { _fields.destroy(); }
|
||||
void set(const char* fld, const TVariant& var);
|
||||
void set(const char* fld, long var);
|
||||
void set(const char* fld, const char* var);
|
||||
void set(const char* fld, const real& var);
|
||||
void set(const char* fld, const TString& var);
|
||||
void set(const char* fld, const TDate& var);
|
||||
void set(const char* fld, bool var);
|
||||
const TVariant& get(const char* fld) const;
|
||||
|
||||
bool insert();
|
||||
bool remove();
|
||||
bool search();
|
||||
bool search(const char* k1, const char* k2, const char* k3 = NULL);
|
||||
|
||||
virtual TObject* dup() const { return new TTrFa_record(*this); }
|
||||
virtual bool ok() const { return _table.not_empty(); }
|
||||
|
||||
TTrFa_record& operator=(const TTrFa_record& rec) { copy(rec); return *this; }
|
||||
TTrFa_record(const TTrFa_record& rec) { copy(rec); }
|
||||
TTrFa_record(const char* table);
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
// TTrFa_cursors
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
* Classe per la gestione di RMOVIVA, MOV, TFCUST
|
||||
*/
|
||||
class TTrFa_cursors : TObject
|
||||
{
|
||||
friend class TCursor;
|
||||
TISAM_recordset* c_rmoviva;
|
||||
filter_fatt filFat;
|
||||
bool _newMov;
|
||||
// Se trovo un record custom devo saltare tutti quelli che trovo successivamente, per fare ciò utilizzo una TToken_string
|
||||
TToken_string _alqCust;
|
||||
|
||||
bool filOk(bool alreadySent) { return (filFat == all) || (filFat == sent && alreadySent) || (filFat == toSend && !alreadySent); }
|
||||
TRectype _next(return_code& code, TString& tipocf, TString& codcf); // Si sposta avanti di un elemento
|
||||
|
||||
public:
|
||||
TTrFa_cursors() : filFat(all) {};
|
||||
~TTrFa_cursors();
|
||||
long int getIvaItems() { return c_rmoviva->items(); }
|
||||
long int getIvaPos() { return c_rmoviva->cursor()->pos(); }
|
||||
TRectype getIva() { return c_rmoviva->cursor()->curr(); }
|
||||
int next(TAssoc_array& recimposte, bool& ok, TString& tipocf, TString& codcf); // Legge tutto il prossimo movimento, in importi mette per ogni codiva la somma
|
||||
|
||||
int updateFilters(const char tipocf, const long codcf, TDate dal, TDate al, int cod = toSend);
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
// TTrFa_mask
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class TTrFa_mask : public TAutomask
|
||||
{
|
||||
friend class TTrFa_cursors;
|
||||
|
||||
TMaskmode _mode;
|
||||
bool _sheet_dirty;
|
||||
bool _filter_changed;
|
||||
|
||||
protected:
|
||||
virtual void next_page(int p);
|
||||
const char * natura(const TString& codiva) const;
|
||||
real get_IVA(const TString& codiva) const;
|
||||
TString findDetraib(TString tipodet) const;
|
||||
TString revCharge(TString numreg) const;
|
||||
TString getRFSO(TString codrfso) const;
|
||||
TRecnotype nuovo_progr() const;
|
||||
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
void setFilterChanged() { _filter_changed = true; }
|
||||
void load_sheet();
|
||||
TTrFa_mask(TString msk);
|
||||
~TTrFa_mask();
|
||||
// Carico i tipi documento all'inizio
|
||||
void loadConfig();
|
||||
// Salvo i tipi documento
|
||||
void saveConfig();
|
||||
// Salvo tutti i records
|
||||
bool saveAll();
|
||||
// Controllo tutti i records
|
||||
bool checkAll();
|
||||
// Testo validità record
|
||||
bool checkRec(TPrinter* stampa, TToken_string rec);
|
||||
// Controllo che siano presenti records
|
||||
bool checkNotEmpty();
|
||||
};
|
||||
// Funzione inline di stampa
|
||||
inline void printError(TPrinter* stampa, TString movimento, TString documento, TString msgerr);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
// TTrFa_app
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
struct clifoDoc
|
||||
{
|
||||
long contCliFo;
|
||||
long countDoc;
|
||||
};
|
||||
|
||||
class TTrFa_app : public TSkeleton_application
|
||||
{
|
||||
TAnagrafica _ditta;
|
||||
TString16 _cofi;
|
||||
TFilename _dbname;
|
||||
TLog_report* _log;
|
||||
TString _logTFF;
|
||||
bool _append;
|
||||
TString myrfso;
|
||||
static long header;
|
||||
// Solitamente nei programmi di campo cerco di sfruttare le classi interne ma per mancanza di tempo sono costretto a usare l'std::vector
|
||||
std::map<TString, clifoDoc> mCliDoc;
|
||||
|
||||
private:
|
||||
int parse_line(const TString& line, TString& var, TString& val) const;
|
||||
bool create_table(TScanner& TFF, const TString& table);
|
||||
TString getKey(TToken_string* strarr);
|
||||
TString getHeader(TToken_string* strarr);
|
||||
TString getBody(TToken_string* strarr);
|
||||
bool tff0100(TSheet_field& sheet); // Header esportazione
|
||||
bool tff0200(TString key); // Anagrafica ditta
|
||||
bool tff0300(TString key, TRectype r_ana); // Rappresentante fiscale ditta
|
||||
bool tff0400(TSheet_field& sheet); // Anagrafica clifo
|
||||
bool tff0700(TSheet_field& sheet); // Testata documento
|
||||
bool tff2200(TToken_string* strarr); // Riepilogo aliquote
|
||||
bool tff3100(TToken_string* strarr, TRectype r_ana); // Rappresentante fiscale clifo
|
||||
bool setEsportato(TSheet_field& sheet);
|
||||
//const TRectype* find_parent_row(const TRectype& rdoc) const;
|
||||
//int find_ancestors(const TRiga_documento& rdoc, TArray& ancestors) const;
|
||||
|
||||
protected:
|
||||
//const char* descrizione(const TRiga_documento& rdoc) const;
|
||||
//const TRectype& cco(const TRectype& doc) const; // Contratto/Convenzione/Offerta
|
||||
|
||||
void log(int severity, const char* msg);
|
||||
bool show_log();
|
||||
void set_IVA(const TString& codiva, TTrFa_record& TFF) const;
|
||||
void set_IVA(const TRiga_documento& rdoc, TTrFa_record& TFF) const;
|
||||
bool syncronizeDB();
|
||||
bool createDB();
|
||||
|
||||
public:
|
||||
virtual bool create();
|
||||
virtual bool destroy();
|
||||
virtual void main_loop();
|
||||
bool send(TTrFa_mask* msk);
|
||||
|
||||
TTrFa_app() : _log(NULL) {}
|
||||
};
|
@ -344,12 +344,6 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long
|
||||
real creprec = ZERO; real appcreaprec;
|
||||
calcolaCreditoPrec(creprec, appcreaprec, mensile, get_int(F_ANNO), get_int(F_MESE));
|
||||
creaprec = appcreaprec + creaprec;
|
||||
// Controllo che il credito non sia sforato sotto 0
|
||||
if (creaprec < ZERO)
|
||||
{
|
||||
TString msg = "Attenzione! Capienza del credito dell'anno precedente esaurita di "; msg << (creaprec * - UNO).stringa(0,2) << "€";
|
||||
warning_box(msg);
|
||||
}
|
||||
}
|
||||
|
||||
real credito = get_real(F_IVADOVC) + get_real(F_CREPREC) + creaprec + get_real(F_VEAUE) + get_real(F_CREIMP) + get_real(F_ACCDOV);
|
||||
|
215
src/tf/tff.ini
215
src/tf/tff.ini
@ -1,70 +1,65 @@
|
||||
[TFF0100F]
|
||||
P1_KEYHEADERFATT = CHAR(20)
|
||||
P1_KEYBODYFATT = CHAR(20)
|
||||
P1_KEYPRGINVIO = CHAR(10)
|
||||
P1_TRASMITTPAESE = CHAR(2)
|
||||
P1_TRASMITTCOD = CHAR(28)
|
||||
P1_TIPOINVIO = CHAR(4)
|
||||
P1_FMTTRASMISS = CHAR(5)
|
||||
P1_CODDEST = CHAR(7)
|
||||
P1_TELEFONO = CHAR(12)
|
||||
P1_MAIL = CHAR(256)
|
||||
P1_GESTIONE = CHAR(1)
|
||||
P1_CODFISCDICH = CHAR(16)
|
||||
P1_CODCARICADICH = CHAR(2)
|
||||
P1_PROTOCOLLO = CHAR(18)
|
||||
P1_ERRINT = CHAR(1)
|
||||
P1_ERREST = CHAR(1)
|
||||
|
||||
P1_TRASMITTPAESE = CHAR(2)
|
||||
P1_TRASMITTCOD = CHAR(28)
|
||||
P1_PRGINVIO = CHAR(10)
|
||||
P1_FMTTRASMISS = CHAR(5)
|
||||
P1_CODDEST = CHAR(6)
|
||||
P1_TELEFONO = CHAR(12)
|
||||
P1_MAIL = CHAR(256)
|
||||
|
||||
P1_GESTIONE = CHAR(1)
|
||||
P1_ERRINT = CHAR(1)
|
||||
P1_ERREST = CHAR(1)
|
||||
|
||||
INDEX_1 = P1_KEYHEADERFATT,P1_KEYBODYFATT
|
||||
INDEX_1 = P1_KEYPRGINVIO
|
||||
|
||||
[TFF0200F]
|
||||
P2_KEYHEADERFATT = CHAR(20)
|
||||
P2_KEYBODYFATT = CHAR(20)
|
||||
P2_KEYPRGINVIO = CHAR(20)
|
||||
P2_FISCIVAPAESE = CHAR(2)
|
||||
P2_FISCIVACOD = CHAR(28)
|
||||
P2_CODFISCALE = CHAR(16)
|
||||
P2_ANADENOMIN = CHAR(80)
|
||||
P2_ANANOME = CHAR(60)
|
||||
P2_ANACOGNOME = CHAR(60)
|
||||
P2_ANATITOLO = CHAR(10)
|
||||
P2_ANACODEORI = CHAR(17)
|
||||
P2_ALBOPROFESS = CHAR(60)
|
||||
P2_PROVALBO = CHAR(2)
|
||||
P2_NRISCRIZALBO = CHAR(60)
|
||||
P2_DTISCRIZEALBO = DATE
|
||||
P2_REGFISCALE = CHAR(4)
|
||||
P2_SEDEIND = CHAR(60)
|
||||
P2_SEDENRCIVICO = CHAR(8)
|
||||
P2_SEDECAP = NUMERIC(5, 0)
|
||||
P2_SEDECOMUNE = CHAR(60)
|
||||
P2_SEDEPROV = CHAR(2)
|
||||
P2_SEDENAZ = CHAR(2)
|
||||
P2_STABORGIND = CHAR(60)
|
||||
P2_STABORGNRCIVICO = CHAR(8)
|
||||
P2_STABORGCAP = NUMERIC(5, 0)
|
||||
P2_STABORGCOMUNE = CHAR(60)
|
||||
P2_STABORGPROV = CHAR(2)
|
||||
P2_STABORGNAZ = CHAR(2)
|
||||
P2_ISCRREAUFF = CHAR(2)
|
||||
P2_ISCRREANUM = CHAR(20)
|
||||
P2_ISCRREACAP = VARNUMERIC(15, 2)
|
||||
P2_ISCRREASOCIOU = CHAR(2)
|
||||
P2_ISCRREASLIQUID = CHAR(2)
|
||||
P2_CONTATTITELEF = CHAR(12)
|
||||
P2_CONTATTIFAX = CHAR(12)
|
||||
P2_CONTATTIMAIL = CHAR(256)
|
||||
P2_RIFAMMINISTR = CHAR(20)
|
||||
P2_GESTIONE = CHAR(1)
|
||||
P2_ERRINT = CHAR(1)
|
||||
P2_ERREST = CHAR(1)
|
||||
|
||||
P2_FISCIVAPAESE = CHAR(2)
|
||||
P2_FISCIVACOD = CHAR(28)
|
||||
P2_CODFISCALE = CHAR(16)
|
||||
P2_ANADENOMIN = CHAR(80)
|
||||
P2_ANANOME = CHAR(60)
|
||||
P2_ANACOGNOME = CHAR(60)
|
||||
P2_ANATITOLO = CHAR(10)
|
||||
P2_ANACODEORI = CHAR(17)
|
||||
P2_ALBOPROFESS = CHAR(60)
|
||||
P2_PROVALBO = CHAR(2)
|
||||
P2_NRISCRIZALBO = CHAR(60)
|
||||
P2_DTISCRIZEALBO = DATE
|
||||
P2_REGFISCALE = CHAR(4)
|
||||
P2_SEDEIND = CHAR(60)
|
||||
P2_SEDENRCIVICO = CHAR(8)
|
||||
P2_SEDECAP = NUMERIC(5, 0)
|
||||
P2_SEDECOMUNE = CHAR(60)
|
||||
P2_SEDEPROV = CHAR(2)
|
||||
P2_SEDENAZ = CHAR(2)
|
||||
P2_STABORGIND = CHAR(60)
|
||||
P2_STABORGNRCIVICO = CHAR(8)
|
||||
P2_STABORGCAP = NUMERIC(5, 0)
|
||||
P2_STABORGCOMUNE = CHAR(60)
|
||||
P2_STABORGPROV = CHAR(2)
|
||||
P2_STABORGNAZ = CHAR(2)
|
||||
P2_ISCRREAUFF = CHAR(2)
|
||||
P2_ISCRREANUM = CHAR(20)
|
||||
P2_ISCRREACAP = VARNUMERIC(15, 2)
|
||||
P2_ISCRREASOCIOU = CHAR(2)
|
||||
P2_ISCRREASLIQUID = CHAR(2)
|
||||
P2_CONTATTITELEF = CHAR(12)
|
||||
P2_CONTATTIFAX = CHAR(12)
|
||||
P2_CONTATTIMAIL = CHAR(256)
|
||||
P2_RIFAMMINISTR = CHAR(20)
|
||||
|
||||
P2_GESTIONE = CHAR(1)
|
||||
P2_ERRINT = CHAR(1)
|
||||
P2_ERREST = CHAR(1)
|
||||
|
||||
INDEX_1 = P2_KEYHEADERFATT,P2_KEYBODYFATT
|
||||
INDEX_1 = P2_KEYPRGINVIO
|
||||
|
||||
[TFF0300F]
|
||||
P3_KEYHEADERFATT = CHAR(20)
|
||||
P3_KEYBODYFATT = CHAR(20)
|
||||
|
||||
P3_KEYPRGINVIO = CHAR(10)
|
||||
P3_FISCIVAPAESE = CHAR(2)
|
||||
P3_FISCIVACODICE = CHAR(28)
|
||||
P3_CODFISC = CHAR(16)
|
||||
@ -73,16 +68,15 @@ P3_ANANOME = CHAR(60)
|
||||
P3_ANACOGNOME = CHAR(60)
|
||||
P3_ANATITOLO = CHAR(10)
|
||||
P3_ANACODEORI = CHAR(17)
|
||||
|
||||
P3_GESTIONE = CHAR(1)
|
||||
P3_ERRINT = CHAR(1)
|
||||
P3_ERREST = CHAR(1)
|
||||
|
||||
INDEX_1 = P3_KEYHEADERFATT,P3_KEYBODYFATT
|
||||
INDEX_1 = P3_KEYPRGINVIO
|
||||
|
||||
[TFF0400F]
|
||||
P4_KEYPRGINVIO = CHAR(10)
|
||||
P4_KEYHEADERFATT = CHAR(20)
|
||||
P4_KEYBODYFATT = CHAR(20)
|
||||
P4_FISCIVAPAESE = CHAR(2)
|
||||
P4_FISCIVACOD = CHAR(28)
|
||||
P4_CODFISC = CHAR(16)
|
||||
@ -91,71 +85,68 @@ P4_ANANOME = CHAR(60)
|
||||
P4_ANACOGNOME = CHAR(60)
|
||||
P4_ANATITOLO = CHAR(10)
|
||||
P4_ANACODEORI = CHAR(17)
|
||||
|
||||
P4_SEDEIND = CHAR(60)
|
||||
P4_SEDENRCIVICO = CHAR(8)
|
||||
P4_SEDECAP = CHAR(5)
|
||||
P4_SEDECOMUNE = CHAR(60)
|
||||
P4_SEDEPROV = CHAR(2)
|
||||
P4_SEDENAZ = CHAR(2)
|
||||
P4_GESTIONE = CHAR(1)
|
||||
P4_ERRINT = CHAR(1)
|
||||
P4_ERREST = CHAR(1)
|
||||
|
||||
P4_GESTIONE = CHAR(1)
|
||||
P4_ERRINT = CHAR(1)
|
||||
P4_ERREST = CHAR(1)
|
||||
|
||||
INDEX_1 = P4_KEYHEADERFATT,P4_KEYBODYFATT
|
||||
INDEX_1 = P4_KEYPRGINVIO,P4_KEYHEADERFATT
|
||||
|
||||
[TFF0700F]
|
||||
P7_KEYHEADERFATT = CHAR(20)
|
||||
P7_KEYBODYFATT = CHAR(20)
|
||||
P7_TIPODOC = CHAR(4)
|
||||
P7_DIVISA = CHAR(3)
|
||||
P7_DATA = DATE
|
||||
P7_NUMERO = CHAR(20)
|
||||
P7_KEYPRGINVIO = CHAR(10)
|
||||
P7_KEYHEADERFATT = CHAR(20)
|
||||
P7_KEYBODYFATT = CHAR(20)
|
||||
P7_PROGRESSIVO = NUMERIC(7,0)
|
||||
P7_TIPODOC = CHAR(4)
|
||||
P7_DIVISA = CHAR(3)
|
||||
P7_DATA = DATE
|
||||
P7_NUMERO = CHAR(20)
|
||||
P7_TIPORITENUTA = CHAR(4)
|
||||
P7_IMPORTORIT = NUMERIC(15,2)
|
||||
P7_ALIQUOTARIT = NUMERIC(6,2)
|
||||
P7_CAUSPAGAM = CHAR(1)
|
||||
P7_NUMEROBOLLO = CHAR(14)
|
||||
P7_IMPORTOBOLLO = NUMERIC(15,2)
|
||||
P7_GESTIONE = CHAR(1)
|
||||
P7_ERRINT = CHAR(1)
|
||||
P7_ERREST = CHAR(1)
|
||||
P7_DATAREG = DATE
|
||||
P7_NUMEROREG = NUMERIC(20,0)
|
||||
P7_TIPOREG = CHAR(6)
|
||||
P7_PROTOCOLLO = CHAR(18)
|
||||
P7_POSIZIONE = NUMERIC(7,0)
|
||||
|
||||
P7_TIPORITENUTA = CHAR(4)
|
||||
P7_IMPORTORIT = NUMERIC(15, 2)
|
||||
P7_ALIQUOTARIT = NUMERIC(6, 2)
|
||||
P7_CAUSPAGAM = CHAR(1)
|
||||
P7_NUMEROBOLLO = CHAR(14)
|
||||
P7_IMPORTOBOLLO = NUMERIC(15, 2)
|
||||
INDEX_1 = P7_KEYPRGINVIO,P7_KEYHEADERFATT,P7_KEYBODYFATT
|
||||
|
||||
P7_DATAREG = DATE
|
||||
P7_NUMEROREG = NUMERIC(20, 0)
|
||||
P7_TIPOREG = CHAR(6)
|
||||
P7_PROTOCOLLO = CHAR(18)
|
||||
P7_POSIZIONE = NUMERIC(4, 0)
|
||||
|
||||
P7_GESTIONE = CHAR(1)
|
||||
P7_ERRINT = CHAR(1)
|
||||
P7_ERREST = CHAR(1)
|
||||
|
||||
INDEX_1 = P7_KEYHEADERFATT,P7_KEYBODYFATT
|
||||
|
||||
[TFF2200F]
|
||||
PL_KEYHEADERFATT = CHAR(20)
|
||||
PL_KEYBODYFATT = CHAR(20)
|
||||
PL_KEYPRGINVIO = CHAR(10)
|
||||
PL_KEYHEADERFATT = CHAR(20)
|
||||
PL_KEYBODYFATT = CHAR(20)
|
||||
PL_ALIQUOTAIVA = NUMERIC(6,2)
|
||||
PL_NATURA = CHAR(2)
|
||||
PL_SPESEACCESS = NUMERIC(15,2)
|
||||
PL_ARROTONDAM = NUMERIC(15,2)
|
||||
PL_IMPONIBILE = NUMERIC(15,2)
|
||||
PL_IMPOSTA = NUMERIC(15,2)
|
||||
PL_ESIGIVA = CHAR(1)
|
||||
PL_RIFNORMATIVO = CHAR(100)
|
||||
PL_DETRAIBILE = NUMERIC(6, 2)
|
||||
PD_DEDUCIBILE = CHAR(2)
|
||||
PL_GESTIONE = CHAR(1)
|
||||
PL_ERRINT = CHAR(1)
|
||||
PL_ERREST = CHAR(1)
|
||||
|
||||
PL_ALIQUOTAIVA = NUMERIC(6,2)
|
||||
PL_NATURA = CHAR(2)
|
||||
PL_SPESEACCESS = NUMERIC(15,2)
|
||||
PL_ARROTONDAM = NUMERIC(15,2)
|
||||
PL_IMPONIBILE = NUMERIC(15,2)
|
||||
PL_IMPOSTA = NUMERIC(15,2)
|
||||
PL_ESIGIVA = CHAR(1)
|
||||
PL_RIFNORMATIVO = CHAR(100)
|
||||
PL_DETRAIBILE = NUMERIC(6, 2)
|
||||
PD_DEDUCIBILE = CHAR(2)
|
||||
|
||||
PL_GESTIONE = CHAR(1)
|
||||
PL_ERRINT = CHAR(1)
|
||||
PL_ERREST = CHAR(1)
|
||||
|
||||
INDEX_1 = PL_KEYHEADERFATT,PL_KEYBODYFATT
|
||||
INDEX_1 = PL_KEYPRGINVIO,PL_KEYHEADERFATT,PL_KEYBODYFATT
|
||||
|
||||
[TFF3100F]
|
||||
PH_KEYPRGINVIO = CHAR(10)
|
||||
PH_KEYHEADERFATT = CHAR(20)
|
||||
PH_KEYBODYFATT = CHAR(20)
|
||||
PH_STABORGIND = CHAR(60)
|
||||
PH_STABORGNRCIVICO = CHAR(8)
|
||||
PH_STABORGCAP = NUMERIC(5)
|
||||
@ -171,4 +162,4 @@ PH_GESTIONE = CHAR(1)
|
||||
PH_ERRINT = CHAR(1)
|
||||
PH_ERREST = CHAR(1)
|
||||
|
||||
INDEX_1 = PH_KEYHEADERFATT,PH_KEYBODYFATT
|
||||
INDEX_1 = PH_KEYPRGINVIO,PH_KEYHEADERFATT
|
Loading…
x
Reference in New Issue
Block a user