Posting Fatture

Sto provando a gestire l’importazione di fatture in Navision. Ho creato du tabelle in cui metto i dati di Importazione: -Import Sales Header (50000) -Import Sales Line (50001) Poi eseguo un loop di importazione creando i record nelle seguenti: -Sales Header (36) -Sales Line (37) Ora volevo fare il posting in automatico quindi credo di dover usare la CodeUnit 80 (Sales-Post) passandogli il record Sales Header (36). E’ corretto? Ho visto che questa code unit visualizza una dialog di post con progessivo è un problema se io nella nela mia codeunit volessi visualizzarne uno per lo stato dell’importazione? C’è una documentazione in cui vedere le tabelle e le codeunit coivolte durante i vari posting? Grazie Ciao Ermanno

quote:


Originally posted by ErmannoG
Sto provando a gestire l’importazione di fatture in Navision. credo di dover usare la CodeUnit 80 (Sales-Post) passandogli il record Sales Header (36). E’ corretto?


Si’.

quote:


Ho visto che questa code unit visualizza una dialog di post con progessivo è un problema se io nella nela mia codeunit volessi visualizzarne uno per lo stato dell’importazione?


Non credo che ci siano problemi. Deve definire una dialog box nel dataport, aggiornarla nei vari trigger OnAfterImportRecord e poi chiuderla prima di lanciare la codeunit.

quote:


C’è una documentazione in cui vedere le tabelle e le codeunit coivolte durante i vari posting?


Uh, uh … NA Developer’s Toolkit oppure il debug. [:D] Anna

Per vedere le codeunit richiamate nel processo basta attivare il Code Coverage prima di un posting. Ma non farlo durante l’importazione altrimenti di dura una vita. Fallo per una fattura così vedi. Comunque per la registrazione di una fattura, prima di richiamare la codeunit 80, devi impostare a TRUE i campi Ship e Invoice. Se metti a TRUE Ship, ti esegue la spedizione, se metti a TRUE invoice ti registra la fattura. Ciaoooooooooooo Marco

Grazie a entrambi per i consigli. Marco per quanto riguarda i campi Ship e Invoice:


Comunque per la registrazione di una fattura, prima di richiamare la codeunit 80, devi impostare a TRUE i campi Ship e Invoice. Se metti a TRUE Ship, ti esegue la spedizione, se metti a TRUE invoice ti registra la fattura.


Io non li avevo impostati (mi riferisco al record della tabella Sales Header la 36 fields 57 e 58) perchè analizzando il codice della CodeUnit 80 mi sembrava che venissero automaticamente impostati in base al “Document Type”: CASE “Document Type” OF “Document Type”::Order: Receive := FALSE; “Document Type”::Invoice: BEGIN Ship := TRUE; Invoice := TRUE; Receive := FALSE; END; “Document Type”::“Return Order”: Ship := FALSE; “Document Type”::“Credit Memo”: BEGIN Ship := FALSE; Invoice := TRUE; Receive := TRUE; END; END; e devo dire che i record nella tabelle Sales Shipment Header (110), Sales Shipment Line (111), Sales Invoice Header (112) e Sales Invoice Line (113) me li sono ritrovati. Ma sicuramente questa mia malefatta avrà avuto qualche altra ritorsione di cui non mi sono accorto vero? Ciao Ermanno

Dal mio punto di vista, il tuo procedimento è corretto in toto, come già hanno detto Anna e Marco (e vai con Lucio Dalla!). Però, ad una seconda occhiata, dovresti porti qualche domanda se hai necessità di gestire informazioni non di default sulle fatture, tipo dimensioni o altro. Mi spiego, nel processo di importazione dei campi nelle 2 tabelle, vengono impostate le condizioni che derivano dal codice di validazione (che chiaramente tu avrai richiamato nel dataport o a parte). Eventuali informazioni extra, come ad esempio l’aggiunta sulla testata o sulla riga di una dimensione non di default, vanno gestite a parte.

Se hai notato nel caso delle fatture non hai problemi perché il codice della 80 imposta i campi a TRUE automaticamente, ma nel caso degli ordini non è così (i campi sono impostati a TRUE nella 81 a seguito della risposta dell’utente alla domanda su cosa vuole registrare). Quindi visto che tu importavi fatture hai fatto tutto correttamente. Ciao Marco

Ciao Marco grazie per il chiarimento. PS Oggi ho passato Programming. Ciao Ermanno

quote:


Originally posted by ErmannoG
Ciao Marco PS Oggi ho passato Programming.


Non avevo dubbi… Complimenti Marco