2016-09-19 6 views
1

webservicesを使用してNetSuiteの保存された検索結果を抽出しようとしています。応答では、(結果セクションに入力された)通常のフィールドだけが表示されますが、式(テキスト)フィールドは表示されません。NetSuite WebServicesを使用して既存の保存済み検索を参照しているときに式(テキスト)フィールドを抽出します。

以下は、保存された検索結果セクションのイメージです。以下は

Saved search results section with Formula (Text)

のNetSuiteに送信された要求です。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:platform_2014_2.webservices.netsuite.com" xmlns:platformMsgs="urn:messages_2014_2.platform.webservices.netsuite.com" xmlns:platformFaults="urn:faults_2014_2.platform.webservices.netsuite.com"> 
<soap:Header> 
    <urn5:preferences xmlns:urn5="urn:messages_2014_2.platform.webservices.netsuite.com"> 
     <urn6:warningAsError xmlns:urn6="urn:messages_2014_2.platform.webservices.netsuite.com">false</urn6:warningAsError> 
     <urn7:disableMandatoryCustomFieldValidation xmlns:urn7="urn:messages_2014_2.platform.webservices.netsuite.com">false</urn7:disableMandatoryCustomFieldValidation> 
     <urn7:ignoreReadOnlyFields xmlns:urn7="urn:messages_2014_2.platform.webservices.netsuite.com">false</urn7:ignoreReadOnlyFields> 
    </urn5:preferences> 
    <urn8:searchPreferences xmlns:urn8="urn:messages_2014_2.platform.webservices.netsuite.com"> 
     <urn9:bodyFieldsOnly xmlns:urn9="urn:messages_2014_2.platform.webservices.netsuite.com">true</urn9:bodyFieldsOnly> 
     <urn10:pageSize xmlns:urn10="urn:messages_2014_2.platform.webservices.netsuite.com">1000</urn10:pageSize> 
     <urn11:returnSearchColumns xmlns:urn11="urn:messages_2014_2.platform.webservices.netsuite.com">true</urn11:returnSearchColumns> 
    </urn8:searchPreferences> 
</soap:Header> 
<soap:Body> 
    <platformMsgs:search xmlns:platformMsgs="urn:messages_2014_2.platform.webservices.netsuite.com" xmlns="urn:messages_2014_2.platform.webservices.netsuite.com"> 
     <platformMsgs:searchRecord xsi:type="ns1:CustomerSearchAdvanced" xmlns:ns1="urn:relationships_2014_2.lists.webservices.netsuite.com" savedSearchId="2469"/> 
    </platformMsgs:search> 
</soap:Body> 

私は見ています応答は以下の通りです。

<soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<soapenv:Header> 
    <platformMsgs:documentInfo 
     xmlns:platformMsgs="urn:messages_2014_2.platform.webservices.netsuite.com"> 
     <platformMsgs:nsId>WEBSERVICES_TSTDRV840553_091920161097968934683523704_57aaf0b</platformMsgs:nsId> 
    </platformMsgs:documentInfo> 
</soapenv:Header> 
<soapenv:Body> 
    <searchResponse 
     xmlns="urn:messages_2014_2.platform.webservices.netsuite.com"> 
     <platformCore:searchResult 
      xmlns:platformCore="urn:core_2014_2.platform.webservices.netsuite.com"> 
      <platformCore:status isSuccess="true"/> 
      <platformCore:totalRecords>2</platformCore:totalRecords> 
      <platformCore:pageSize>1000</platformCore:pageSize> 
      <platformCore:totalPages>1</platformCore:totalPages> 
      <platformCore:pageIndex>1</platformCore:pageIndex> 
      <platformCore:searchId>WEBSERVICES_TSTDRV840553_091920161097968934683523704_57aaf0b</platformCore:searchId> 
      <platformCore:searchRowList> 
       <platformCore:searchRow xsi:type="listRel:CustomerSearchRow" 
        xmlns:listRel="urn:relationships_2014_2.lists.webservices.netsuite.com"> 
        <listRel:basic 
         xmlns:platformCommon="urn:common_2014_2.platform.webservices.netsuite.com"> 
         <platformCommon:comments> 
          <platformCore:searchValue>test</platformCore:searchValue> 
         </platformCommon:comments> 
         <platformCommon:entityId> 
          <platformCore:searchValue>test c 97161</platformCore:searchValue> 
         </platformCommon:entityId> 
         <platformCommon:entityStatus> 
          <platformCore:searchValue internalId="13"/> 
         </platformCommon:entityStatus> 
         <platformCommon:internalId> 
          <platformCore:searchValue internalId="59951"/> 
         </platformCommon:internalId> 
        </listRel:basic> 
       </platformCore:searchRow> 
       <platformCore:searchRow xsi:type="listRel:CustomerSearchRow" 
        xmlns:listRel="urn:relationships_2014_2.lists.webservices.netsuite.com"> 
        <listRel:basic 
         xmlns:platformCommon="urn:common_2014_2.platform.webservices.netsuite.com"> 
         <platformCommon:comments> 
          <platformCore:searchValue>test</platformCore:searchValue> 
         </platformCommon:comments> 
         <platformCommon:entityId> 
          <platformCore:searchValue>test c 97162</platformCore:searchValue> 
         </platformCommon:entityId> 
         <platformCommon:entityStatus> 
          <platformCore:searchValue internalId="13"/> 
         </platformCommon:entityStatus> 
         <platformCommon:internalId> 
          <platformCore:searchValue internalId="59952"/> 
         </platformCommon:internalId> 
        </listRel:basic> 
       </platformCore:searchRow> 
      </platformCore:searchRowList> 
     </platformCore:searchResult> 
    </searchResponse> 
</soapenv:Body> 

私は同様のNetSuiteヘルプガイドでこれに関連する説明/例が表示されません。

数式フィールドの抽出要求をトリガする必要がある他の方法はありますか?どんなポインタでも大変役に立ちます。

おかげ

答えて

0

私はこれと同じトピックに見てきたと私はWebサービスが結果セットの数式項目をサポートしています信じていません。静的に定義されたSOAP応答でそれらを返すメカニズムがないようです。私の場合は、次の式が必要でした。

GREATEST({trandate},{lastmodifieddate},{linelastmodifieddate},{billingtransaction.trandate},{billingtransaction.lastmodifieddate},{billingtransaction.linelastmodifieddate})

それは私の保存した検索に存在していたとSuiteTalkから参照するときにエラーをスローしませんでした。ただし、式フィールドは結果セットの列として存在しませんでした。私は、自分の数式で使用された個々のフィールドを保存された検索に含めてから、コード内の数式を再作成する必要がありました。

フィルター条件の一部として式を使用する必要がある場合(保存された検索に適用する場合)、保存された検索自体で式を定義する必要があります。 SuiteTalk APIを使用して数式ベースのフィルタを適用することはできません。

TransactionSearchAdvanced customSearch = new TransactionSearchAdvanced() 
{ 
    savedSearchScriptId = "customsearch_[Your ID here]" 
    , 
    criteria = new TransactionSearch() 
    { 
     [Formula fields are NOT supported here] 
    } 

}; 
関連する問題