快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记娱乐黄埔怡情:Dynamic CRM 2013学习记录(9)CrmFetchKit.js实现Fetchxml、多表联合查询 批量更新



CrmFetchKit.js是一个跨浏览器的一个类库,容许经由过程JavaScript来履行fetch xml的查询,还可以实现批量更新,分页查询等。今朝已支持Chrome 25, Firefox 19 和 IE9/10 .

它的最大年夜上风是可以经由过程fetchxml 来查询,这样我们就可以实现真正的多表联合查询,虽然可以用OData遣散点的$expand来进行多表的联合查询,但这种要领没法子过滤多表的前提,和记娱乐黄埔怡情它只能过滤主表的前提。

下面来看下简单的多表查询的例子:

1.首先定义一个fetchxml:

1: var fetchxml = ['1.0" output-format="xml-platform" ',

2:'mapping="logical" ',

3:'returntotalrecordcount="true" >',

4:'new_floor_price">',

5:'new_floor_priceid" />',

6:'modifiedon" descending="true" />',

7:'and">',

8:'new_approval_status" operator="eq" value="3" />',

9:'',

10:'new_fp_item" from="new_fp" to="new_floor_priceid" alias="ar">',

11:'new_floor_price" />',

12:'and">',

13:'new_modelid" operator="eq" value="' + modelid + '" />',

14:'',

15:'',

16:'',

17:''].join('');

我一样平常先写好sql语句,然后在 http:和记娱乐黄埔怡情//sql2fetchxml.com/ 这里天生fetchxml 语句,再小改下参数就成了。

在上面的框里输入SQL 语句,点击 中心的Convert,就可以鄙人面的框里天生 Fetchxml的语句。

2. 调用很简单:

1: CrmFetchKit.Fetch(fetchxml).then(function (results) {

2:if(results!=null)

3:setAttributeValue("new_floor_price", Number(results[0].getValue("ar.new_floor_price")));

4:}, onFetchError);

3. 差错处置惩罚:

1: function onFetchError(xhr, status, errorThrown) {

2:

3:var errormsg = $(xhr.和记娱乐黄埔怡情responseXML).find('Message').text();

4:

5:alert('CrmFetchKit-Error occured: ' +errormsg);

6: }

4. 另一种写法:

1: // execute the query (async)

2: CrmFetchKit.Fetch(fetchxml)

3:.fail(function(xhr, status, errorThrown){

4:

5:// get the error-message

6:var msg = $(xhr.responseXML).find('Message').text();

7:

8:alert('Error occured: ' + msg);

9:})

10:.done(function(results){

11:

12:var contactid = null;

13:

14:for( var i = 0, max = results.length; i

15:

16:contactid = results[i].getValue('contactid');

17:

18:// Assign和记娱乐黄埔怡情 (async)

19:CrmFetchKit.Assign(contactid, 'contact', bId);

20:}

21:});

这个示例中,还先和记娱乐黄埔怡情容了CrmFetchKit.Assign的用法

CrmFetchKit.Assign(contactid, 'contact', bId);

这样就可以实现批量更新了

5. FetchMore 用法

1: var fetchxml = ['

2:'mapping="logical" ',

3:'returntotalrecordcount="true" ',

4:'count="10">',

5:' ',

6:' Download CRM Fetch Kit

您可能还会对下面的文章感兴趣: