Netsuite:SalesOrders的基本搜索返回其ItemList.Item[i].Item.Type始终丢失的订单
我正在使用SuiteTalk对销售订单执行基本搜索 我可以很好地获得订单,每个订单都有一个Netsuite:SalesOrders的基本搜索返回其ItemList.Item[i].Item.Type始终丢失的订单,netsuite,suitetalk,Netsuite,Suitetalk,我正在使用SuiteTalk对销售订单执行基本搜索 我可以很好地获得订单,每个订单都有一个itemList,但是itemList中的所有项目都缺少RecordRef type。它甚至不是空的。只是失踪 (这里显示它应该是对象的一部分) 我希望有些项目应该是type=RecordRef.kitItem。其他应为type=RecordRef.inventoryItem 如何确保所有项目都具有RecordRef类型? 我需要在我的令牌上启用一些权限吗 您的项目列表中的项目是类型为的对象,没有类型属性。
itemList
,但是itemList
中的所有项目都缺少RecordRef type
。它甚至不是空的。只是失踪
(这里显示它应该是对象的一部分)
我希望有些项目应该是type=RecordRef.kitItem
。其他应为type=RecordRef.inventoryItem
如何确保所有项目都具有RecordRef类型?
我需要在我的令牌上启用一些权限吗
您的
项目列表中的项目是类型为的对象,没有类型属性。要获取SalesOrderItem
的类型
,您必须执行额外的搜索。下面是我编写的一个高级搜索,根据项目的内部id检索项目的类型
ItemSearchAdvanced customSearch = new ItemSearchAdvanced()
{
columns = new ItemSearchRow()
{
basic = new ItemSearchRowBasic()
{
type = new SearchColumnEnumSelectField[] { new SearchColumnEnumSelectField() },
}
},
criteria = new ItemSearch()
{
basic = new ItemSearchBasic()
{
internalId = new SearchMultiSelectField
{
@operator = SearchMultiSelectFieldOperator.anyOf,
operatorSpecified = true,
searchValue = new RecordRef[] { new RecordRef { internalId = itemInternalId } };
}
}
}
};
Client.Service.searchPreferences.returnSearchColumns = true;
SearchResult res = Client.Service.search(customSearch);
ItemSearchRow row = (ItemSearchRow)res?.searchRowList?[0];
return row?.basic?.type?[0].searchValue;
伙计,考虑到NetSuite对“并发连接”的控制有多么严格,如果他们能在更高级别的搜索调用中提供更多返回数据的选项,那肯定是件好事。