- Code: Alles auswählen
{
"faultstring": "The record already exists.",
"faultcode": "a:Microsoft.Dynamics.Nav.Types.Exceptions.NavNCLRecordAlreadyExistsException",
"detail": {
"string": "The record already exists."
}
}
Anbei der Code, der gesendet wird:
- Code: Alles auswählen
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:grad="urn:microsoft-dynamics-schemas/page/gradingheader">
<soapenv:Header/>
<soapenv:Body>
<grad:Create>
<grad:GradingHeader>
</grad:GradingHeader>
</grad:Create>
</soapenv:Body>
</soapenv:Envelope>
Im Rahmen des Debuggings haben wir nun direkt als erste Zeile des "OnInsert"-Triggers der zugehörigen Tabelle einen Aufruf zum ERROR eingebaut, hierzu kommt es aber gar nicht, die Fehlermeldung oben erscheint.
Der Fehler muss also - soweit ich es sehe - bereits vorher ausgelöst werden. Hier bleibt dann eigentlich nur die Page "gradingheader" an sich, doch diese beinhaltet keinen weiteren Code.
Dennoch haben wir auch hier rumprobiert, beim "OnNewRecord" wird ein ERROR via Webservice dargestellt, bis hierhin scheint es also zu klappen. Will man stattdessen einen ERROR beim "OnInsertRecord" der Page ausgeben gelangt man wieder zum obigen Fehler. Hat jemand eine Idee woran sowas liegen kann?
Was läuft zwischen dem OnNewRecord der Page und dem "OnInsert"-Trigger der Tabelle?
Im Normalfall wird im OnInsert-Trigger die Auftragsnummer via Nummernserie vergeben - hierzu kommt es aber gar nicht erst.
Kurioserweise funktioniert derselbe Code im Testsystem weiterhin.
GrĂĽĂźe