2016-07-27 2 views
0

Возможно, я не могу вытащить пользовательские значения полей поиска транзакций с помощью веб-служб.Пользовательские поля веб-служб NetSuite в поисковых запросах

 searchTransaction.savedSearchId = "2017"; 
     SearchResult result = netsuite.search(searchTransaction); 

     if(result.status.isSuccess) 
     { 
      SearchRow[] searchRows = result.searchRowList; 
      if(searchRows != null && searchRows.Length >= 1) 
      { 
       for (int i = 0; i < searchRows.Length; i++) 
       { 
        TransactionSearchRow transactionRow = (TransactionSearchRow)searchRows[i]; 
        var iid = transactionRow.basic.internalId[0].searchValue; 
        double amount = transactionRow.basic.amount[0].searchValue; 
        string custfild = transactionRow.basic.customFieldList[0].scriptId; 

        Console.WriteLine("\n Transaction ID: " + iid.internalId); 
        Console.WriteLine("\n Amount: " + amount.ToString()); 
        Console.WriteLine("\n customfield: " + custfield.ToString()); 
       } 
      } 
     } 

Я знаю, что поле возвращается, потому что я вижу его в ответе xml. И custfield.ToString() возвращает внутренний идентификатор настраиваемого поля.

Я просто не могу получить фактическое значение.

+0

Я думаю [этот пост] (http://stackoverflow.com/questions/28467766/c-sharp-netsuite-webservices -get-value-from-custom-field-in-saved-search-items), было указано, что они сказали: «Кастинг для определенного типа столбца поиска выбирает настраиваемое поле, чтобы выставить свойство searchValue». Я не могу понять, что это значит. – kayduh

ответ

0

Фигурные это, размещение в случае, если кто-то есть один и тот же вопрос:

 searchTransaction.savedSearchId = "2017"; 
     SearchResult result = netsuite.search(searchTransaction); 

     if(result.status.isSuccess) 
     { 
      SearchRow[] searchRows = result.searchRowList; 
      if(searchRows != null && searchRows.Length >= 1) 
      { 
       for (int i = 0; i < searchRows.Length; i++) 
       { 
        TransactionSearchRow transactionRow = (TransactionSearchRow)searchRows[i]; 
        var iid = transactionRow.basic.internalId[0].searchValue; 
        double amount = transactionRow.basic.amount[0].searchValue; 
        string custfild = transactionRow.basic.customFieldList[0].scriptId; 

        SearchColumnStringCustomField custfild = (SearchColumnStringCustomField)transactionRow.basic.customFieldList[0]; 

        Console.WriteLine("\n Transaction ID: " + iid.internalId); 
        Console.WriteLine("\n Amount: " + amount.ToString()); 
        Console.WriteLine("\n custfild: " + custfild.searchValue); 

       } 
      } 
     } 
Смежные вопросы