[Gelöst] [CC] - Webservice - XMLPort - Temporäre Daten

16. Oktober 2012 14:44

Hi,

über eine veröffentliche Codeunit geben wir über einen XMLPort AUfträge in Navision rein, der XML Port hat den Aufbau hier, im XMLPort befinden sich zwei Elemente vom Quelltyp Table (Sales Header und Sales Line) , die Temporary Property der Elemente ist True.

Im XMLPort gibt es noch 2 Globale Variablen für SalesHeader und SalesLine, denen werden die Temporären Daten zugewiesen und ggf. noch durch irgendwelche Methoden modifiziert und dann letztendlich in der "Live" Table gespeichert.

Funktioniert alles wunderbar....

Das ganze sollte erweitert werden um eine Zusatzberechnung, welche ich wie folgt umgesetzt habe:

Auftrag wird über die XMLPORT / Codeunit importiert/erstellt und gespeichert, wie oben beschrieben, mit der Auftragsnummer sende ich eine Anfrage an einen weiteren Webservice, welcher die Verkaufszeilen filtert und gruppiert, mein Zeugs berechnet und mir die entsprechenden Werte zurückgibt, danach den Auftrag wieder löscht.

Das ist nicht gewünscht, damit nicht zwischendurch Aufträge auftauchen und verschwinden, kann ich auch verstehen, nun soll ich mir etwas ausdenken , das genau das gleiche macht, aber "Temporär", sprich der Verkaufsauftrag darf/soll noch nicht gespeichert werden, ohne Auftragsnummer und Verkaufszeilen kann ich nichts anfangen...

Habe nun schon das Web auf den Kopf gestellt um Infos zu finden welche es mir ermöglichen Temporäre Daten zu bearbeiten und vor dem Speichern wieder zurück an den Web Client senden, aber irgendwie vergebens :(

Also ich stelle mir das wie folgt vor, in meiner Codeunit die Function "MeineFunktion":
Code:
SalesOrderImport.IMPORT; // SalesOrderImport = XMLPort, importiert ein Auftrag

BerechneDiesUndDas();

ExportEregebnis.SETTABLEVIEW(ergebnisRecord);


Hat jemand eine Idee wie ich das lösen kann? Mir fällt gerade nichts weiter ein als die Table SalesLines zu "clonen" , und die Sachen dorthin zu importieren, und nach der Berechnung wieder zu löschen, also quasi wie oben im "Live" Beispiel. Habe da aber ein Ungutes Gefühl dabei (warum die SalesLine Table Clonen wenns doch eine gibt?...)

Habe noch folgende MSDN Infos gefunden: klick, das beschreibt glaube ich genau das was ich auch schon mache?

Bin für jeden Tipp Dankbar.
Gruß
Peter
Zuletzt geändert von elTorito am 19. Oktober 2012 18:13, insgesamt 1-mal geändert.

Re: [CC] - Webservice - XMLPort - Temporäre Daten

17. Oktober 2012 10:14

Ich glaube das geht evtl. gar nicht, weil du temporäre Sales Lines hast, die auf einen Auftragskopf in deren Triggern zugreifen, der im System nicht-temporär vorliegen muss. Oder hat sich da was in NAV 2009 geändert?

Re: [CC] - Webservice - XMLPort - Temporäre Daten

19. Oktober 2012 18:13

Hier meine Lösung