Netsuite: Базовый поиск SalesOrders возвращает заказы, чей ItemList.Item[i].Item.Type всегда отсутствует
Я использую SuiteTalk для выполнения основного поиска заказов на продажу
Я могу получать заказы просто отлично, каждый заказ идет с itemList
Тем не менее, все предметы в itemList
не хватает RecordRef type
, Это даже не ноль. Просто. Отсутствует.
(Вот документация NetSuite, показывающая, что он должен быть частью объекта)
Я ожидаю, что некоторые предметы должны быть type = RecordRef.kitItem
, И другие должны быть type = RecordRef.inventoryItem
Как мне убедиться, что все элементы имеют тип RecordRef? Есть ли какое-то разрешение, которое мне нужно включить на моем токене?
1 ответ
Предметы в вашем itemList
являются объектами типа SalesOrderItem
и не имеют Type
имущество. Для того, чтобы получить Type
из SalesOrderItem
, вам придется выполнить дополнительный поиск. Ниже приведен расширенный поиск, который я написал, чтобы получить 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;