2014-01-21 3 views
3

Я пытаюсь перечислить элементы корабля (UPS, FedEx и т. Д.) Через API. Как показано в Accounting > Shipping Items > List.Как перечислить методы доставки на NetSuite?

Документация по ItemFulfillment Record предполагает, что я использую операцию GetSelectValue перечислить shipMethod возможных значений (такой же как грузить детали).

Документация GetSelectValue (page 125) описывает запрос SOAP мне нужно использовать:

<env:Body> 
    <platformMsgs:getSelectValue> 
     <fieldName fieldType="sales_salesOrder_shipMethod"/> 
    </platformMsgs:getSelectValue> 
    </env:Body> 

Но это не работает, кажется, что FieldType неправильно.

<soapenv:Fault> 
     <faultcode>soapenv:Server.userException</faultcode> 
     <faultstring>org.xml.sax.SAXException: fieldType not found on {urn:core_2013_2.platform.webservices.netsuite.com}GetSelectValueFieldDescription</faultstring> 
     <detail> 
     <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">partners-java10005.bos.netledger.com</ns1:hostname> 
     </detail> 
    </soapenv:Fault> 

Где я могу найти правильный FieldType, чтобы получить список судов предметов?

ответ

0
<soap:Body> 
    <platformMsgs:getSelectValue> 
     <platformMsgs:fieldDescription> 
     <platformCore:recordType>salesOrder</platformCore:recordType> 
     <platformCore:field>shipMethod</platformCore:field> 
     </platformMsgs:fieldDescription> 
     <platformMsgs:pageIndex>0</platformMsgs:pageIndex> 
    </platformMsgs:getSelectValue> 
</soap:Body> 
+1

Но в чем проблема? Пожалуйста, не просто отправьте код без объяснения причин. – mjs

1

Благодаря этому сообщению я смог придумать решение C#.

var methods = new Hashtable(); 
var shipMethodFieldDesc = new GetSelectValueFieldDescription() 
{ 
    field = "shipmethod", 
    recordType = RecordType.estimate, 
    recordTypeSpecified = true 
}; 

// make connection.  

var result = connection.Service.getSelectValue(shipMethodFieldDesc, 0); 
if (result.status.isSuccess) 
{ 
    for (var i = 0; i < result.totalRecords; i++) 
    { 
     // cast to RecordRef 
     var itemRef = (RecordRef)result.baseRefList[i]; 

     methods.Add(itemRef.internalId, itemRef.name); 
    } 
} 
+0

Должна ли быть ссылка на другое сообщение здесь? – mjs

+0

Как и в этом посте. – uberianmaan

Смежные вопросы