ich bin da auf ein Problem im Umgang mit den NAV 2009 Webservices gestossen und weiĂź im Moment nicht mehr so recht weiter.
Situation:
Ich habe eine NAV 2009 Seite als Webservice freigegeben. Dabei handelt es sich um das "Istmeldungs Buchungsblatt" (oder auch Output Journal, ID 99000823) aus dem Bereich Produktion/Auftragssteuerung.
Mittels der Create-Methode des Webservices möchte ich nun in einem C#-Programm eine Zeile neu anlegen. Das funktioniert auch soweit, nur erhalten nicht alle Felder der Zeile die Werte, die ich im Programm zugewiesen habe. Speziell die Felder "Fertig gestellte Menge" (Output_Quantity) und "Ausschussmenge" (Scrap_Quantity) erhalten immer den Wert 0, egal was ich ihnen im Programm als Wert zuweise.
Hier mal ein Codefragment zur Veranschaulichung:
- Code: Alles auswählen
Output_Journal_Service ojs = new Output_Journal_Service();
ojs.UseDefaultCredentials = true;
Output_Journal oj = new Output_Journal();
...
oj.Posting_Date = DateTime.Today; // Dieser Wert und die meisten anderen tauchen später korrekt im Buchungsblatt auf
...
oj.Output_Quantity = 42; // Egal was ich hier zuweise, im Buchungsblatt steht immer 0
oj.Scrap_Quantity = 2; // hier genauso
...
ojs.Create("STANDARD", ref oj);
Ich habe außerdem während des Programmlaufs mal den SQL Profiler mitlaufen lassen, um zu sehen was die NAV Webservices auf der Datenbank machen.
Im Wesentlichen führt der Webservice zunächst einen SQL Insert auf der Tabelle "Item Journal Line" durch, wobei alle Felder zunächst mit Standard-Werten belegt werden.
Dann folgt einSQL Update auf die selbe Zeile, erst hier werden dann die Werte gesetzt, die ich im Programm zugewiesen habe. Allerdings wiederum mit Ausnahme der oben aufgefĂĽhrten Felder. Die tauchen nur im Insert auf (dort werden sie mit Standard-Werten belegt), im Update fehlen sie hingegen ganz. Dadurch ist klar, warum die fraglichen Felder immer den Wert 0 erhalten, nur stellt sich mir weiterhin die Frage, wie bekomme ich diese Werte doch noch eingetragen?
Ist das ein bekannter Bug? Oder gibt es beim AusfĂĽhren der Create-Methode noch irgendwas zu beachten, was mir bisher entgangen ist?