Utilizzo delle proprietà SourceExpr e DestExpr
Nell’ultima sezione abbiamo discusso come aggiungere istanze di tabella a una mapping. In questa sezione vedremo come accedere ai dati dei campi di una tabella. E come utilizzare valori e filtri costanti.
Il modulo consente di leggere i dati dai campi delle tabelle, quando esiste una proprietà SourceExpr (espressione sorgente). La SourceExpr può essere utilizzata anche per specificare valori costanti o per chiamare funzioni. Questa proprietà si trova sulle righe dei dati delle mapping di tipo formato NAV e sulle righe dei dati delle mappature di esportazione. Ma questa proprietà è disponibile anche per i parametri delle funzioni personalizzate e per estendere i messaggi di errore. Esistono altre opzioni, di cui parleremo più avanti in questa sezione.
Per scrivere i dati nei campi della tabella esiste un’altra proprietà chiamata DestExpr (espressione di destinazione). Questa proprietà consente anche di verificare i dati rispetto a un filtro specificato, invece di memorizzarli. Tra poco entreremo nei dettagli. È importante sapere che è possibile scrivere dati in qualsiasi campo di un’istanza di tabella, anche se la Mode della tabella è impostata su Read. La scrittura su una tabella in modalità di lettura richiama la logica di validazione di NAV, ma non modifica il record. Nelle nostre tabelle tampone è possibile utilizzare questa funzione per memorizzare un valore per un determinato periodo di tempo nella mapping. Per altre tabelle dipende dalla logica di convalida, se è sicuro usare una tabella in modalità di lettura per memorizzare temporaneamente i dati.
La proprietà SourceExpr
Il tipo di sorgente specifica il tipo di dati che si desidera leggere. I valori ammessi sono:
Un valore costante inserito nella mapping.
Un campo di un’istanza di tabella, che è una delle linee di mapping genitore di questa linea di mapping. Se si vuole leggere un campo somma, occorre essere al di fuori dell’istanza della tabella, ma al di sotto di essa.
Si desidera leggere i dati da una funzione integrata o personalizzata.
Questa proprietà è stata aggiunta in Anvaigo EDI Connect 4.00.
Questa proprietà è disponibile solo se SrcType è impostato su Const. Questa proprietà specifica il tipo di dati del valore costante. È necessario selezionare il tipo di dati, per evitare errori dovuti ai diversi locales utilizzati durante la configurazione e l’esecuzione. Nelle versioni precedenti bisognava assicurarsi che il locale durante l’impostazione fosse lo stesso di quello in fase di esecuzione, per evitare che, ad esempio, i numeri venissero interpretati in modo diverso.
È possibile scegliere tra i seguenti tipi di dati:
Un valore di testo costante.
Un testo che può contenere caratteri speciali, come il ritorno a capo<CR>. È disponibile un elenco di tutti i caratteri speciali supportati.
Un valore booleano, come True o False.
Un valore di opzione. È necessario utilizzare il valore intero dell’opzione nel database.
Un valore intero (32 bit).
Un valore decimale.
Un valore intero grande (64 bit).
Il valore contiene una durata.
Il valore è un valore di codice dinamico (solo maiuscolo, non sono ammessi tutti i caratteri).
Rappresenta un valore di data.
Rappresenta un valore temporale.
Rappresenta un valore combinato di data e ora.
Una formula di datazione.
Un ID univoco globale (GUID).
Questa proprietà è disponibile solo se SrcType è impostato su Const. Rappresenta il valore costante che si desidera utilizzare.
Questa proprietà è disponibile solo se SrcType è impostato su Function. È possibile utilizzare AssistEdit per specificare l’oggetto e la funzione. Se la funzione richiede dei parametri, anche questi saranno SourceExpr, ma non supporta la nidificazione delle funzioni.
Questa proprietà è disponibile solo se SrcType è impostato su Field. Selezionare l’istanza della tabella da cui leggere i dati. La tabella deve essere uno dei genitori della riga mapping corrente, per leggere i dati di un record. Se si desidera leggere i campi somma, è necessario essere sotto l’istanza della tabella, ma non un suo figlio.
Questa proprietà è disponibile solo se SrcType è impostato su Field. Seleziona la colonna/il campo da cui si desidera leggere.
È possibile specificare una traduzione del valore, per cambiare il valore selezionato in un valore di destinazione diverso. È presente una sezione su come impostare le traduzioni dei valori.
Il codice della traduzione del valore da utilizzare.
Cosa dovrebbe accadere se il valore non viene trovato nella traduzione del valore.
Il modulo non fa nulla se manca la traduzione. Utilizza il valore originale senza traduzione.
Emette un valore vuoto.
Aggiungere una voce del registro informazioni e utilizzare il valore originale.
Aggiungere una voce di registro di avviso e utilizzare il valore originale.
Interrompere immediatamente la mapping e registrare un errore.
Creare una voce di registro degli errori e non terminare la mapping, ma continuare l’elaborazione per trovare anche altri errori.
Questa proprietà è nascosta per impostazione predefinita. È possibile specificare un elenco di valori consentiti e creare errori se si tenta di esportare un altro valore.
L’elenco dei valori consentiti. È possibile utilizzare AssistEdit o inserire i termini separati da virgola.
Cosa dovrebbe accadere se il valore di origine non è presente nell’elenco dei valori consentiti.
Non utilizzare la convalida avanzata e ignorare i valori dell’elenco.
Creare una voce del registro informazioni.
Creare una voce di registro di avviso.
Interrompere immediatamente la mapping con un messaggio di errore.
Restituisce un errore sull’esecuzione mapping, ma continua a elaborare la mapping per trovare anche altri errori.
La proprietà DestExpr
Selezionare il target di un valore. Sono validi i seguenti valori:
Vuoto significa che il valore viene ignorato. Si può usare per saltare i campi nelle importazioni o, ad esempio, per ignorare il valore di ritorno di una funzione.
Il valore deve essere controllato con un filtro Dynamics. Se il filtro non corrisponde, il valore non viene accettato. A seconda del convertitore, ciò si tradurrà in un messaggio di errore o nel salto di una sezione della mapping. Per ulteriori informazioni sull’uso dei filtri per i convertitori specifici, consultare la documentazione di ciascun convertitore.
Il valore deve essere scritto in un campo di un’istanza di tabella in questa mapping.
Questa proprietà è disponibile solo se DestType è impostato su Filter. Il filtro Dynamics con cui viene controllato il valore. Il valore sarà interpretato come un valore di testo per l’applicazione del filtro. Un esempio tipico è “BY|IV”, per consentire i valori “BY” e “IV”.
Questa proprietà è disponibile solo se DestType è impostato su Field. Seleziona l’istanza della tabella in cui scrivere il valore. L’istanza della tabella deve essere uno dei genitori della riga mapping corrente.
Questa proprietà è disponibile solo se DestType è impostato su Field. Il nome del campo/colonna del campo di destinazione nella tabella.
Questa proprietà è disponibile solo se DestType è impostato su Field. Questa proprietà è disponibile solo come proprietà avanzata. Impostando questa proprietà a False, si salta l’attivazione della convalida Microsoft Dynamics NAV 2009R2 Classic per quel campo.
Siate molto cauti quando usate False. È necessario disattivare la convalida solo dopo aver consultato un programmatore. Non si dovrebbe disattivare su nessuna delle tabelle Dynamics standard, a meno che non si sappia davvero cosa si sta facendo. È possibile rendere inutilizzabile Microsoft Dynamics NAV 2009R2 Classic, saltando il codice di convalida.
Questa proprietà è disponibile solo se DestType è impostato su Field e si utilizza il convertitore CHECK / NAV / PREPARE / PROCESS. Per ulteriori informazioni, consultare la pagina del convertitore.
