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 调用。它有一个查看其余网址的选项。只要您的 javascript 生成准确的 url,您就应该很好。

更新 1

使用新的(2016 年)CRM WebAPI 端点,我还推荐 Jason Lattimer 的 CRM Rest Builder:https ://github.com/jlattimer/CRMRESTBuilder/releases

于 2013-01-24T16:34:15.640 回答