Я использую функцию UFFI пакета юзабилити B1 для анализа XML-файла и добавления документов заказа на поставку и запроса на обслуживание в SAP Business One. И заказы на покупку, и вызовы обслуживания создаются без каких-либо ошибок, но значение, которое я передаю свойству «Серийный номер производителя» вызова обслуживания, не отображается в результирующей записи.
Это раздел кода, который добавляет вызов обслуживания:
Код: Выделить всё
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();
Я проверил, что значение в root.Element("AssetSerial").Value соответствует действительной и активной Карте оборудования для делового партнера, указанной в servCall.CustomerCode. Фактически, я даже могу зайти в сервисный вызов, который создает этот сценарий (на интерфейсе), и вставить серийный номер в поле, которое он должен был заполнить, и он прекрасно обновится. Поэтому я совершенно озадачен тем, почему он не сохраняет его при выполнении скрипта.
Я упускаю что-то очевидное?
Подробнее здесь:
https://stackoverflow.com/questions/797 ... eobject-is