我正在使用SuiteTalk对销售订单进行基本搜索
我可以得到很好的订单,每个订单都附带一个itemList
,但是itemList
中的所有项目都缺少RecordRef type
。它甚至都不为空。只是。丢失。
(这里的NetSuite documentation显示它应该是对象的一部分)
我希望某些项目应为type = RecordRef.kitItem
。而其他人应该是type = RecordRef.inventoryItem
如何确保所有项目都具有RecordRef类型? 我需要对令牌启用一些许可吗?
答案 0 :(得分:1)
itemList
中的项目是SalesOrderItem
类型的对象,并且没有Type
属性。为了获得Type
中的SalesOrderItem
,您将不得不执行其他搜索。下面是我编写的用于根据其内部ID检索项目Type
的高级搜索。
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;