Domanda

Voglio creare applicazioni Web (STH come Dashboard) che verrà integrata con NAV 2013. (Prendi il modulo di dati NAV, visualizzalo ai clienti e può anche aggiornare o inserire dati).

In NAV ho fatto tutte le tabelle e le pagine che hanno specificato tutte le condizioni e le funzioni sui campi.

Quelle condizioni sono molto utili quando si desidera inserire alcuni dati dalla pagina in NAV (ad esempio: dopo il riempimento del numero cliente, la pagina mostra automaticamente progetti per questo cliente - che cosa è molto utile)

Tutto funziona bene in Navision quando lavori alle pagine, ma nella mia applicazione in cui uso i servizi Web per comunicare con il NAV ho molti problemi che quelle condizioni specificate su tabelle.

La mia domanda è, è meglio preparare tabelle "Blank" in NAV e creare la logica completa nella mia applicazione Web (ASP.NET) o utilizzare sulla logica specificata in NAV?

A me:

    .
  • Le tabelle non dovrebbero avere alcuna logica eccetto alcuni logici di base sulla numerazione dei tasti
  • Tutte le condizioni progettate per aiutare gli utenti di riempire i dati devono essere eseguiti separatamente (Logica separata nell'app Web e nella logica separata nelle pagine in NAV)
È stato utile?

Soluzione

Sulla base dei commenti direi di andare per la soluzione più semplice:

    .
  • Creare un set di tabelle (consente alle tabelle di integrazione) che non avranno alcuna logica su di loro e non sarà correlata alle entità NAV (come attività o progetti o qualsiasi tabella che hai nella tua base). Questa sarà solo tabelle per la comunicazione.
  • Crea il dispatcher CodeUnit che porterà la maggior parte della logica della comunicazione e della trasformazione dei dati.
  • Pubblica il dispatcher CodeUnit e le pagine in base alle tabelle di integrazione.
  • Utilizzare le pagine pubblicate per spingere i messaggi su Nav e leggere i dati da NAV.
  • Dopo ogni metodo di dispatcher della chiamata di chiamata di messaggi spinti per fare tutte le cose che desideri (come Inserisci e aggiorna i record su NAV)
  • Utilizzare Odata, pagine o funzioni codeUnit Tornando XML per leggere tutti i dati necessari per visualizzare sui moduli Web. Il mio consiglio non è aggiornare / inserire direttamente le tabelle native NAV (tramite pagine), solo attraverso tabelle di integrazione e dispatcher. Sarà più facile gestire gli errori in questo caso.
  • Elimina periodicamente i record vecchi o lavorati dalle tabelle di integrazione.

Ciò consentirà di conservare la maggior parte della logica aziendale sul lato dell'app Web ma conserva anche la possibilità di mettere una logica generale (come restrizioni ed ecc.) A NAV (tramite dispatcher e trigger della tabella), in quanto il dispatcher ti restituisce sempre Un messaggio meteo del risultato operativo inviato dall'applicazione Web è stata elaborata correttamente o meno.

Sii consapevole, ci possono essere insidie.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top