function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
MorookaMorooka 

商談商品の商品データ取得

お世話になります。

 

商談商品の商品データを取得するためにSOQLで【 [select Product2.Name from OpportunityLineItem] 】と記述しましたが【 Save error: No such relation 'Product2' on entity 'OpportunityLineItem'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference  your WSDL or the describe call for the appropriate names. 】というエラーが発生しました。

 

対応策がございましたらご教授ください。よろしくお願いします。

Best Answer chosen by Admin (Salesforce Developers) 
Taiki YoshikawaTaiki Yoshikawa

商談商品から商品を取得する場合は価格表エントリの項目を経由する必要があるみたいです。

商品名だけが欲しい場合でしたら、数式項目で対応する方法はどうでしょうか。

 

数式(テキスト)に次のような構文で値を取得できると思います。

PricebookEntry.Product2.Name

 

この数式項目があれば次のようにクエリで取得できるようになると思います。

Select ProductName__c From OpportunityLineItem

 

All Answers

nishimura yukinishimura yuki

 

おそらく 「Product2」という名称の項目が存在しないという内容のエラーメッセージだと思います。

 

OpportunityLineItem オブジェクトには標準で「Product2」という名称の項目は存在しないため

カスタム項目として作成されたのかと存じますが、

もしそうであれば

 

select Product2__c.Name from OpportunityLineItem

 

というSOQLにすれば成功すると思います。

独自に作成したカスタムオブジェクト及びカスタム項目をプログラム上で扱う場合は

「__c」というサフィックスを付ける必要があるためです。

 

 

Taiki YoshikawaTaiki Yoshikawa

商談商品から商品を取得する場合は価格表エントリの項目を経由する必要があるみたいです。

商品名だけが欲しい場合でしたら、数式項目で対応する方法はどうでしょうか。

 

数式(テキスト)に次のような構文で値を取得できると思います。

PricebookEntry.Product2.Name

 

この数式項目があれば次のようにクエリで取得できるようになると思います。

Select ProductName__c From OpportunityLineItem

 

This was selected as the best answer
MorookaMorooka

Taikiさん

 

教えていただいた通り実行しましたら上手くできました。

 

ありがとうございます。