2

見積もりの​​すべての製品 (= 見積もりの​​詳細) を javascript で取得するにはどうすればよいですか?

次のコードを試しましたが、うまくいきません:

id = quoteid
var options = "$select=ProductId&$filter=QuoteId eq (guid'"+ id + "'";
SDK.REST.retrieveMultipleRecords("QuoteDetail", options, ebcont.crm.quote._successQuoteDetailMultiRetrieve, function(error) {alert(error.message);}, ebcont.crm.quote._multiRetrieveQuoteComplete);

私はいつも次のメッセージを受け取ります:

 Error: 400: Bad Request: operator 'eq' is no compatible with operatortyp 'Microsoft.Crm.Metadata.ComplexTypeInstance'1 ... and 'System.Guid'

誰かが何が間違っているのか知っていますか?

前もって感謝します!

4

1 に答える 1

5

に id を追加してみてくださいQuoteId:

id = quoteid
var options = "$select=ProductId&$filter=QuoteId/Id eq (guid'"+ id + "'";
SDK.REST.retrieveMultipleRecords("QuoteDetail", options, ebcont.crm.quote._successQuoteDetailMultiRetrieve, function(error) {alert(error.message);}, ebcont.crm.quote._multiRetrieveQuoteComplete);

大文字と小文字が区別されるので、それにも注意してください。XrmToolBox の FetchXmlBuilder プラグインを使用して、最初に REST oData 呼び出しをテストすることをお勧めします。残りの URL を表示するオプションがあります。JavaScript が正確な URL を生成する限り、問題はありません。

更新 1

新しい (2016 年) CRM WebAPI エンドポイントでは、Jason Lattimer の CRM Rest Builder もお勧めします: https://github.com/jlattimer/CRMRESTBuilder/releases

于 2013-01-24T16:34:15.640 に答える