Guida analitica - Categorie → Mappatura XML

Versione Compatibile: Tutte

Data e numero revisione: 22/11/2023, v. 2

Motivazione revisione: Riscritto il capitolo


Tramite questa form è possibile definire la corrispondenza tra i campi di una determinata categoria di Business File e i campi xml di un documento elettronico




Importazione manuale

La seguente schermata è particolarmente utilizzata in fase di importazione manuale delle fatture elettroniche attive.

Nel tracciato ministeriale, non è previsto un Tag specifico che identifichi la Serie del documento, ma Numero e Serie sono integrati in un unico Tag <Numero> della sezione <DatiGeneraliDocumento>.

Per valorizzare correttamente in categoria gli attributi Serie documento e Numero documento, occorre indicare il formato del Tag <Numero> del file xml


Ecco alcuni esempi:


<Numero>200448</Numero> (non c'è la serie) la giusta configurazione è


<Numero>E-200448 </Numero> (Serie-Numero) la giusta configurazione è



Personalizzazione Tabella: FE_Campi_Import

Dovendo poter importare file XML generati dai più diversi programmi applicativi, ci si può imbattere in infiniti modi con cui il tag <Numero> viene formattato es.: Serie/Numero, Numero-Serie, Numero/Serie, ecc..

Per far fronte a questa esigenza, è possibile far personalizzare manualmente (da personale tecnico) la tabella sotto riportata per impostare il formato Serie/Numero presente nei file xml che si vogliono importare.



La tabella è FE_Campi_Import ed è contenuta all'interno del db di Business File


Logica di funzionamento:

ValTag = Valore letto nel file XML in base al parametro [XPathNavigator]

ValRet = Valore restituito


[Separatore] <> I AND [Separatore] <> F


ValRet=Split(Valtag)[Indiceseparatore] (Base 0)


Il programma esegue lo split di ValTag in n segmenti in base al valore di [Separatore] e seleziona il segmento in base al valore di [IndiceSeparatore]


Esempio: 

ValTag = AA#123#BB

Separatore = “#”

IndiceSeparatore=0  →      ValRet = AA

IndiceSeparatore=1  →      ValRet = 123

IndiceSeparatore=2  →      ValRet = BB


Separatore = “I” (Inizio)

LunghezzaCampo > 0 (lc): Il programma prende i primi lc caratteri di ValTag

LunghezzaCampo < 0 (lc): Il programma esclude i primi lc caratteri di ValTag


Esempio:

ValTag = AB1234

LunghezzaCampo = +2 →   ValRet = AB

LunghezzaCampo = -2 →   ValRet = 1234

LunghezzaCampo = 0  →   ValRet = AB1234


Separatore = “F” (Fine)

LunghezzaCampo > 0 (lc): Il programma prende gli ultimi lc caratteri di ValTag

LunghezzaCampo < 0 (lc): Il programma esclude gli ultimi lc caratteri di ValTag


Esempio:

ValTag = 1234AB

LunghezzaCampo = +2 →      ValRet = AB

LunghezzaCampo = -2 →      ValRet = 1234

LunghezzaCampo = 0  →      ValRet = 1234AB