ANVEDI Events
Anveo EDI Connect offre un’unica codeunit per gli eventi di integrazione: Codeunit ANVEDI Events. È possibile reagire agli eventi di questa codeunit tramite la propria codeunit. Gli eventi sono supportati sia nella versione FOB che in quella Extension di Microsoft Dynamics.
Events
Gli Events disponibili sono:
- OnFunctionRegistration
- OnFunctionExecution
- OnJob
- OnAcceptTransmission
- OnBeforeList
- OnAfterList
- OnBeforeReceive
- OnAfterReceive
- OnBeforeArchive
- OnAfterArchive
- OnBeforeDelete
- OnAfterDelete
- OnBeforeSend
- OnComposeMessage
- OnAfterSend
- OnReplacePlaceholder
- OnError
- OnAfterProcess
OnFunctionRegistration
Questo evento viene richiamato quando il modulo cerca le funzioni personalizzate. È possibile definire le proprie funzioni utilizzando le funzionalità fornite dall’codeunit ANVEDI Function Register, che si trova sotto il nome di Register. L’codeunit fornisce due funzioni: RegisterFunction e AddParameter.
RegisterFunction si aspetta due parametri, il nome dell’oggetto e il nome della funzione della nuova funzione. I nomi possono essere scelti liberamente, ma non possono superare i 30 caratteri.
I primi 29 caratteri della combinazione di nome dell’oggetto e della funzione devono essere unici per poter specificare i parametri dalla mapping. Cercate di mantenere i nomi brevi.
Dopo aver registrato una funzione, è possibile richiamare AddParameter fino a 5 volte. AddParameter si aspetta un nome per il parametro della funzione. È possibile utilizzare più blocchi di RegisterFunction e AddParameter in un Event. Ma si consiglia di separare più funzioni da più ascoltatori di Event.
Dopo aver registrato la funzione, è necessario reagire alle chiamate di funzione. Ciò avviene tramite l’EventOnFunctionExecution descritto di seguito.
OnFunctionExecution
L’Event viene richiamato quando il modulo cerca un’implementazione di funzione personalizzata. A questo evento viene passata un’istanza dell’codeunit ANVEDI Function Call con il nome FunctionCall.
È necessario verificare se la FunctionCall corrisponde alla funzione personalizzata ed eseguire il codice solo se corrisponde. Ciò avviene chiamando la funzione Is() con gli stessi parametri con cui è stata chiamata RegisterFunction in OnFunctionRegistration. Se Is() restituisce true, è possibile accedere ai parametri, eseguire il codice personalizzato e restituire un valore.
L’codeunit ANVEDI Function Call fornisce le seguenti funzioni:
Restituisce se la chiamata di funzione corrisponde alla firma di funzione specificata.
È necessario chiamare questa funzione per mostrare al modulo che si è gestita la chiamata di funzione. È possibile passare il risultato di una funzione o utilizzare semplicemente true come risultato.
Recupera un parametro con il numero dato come testo. L’indice inizia con 1.
Recupera un parametro con il numero dato come numero intero. L’indice inizia con 1.
Recupera un parametro con il numero dato come booleano. L’indice inizia con 1.
Recupera un parametro con il numero dato come decimale. L’indice inizia con 1.
Recupera un parametro con il numero dato come data. L’indice inizia con 1.
Recupera un parametro con il numero dato come data e ora. L’indice inizia con 1.
Recupera un parametro con il numero dato come tempo. L’indice inizia con 1.
Recupera un parametro con il numero dato come EDIVariante. La funzione restituisce se il parametro può essere recuperato. L’indice inizia con 1.
OnJob
È possibile utilizzare l’codeunit del modulo per definire lavori personalizzati. L’codeunit consente di supportare l’uso di più parametri. Per ulteriori informazioni, consultare la documentazione del gestore dei lavori.
Un dizionario contenente i parametri passati al lavoro.
Se è stato elaborato un lavoro, è necessario impostare l’Event su gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnAcceptTransmission
Questa funzione viene chiamata per determinare se un file o un messaggio deve essere accettato o ignorato dal modulo. Il modulo non memorizza se una trasmissione è stata ignorata e richiama questa funzione ogni volta che vede una trasmissione. Il file non è ancora stato letto, quindi è possibile decidere solo in base ai metadati disponibili.
La trasmissione per la quale sono stati recuperati i metadati. Si noti che in questo momento non sono stati ricevuti dati e che il record non è ancora stato inserito nel database.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. Si dovrebbe anche restituire un valore che indichi se elaborare la trasmissione (impostare il valore di ritorno su true) o no (impostare su false). La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnBeforeList
Questo codice viene richiamato prima che il modulo cerchi nuovi dati. Questo può essere usato per inviare un comando o uno script esterno per ricevere i file, prima che il modulo cerchi nuovi dati.
Il canale di comunicazione che deve recuperare i dati.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnAfterList
Il canale di comunicazione che deve recuperare i dati.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
Questo codice viene richiamato dopo che il modulo ha cercato nuovi dati.
OnBeforeReceive
Questo Event viene richiamato prima che venga recuperata una trasmissione. Non è possibile interrompere l’elaborazione in questo momento. Se si vuole decidere se recuperare o meno un messaggio, utilizzare il metodo OnAcceptTransmission.
La trasmissione. I messaggi non sono ancora stati ricevuti.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnAfterReceive
Questo Event viene richiamato dopo la ricezione di una trasmissione.
La trasmissione dopo che è stata recuperata (è possibile accedere ai messaggi).
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnBeforeArchive
Questo Event viene richiamato prima dell’archiviazione di una trasmissione.
La trasmissione che verrà archiviata sulla postazione remota.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnAfterArchive
Questo Event viene richiamato dopo l’archiviazione di una trasmissione.
La trasmissione archiviata nella postazione remota.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnBeforeDelete
Questo Event viene richiamato prima dell’eliminazione di una trasmissione.
La trasmissione che verrà cancellata sulla postazione remota.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnAfterDelete
Questo Event viene richiamato dopo l’eliminazione di una trasmissione.
La trasmissione che è stata cancellata dalla posizione remota.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnBeforeSend
Questo Event viene richiamato prima dell’invio di una trasmissione.
La trasmissione che verrà inviata.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnComposeMessage
Questo Event viene richiamato quando viene composta una trasmissione.
La trasmissione che viene composta.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnAfterSend
Questo Event viene richiamato dopo l’invio di una trasmissione.
La trasmissione inviata.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnReplacePlaceholder
Questa funzione viene richiamata quando viene valutata una stringa che può contenere variabili definite dall’utente, come il nome di un file.
Il nome del segnaposto. Il modulo sta cercando un valore per sostituire questo segnaposto specifico. Se si vuole fornire un valore, occorre specificare il risultato e impostare l’evento da gestire nell’EventArgs.
Un record pre-filtrato dei documenti collegati. È possibile, ad esempio, utilizzare questa tabella per ottenere i documenti buffer contenuti nel file.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. Dovete anche fornire un valore. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
L’esempio seguente mostra come si possono restituire i dati dal documento collegato:
OnError
Questo Event viene richiamato quando si verifica un errore nella coda di elaborazione.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
OnAfterProcess
Questo Event viene richiamato dopo l’elaborazione di una voce nella tabella EDI Processing Queue. È necessario controllare lo stato della voce passata e reagire di conseguenza.
Se l’Event è stato elaborato, è necessario impostarlo come gestito. La descrizione della struttura ANVEDI Event Args si trova alla fine di questo capitolo.
ANVEDI Event Args
Alcuni Events utilizzano una struttura chiamata ANVEDI Event Args. Questa struttura consente di restituire valori e di comunicare al modulo se l’evento è stato gestito.
Le seguenti funzioni sono disponibili sugli ANVEDI Event Args dell’ANVEDI Event Args passati all’Event:
Se l’Event è stato gestito dal codice dell’utente.
Il valore di ritorno, se l’Event prevede un valore di ritorno.
Esempio
L’esempio seguente mostra come aggiungere la propria funzione personalizzata “MYOBJECT.MYFUNC”, che mostra un messaggio contenente il nome fornito seguito da ‘: ‘ e il valore. È possibile aggiungere tutte le funzioni di tutte le estensioni necessarie.
Dipendenze
Se si vuole reagire all’Event tramite AL, è necessario aggiungere una dipendenza al modulo Anveo EDI Connect.
I valori per l’Extension OnPremise sono:
Assicurarsi di sostituire x, y, z con il numero di versione corretto.
I valori per Business Central Online e Universal Code Extension sono:
Assicurarsi di sostituire x, y, z con il numero di versione corretto. Le versioni precedenti di BC chiamavano “id” “appId”.