ms crm 2011用javascript检索报价详情

时间:2013-01-24 15:56:00

标签: javascript dynamics-crm-2011

如何通过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'

有人知道出了什么问题吗?

提前致谢!

1 个答案:

答案 0 :(得分: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生成确切的网址,您就应该很好。

更新1

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