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