Archivi
-
02CDLFAT - dichiarazione
-
02CDLFATDOC - documenti emessi/ricevuti
-
02CDLFATEXT - filtri estrazione dati contabili
-
02CDLFATPREVIEW - work file per la preview (pur
essendo un file di lavoro, la sua label è FISSA poichè la comunicazione FAT è
possibile in una sola istanza (c02cdlfatt00), quindi non ci sono problemi di conflitto)
-
02CDLLOG - log eventi
-
02PAR - parametri
Programmi
principali
-
c02cadiwprgetdocinfo.cbl
-
c02cdlfatfind.cbl - ricerca documento
all'interno del file
02CDLFATDOC
-
c02cdlfatshowinfo.cbl - visualizza il risultato
dell'operazione "getdocinfo" sui
documenti
-
c02cdlfatt00.cbl - gestione
dichiarazione
-
c02cdlfatt10.cbl - travaso dati da PNI a
02CDLFATDOC
-
c02cdlfatt10_020000.cbl
(*)
-
c02cdlfatt20.cbl - anteprima
comunicazione
-
c02cdlfatt30.cbl - dettaglio singolo
documento
-
c02cdlfatt40.cbl - dettaglio
comunicazione
-
c02cdlfatt50.cbl -
accettazione/protocollazione/scarto per cadiw "solo
XML"
-
c02cdlfattsend.cbl - selezione categorie fatture
da trasmettere
(solo cadiw e cadiw
xmlonly)
-
c02cdllogshowfile.cbl
-
c02cdlxmlsend.cbl - spedizione XML via web
service
-
c02part10.cbl
-
c03fepaprgetdocinfo010100.cbl
-
c03fepawebshowinfo.cbl
-
g2cadilu.cbl
-
g2cadilufattxt020000.cbl (*) - produce il file TXT
in base al contenuto delle aree
del
XML
-
g2cadilufatxml020000.cbl (*) - produce il
file
XML
-
g2cdlfatxmlerror.cbl - segnalazione errore
validazione
XML
-
g2fepa.cbl
-
r_cadiw.cbl
-
r_pnito02cdlfatdoc.cbl - estrazione dati da prima
nota: passaggio da un record PNI a un record
02cdlfatdoc
-
rp_02cdlfatdoc.cbl
(*) 020000 è il numero di versione dei programmi
versionati. Tale numero può cambiare nelle future
versioni.
Travaso dati da PNI a 02CDLFATDOC (c02cdlfatt10 + r_pnito02cdlfatdoc)
E' possibile avere nel range di estrazione da
PNT:
Se vengono indicati sia un range di date che di
progressivi PNT, la scansione del PNT privilegia il progressivo (primariKey) :
se serve estrarre un range ridotto di PNT è pertanro consigliabile indicare
il range "progressivi" per ottenre un'estrazione più veloce.
Se viene
indicata una data "from" di inizio estrazione, si verifica quanto
segue:
-
la variabile di environment
G2_CADIW_FATMONTHSBEFORE
determina il numero di mesi che vengono sottratti alla data di inizio
estrazione
-
se non indicata nell'environment , il default è
zero
-
in presenza del modulo 44, a questo numero mesi
viene sommato
"rp_tbl44_GetMesiDilazione"
-
il numero mesi così ottenuto viene moltiplicato per
31: il numero giorni così ottenuto viene sottratto alla data di inizio
estrazione impostata
dall'utente
-
tale data serve per start PNT su key
pnt-data-registrazione
-
la data di
fine estrazione impostata dall'utente viene aumentata di 31
giorni
-
le IVE rp_tbliv_isCadiDaComunicare =
false non vengono
considerate
-
il castelletto
IVA viene compattato per imposta, natura, perc.detraibilità, deducibilità,
esigibilità
Se si sceglie "sostituisci i record esistenti" vengono
sovrascritti solo i record in stato "new" (da presentare), ma viene
comunque conservato l'eventuale flag "non spedire" inserito a mano
Il rateo di estrazione
è di 70~80k PNT/ora. Migliora parecchio se
NON si sceglie l'opzione "mostra elenco fature scartate"
L'estrazione esporta i PNT con:
Logica di "rp_pni_isCadi":
-
fino al 2018 compreso (spesometro) cliente o
fornitore "escluso da spesometro" :scartato
-
dal 2019 compreso in avanti
(esterometro): cliente o fornitore deve essere
"Incluso in Esterometro" : se no, scartato
-
calcola la data "di competenza" (rp_pnt_getCADIDate):
se fuori dal range richiesto, scartato
-
se l'attività della causale contabile è "escludi
spesometro", scartato
-
fattura intestata a mastro Geppetto:
scartato
-
se tutti i codici IVA presenti nel castelletto della
fattura sono "rp_tbliv_isCadiDaComunicare" = false, scartato
-
se il registro della causale è "corrispettivi"
o "ventilazione" (rp_tblco_hasregistrocorr, rp_tblco_hasRegistroVent), scartato
ATTENZIONE
- se il record PNI:
-
è del tipo "rp_pni_isCadi" =
false
-
è già presente in 02CDLFATDOC
-
è in stato new
e non è un "rettificatore"
viene rimosso dal 02CDLFATDOC. Questa
operazione serve a rimuovere da 02CDLFATDOC quei record ivi presenti che non
hanno più titolo per starci: ad esempio
le fatture di un cliente che
è diventato "escluso da spesometro"
Flusso CADIW
documento in stato "da presentare"
- nessuna modifica ammessa tranne il "Tipo documento" e
le colonne "Detraibile" e "Deducibile" del castelletto IVA; a partire dal
rilascio del tk
7627 è possibile modificare
anche "Tipo documento", "Natura" e "Esigibilità"
- il check-box "blocca" è sempre disponibile
trasmissione documenti
- esegue trasmissione, firma e conferma at once
- se ambetrè le operazioni sono OK:
- i documenti diventano cadiwSent (stato "CS - spedito
a digital hub")
- i documenti ricevono la internalSendID, idFIle e position
- se una qualsiasi delle tre operazioni è KO:
- i documenti vengono riportati allo stato iniziale con call rp_02cdlfatdoc_actResetSendID
interroga stato
interrogando lo stato non succede nulla di
particolarmente eccitante, fino a quando non arriva uno stato "definitivo": (AC)
Accettato o (SF) Scartato.
Una volta ottenuto un AC o un
SF, l'utente (non si fa in automatico) deve visitare la pagina di esito
(Informazioni 02cdlfatshowinfo) per ottenere il protocollo
.
Il programma c02cdlfatshowinfo
, paragrafo user-data-access, scrive il protocollo
su 02cdllog (02cdllog-FatAdEProtocol), e inoltre:
-
caso di
accettazione
:
-
spedizione o rettifica: non fa nulla (basta la
registrazione del protocollo in 02cdllog-FatAdEProtocol, e diventa
possibile eseguire rettifiche e
annulli
-
annullo singolo documento: il documento
ritorna allo stato iniziale
(rp_02cdlfatdoc_actResetSendID)
-
annullo totale di una spedizione: i documenti di
quella spedizione (protocollo Ade) ritornano allo stato iniziale
(rp_02cdlfatdoc_actResetProtok)
-
caso di scarto:
-
spedizione o rettifica: i documenti di quella spedizione ritornano
allo stato precedente (rp_02cdlfatdoc_actResetSendID)
-
annullo singolo documento, annullo totale di una spedizione:
non fa nulla
Flusso CADIW "solo XML"
documento in stato "da presentare"
- nessuna modifica ammessa tranne il "Tipo documento" e
le colonne "Detraibile" e "Deducibile" del castelletto IVA; a partire dal
rilascio del tk
7627 è
possibile modificare anche "Tipo documento", "Natura" e "Esigibilità"
- il check-box "blocca" è sempre disponibile
trasmissione documenti
bottone "accettazione/scarto" (call
02cdlfatt50): viene presentata l'interfaccia che richiede il protocollo
(obbligatorio) e propone i bottoni di accettazioen e scarto
-
caso di
accettazione
:
-
spedizione o rettifica: non fa nulla (basta la
registrazione del protocollo in 02cdllog-FatAdEProtocol, e diventa
possibile eseguire rettifiche e
annulli
-
annullo singolo documento: il documento
ritorna allo stato iniziale
(rp_02cdlfatdoc_actResetSendID)
-
annullo totale di una spedizione: i documenti di
quella spedizione (protocollo Ade) ritornano allo stato iniziale
(rp_02cdlfatdoc_actResetProtok)
-
caso di scarto:
-
spedizione o rettifica: i documenti di quella spedizione ritornano
allo stato precedente (rp_02cdlfatdoc_actResetSendID)
-
annullo singolo documento, annullo totale di una spedizione:
non fa nulla
Flusso CADI (aka
"TXT")
documento in stato "da presentare"
- nessuna modifica ammessa tranne
le colonne "Detraibile" e "Deducibile" del castelletto IVA; a partire dal
rilascio del tk
7627 è possibile modificare
anche "Tipo documento", "Natura" e "Esigibilità"
- il check-box "blocca" è sempre disponibile
trasmissione documenti
ricezione protocollo AdE
Preparazione XML o TXT, preview
c02cdlfatt00 call c02cdlfatt10_020000
c02cdlfatt10_020000 presenta gli entry
points:
-
c02cdlfatt10_020000_send: prepara o trasmette la dichiarazione
-
c02cdlfatt10_020000_preview: prepara la preview sul file 02CDLFATPREVIEW
-
c02cdlfatt10_020000_ann: esegue l'annullo totale di una trasmissione
-
c02cdlfatt10_020000_dementia:
esegue una patch del gruppo dati "dementia" per i blocchi indirizzo del tipo "sede"
-
c02cdlfatt10_020000_dementiaSO:
esegue una patch del gruppo dati "dementia" per i blocchi indirizzo del tipo "stabile organizzazione"
Se occorre modulare le dimensioni del XML, sono disponibili le variabili config:
durante questi meravigliosi accadimenti, il programma
r_cadiw detiene al suo interno una
variabile che determina il tipo di processo in atto:
-
send emessi (k-fatSendType-documentsE)
-
send ricevuti (k-fatSendType-documentsR)
-
rettifica emesso (k-fatSendType-rettificaE)
-
rettifica ricevuto (k-fatSendType-rettificaR)
-
annullo emesso (k-fatSendType-annulloE)
-
annullo ricevuto (k-fatSendType-annulloR)
-
annullo totale (k-fatSendType-annulloTotale)
-
preparazione txt (k-fatSendType-txt)
-
preparazione preview (k-fatSendType-preview)
la variabile di stato si imposta e si legge con le call
"r_cadiw_setSendType" e "r_cadiw_getSendType". I valori costanti k-fatSendType per questi stati sono definiti nella copy g2cadlu.def.
Nei processi di preparazione e di preview i documenti vengono ordinati per
-
Emesso/Ricevuto
-
Cliente/fornitore
-
Data competenza
Il programmatore può impostare a TRUE la variabile
hasDebug in c02cdlfatt10_020000 per ottenere un file di testo
(02cdlfatt10_debug.txt) nella cartella arcditta che permette di
verificare le rotture di controllo eseguite dal programma durante l'esame
dei documenti
Il TXT viene creato da
g2cadilufattxt020000 come post processo della compilazione del
tracciato XML flat. In caso di correzione, pertanto, è sufficiente modificare la
compilazione del XML flat.
-
g2cadilufattxt_open
-
g2cadilufattxt_close
-
g2cadilufattxt_cessCommDTE
-
g2cadilufattxt_cedPresDTR
-
g2cadilufattxt_documentDTE
-
g2cadilufattxt_documentDTR
rp_02cdlfatdoc actions
Il programma rp_02cdlfatdoc espone una serie di azioni che
si possono eseguire su 02cdlfatdoc.
-
rp_02cdlfatdoc_actSetSendID using
lk-internalSendID lk-isXMLOnly
: esegue rp_02cdlfatdoc_actSend per ogni
documento con la internalSendID data
-
CADIW: usata
in g2cadilu per confirm OK
-
CADIW solo
XML: usata in c02cdlfatt10_020000, prepare-02cdllog-NOCADIW
-
rp_02cdlfatdoc_actSend using
lk-02cdlfatdoc-key :
imposta 02cdlfatdoc-status-cadiwSent per la 02cdlfatdoc-key data
-
rp_02cdlfatdoc_actResetSendID using
lk-internalSendID : esegue rp_02cdlfatdoc_actReset per ogni documento
con la internalSendID data (usata in g2cadilu per fallimento di send
o firma o confirm,
che sono gestite come un'unica operazione)
-
rp_02cdlfatdoc_actResetProtok using
lk-02cdlfat-key lk-AdEProtocol : esegue rp_02cdlfatdoc_actReset per tutti
documenti della dichiarazione lk-02cdlfat-key col protocollo AdE lk-AdEProtocol (usato da
c02cdlfatshowinfo (CADIW)
e da c02cdlfatt50 (CADIW solo XML))
-
rp_02cdlfatdoc_actReset using
lk-02cdlfatdoc-key :
riporta il documento 02cdlfatdoc-key allo stato iniziale
-
rp_02cdlfatdoc_actResetDo :
imposta le
colonne
del record 02cdlfatdoc allo stato iniziale:
-
record "rettificato" viene
de-rettificato (perde
il
child e lo stato di "rettificato")
-
record
"normale" ritorna
allo
stato iniziale, perdendo tutti i riferimenti
-
rp_02cdlfatdoc_actRstOrgSendID
using lk-internalSendID : esegue
rp_02cdlfatdoc_actReset per
ogni documento
con
la originalSendID data (usata da rp_02cdlfatdoc_actResetProtok)