CHANGECOMPANY

Salve, ho un problema riguardante la possibilità di creare e registrare un ordine in una società diversa da quella in cui si è in Navision. Da una ricerca sul forum internazionale ho visto che il problema è stato affrontato più volte ma, sostanzialmente, senza successo. Il problema principale è legato all’impossibilità di modificare la società di tutti i recordset utilizzati nella codeunit 80 con un’unica istruzione. Non vorrei arrendermi. Avete qualche suggerimento?

Con questa impresa potresti entrare irrimediabilmente in una valle di lacrime oppure conquistare l’Olimpo dei programmatori C/AL… Personalmente sono ottimista e penso alla seconda ipotesi, a naso dovresti tracciare il codice e individuare tutte le tabelle, codeunit, form interessate (debugger o code coverage), dopodiché usare una codeunit single istance in cui setti il valore della company destinataria e prenderti questo valore in ogni punto dell’elaborazione e in qui punti effetturare un changecompany sui record interessati. Il che è un vero suicidio… In bocca al lupo.

Ciao Clembo, I’m not sure if I understood your problem correctly. Do you want to fill in a sales order in one company, create the posted shipment and the posted invoice in the same company and print out the documents from this company. Then you want to have the ledger entries (item, value, G/L, VAT and Customer Ledger Entries in an other company or database? If this is the problem you want to solve, please let me know. (Sono sicuro che non è un suicido…) a presto Karl

Oh yes, if the problem is the one that Karl describes, then i agree with Karl, non è un suicidio. I’ve already done it, a pair of years ago, otherwise there’s the standard intracompany feature now available in Navision 4.0. But it’s a little different than filling a document in one company and then posting it to another company without switching company in the client. I mean, G/L accounts, setups and other thing may be different between the 2 companies… Clembo, tell us more! [^]

Il problema è proprio questo. La mia esigenza è quella (ad esempio) di creare un ordine di vendita in una società diversa da quella in cui il client è e, successivamente, registrarlo. I problemi iniziano già nel momento in cui compilo l’ordine. Infatti, inserendo i dati con un VALIDATE(TRUE) che scatena i diversi trigger dei campi della tabella, richiamo diverse istruzioni che agiscono su record diversi (scusate il gioco di parole). Per non parlare di quello che accade se penso di richiamare la CODEUNIT 80 per registrare l’ordine. Non credo che la mole di lavoro (ammesso si riesca a farlo) sia accettabile.

Anch’io ho avuto la tua stessa identica esigenza. L’unica soluzione trovata è stata quella di inserire la sales header e la sales line e di creare una procedura di validate dell’ordine da lanciare nella nuova società. Naturalmente questa procedura non ti permette assolutamente di registrare l’ordine. Ciao Barbara

Beh, in realtà ho più o meno fatto la stessa cosa. Solo che nel mio caso la registrazione avviene in automatico aprendo la società in questione. Corrado Lembo