C # NetSuite WebServices: получить значение из настраиваемого поля в сохраненном поиске (ItemSearchAdvanced)
Я использую C # MVC для подключения к NetSuite, используя их API WebServices. У меня есть текущий код, который вызывает сохраненный поиск предметов инвентаря. Вот текущий код, который работает отлично:
ItemSearchAdvanced searchItems = new ItemSearchAdvanced();
searchItems.savedSearchId = "128";
SearchResult result = netSuiteSvc.search(searchItems);
int totalRecords = 0;
int processedRecords = 0;
UpdateNetsuitePriceListModel returnObj = new UpdateNetsuitePriceListModel();
returnObj.NewPriceList = new List<NetSuitePriceListRecord>();
if (result.status.isSuccess)
{
SearchRow[] searchRows = result.searchRowList;
if (searchRows != null && searchRows.Length >= 1)
{
for (int i = 0; i < searchRows.Length - 1; i++)
{
ItemSearchRow itemRow = (ItemSearchRow)searchRows[i];
if (itemRow.basic.itemId != null && itemRow.basic.mpn != null && itemRow.basic.basePrice != null && itemRow.basic.salesDescription != null)
{
returnObj.NewPriceList.Add(new NetSuitePriceListRecord()
{
ItemId = itemRow.basic.itemId[0].searchValue,
ManufacturerPartNumber = itemRow.basic.mpn[0].searchValue,
ContractPrice = Convert.ToDecimal(itemRow.basic.basePrice[0].searchValue),
Cost = CalculateProductCostForIngram(Convert.ToDecimal(itemRow.basic.basePrice[0].searchValue)),
Description = itemRow.basic.salesDescription[0].searchValue
});
processedRecords++;
}
totalRecords++;
}
}
else
{
throw new Exception("NetSuite Part List Blank");
}
}
else
{
throw new Exception("NetSuite Part List Search Failure");
}
Теперь мне нужно извлечь itemId из пользовательского добавленного поля, а не из поля itemId по умолчанию.
Очевидно, что поскольку это настраиваемое поле, оно не является свойством ItemSearchRowBasic. Похоже, вместо свойства я могу выбрать «customFieldList», который является массивом «SearchColumnCustomField». Если я выберу индекс для массива, я вижу, что SearchColumnCustomField содержит:
customLabelinternalIdscriptIdЯ предполагаю, что смогу получить internalId SearchColumnCustomField и каким-то образом использовать его, чтобы получить значение поиска для этого настраиваемого столбца, но у меня возникли некоторые проблемы с поиском любых подходящих примеров.
Это настраиваемое поле является текстовым полем свободной формы, добавляемым ко всем предметам инвентаря.