C # NetSuite WebServices: obtenha valor do campo personalizado na pesquisa salva (ItemSearchAdvanced)
Estou usando o C # MVC para conectar-se ao NetSuite usando sua API de WebServices. Eu tenho um código atual que chama uma pesquisa salva de itens de inventário. Aqui está o código atual que está funcionando perfeitamente:
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");
}
Agora eu preciso extrair o itemId de um campo adicionado personalizado em vez do campo itemId padrão.
Obviamente, como esse é um campo personalizado, não é uma propriedade de ItemSearchRowBasic. Parece que, em vez da propriedade, posso escolher "customFieldList", que é uma matriz de "SearchColumnCustomField". Se eu escolher um índice para a matriz, posso ver que o SearchColumnCustomField contém:
customLabelinternalIdscriptIdEu imagino que eu deveria conseguir obter o internalId do SearchColumnCustomField e de alguma forma usá-lo para obter o valor de pesquisa para essa coluna personalizada, mas tive alguns problemas para encontrar exemplos que se encaixam até agora.
Este campo personalizado é um campo de texto de formato livre adicionado a todos os itens de inventário.