Die DI-API von SAP Business One ignoriert den an die ManufacturerSerialNum-Eigenschaft von ServiceCalls.TemplateObject üC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Die DI-API von SAP Business One ignoriert den an die ManufacturerSerialNum-Eigenschaft von ServiceCalls.TemplateObject ü

Post by Anonymous »

Ich verwende die UFFI-Funktion des B1 Usability Package, um eine XML-Datei zu analysieren und Bestell- und Serviceabrufdokumente zu SAP Business One hinzuzufügen. Die Bestellungen und Serviceabrufe werden beide erstellt, ohne dass Fehler ausgegeben werden, aber der Wert, den ich an die Eigenschaft „Seriennummer des Herstellers“ des Serviceabrufs übergebe, wird im resultierenden Datensatz nicht angezeigt.
Dies ist der Codeabschnitt, der den Serviceabruf hinzufügt:

Code: Select all

        var servCall = B1BusinessObjects.ServiceCalls.TemplateObject;
servCall.CustomerCode = cardCode;
servCall.Subject = root.Element("RepairRequestProblem").Value;
servCall.ManufacturerSerialNum = root.Element("AssetSerial").Value;
//servCall.InternalSerialNum = root.Element("AssetSerial").Value;
servCall.CustomerRefNo = root.Element("RepairRequestName").Value;
servCall.Expenses.DocumentType = BoSvcEpxDocTypes.edt_PurchaseOrder;
servCall.Expenses.DocEntry = Convert.ToInt32(ExecuteQueryString("SELECT \"DocEntry\" FROM OPOR WHERE \"DocNum\" = " + intPO + " LIMIT 1"));
servCall.Add();
Ich habe überprüft, dass der Wert in root.Element("AssetSerial").Value einer gültigen und aktiven Ausrüstungskarte für den in servCall.CustomerCode angegebenen Geschäftspartner entspricht. Tatsächlich kann ich sogar in den Serviceaufruf gehen, den dieses Skript erstellt (am Frontend), und die Seriennummer in das Feld einfügen, das sie ausfüllen sollte, und die Aktualisierung funktioniert einwandfrei. Daher bin ich völlig ratlos, warum es nicht als Teil der Skriptausführung gespeichert wird.
Übersehe ich etwas Offensichtliches?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post