今天我们来看看怎么使用分页查询记录,同时,今天使用的也是原生的Xrm.WebApi。接下来看看今天的实验场景吧:
1)在商机页面加载的时候,分页查询关联的my budget plan记录数量,并弹出具体的数值信息。
实现后的效果:


实现代码:
javascript
RetriveMyBudgetPlan:function(query,myBudgetPlans)
{
var clientURL="https://org4fb4251a.crm.dynamics.com/api/data/v9.0/new_mybudgetplans";
var myBudgetPlanCount=0;
Xrm.WebApi.retrieveMultipleRecords("new_mybudgetplan", query,2).then(
function success(result) {
myBudgetPlans=myBudgetPlans.concat(result.entities);
myBudgetPlanCount=myBudgetPlans.length;
if(result.nextLink!=undefined)
{
query=result.nextLink;
query=query.split(clientURL)[1];
CRMHOME.Opportunity.Entity.RetriveMyBudgetPlan(query, myBudgetPlans);
}
else
{
Xrm.Utility.alertDialog("total my budget plan record number is: "+myBudgetPlanCount.toString());
}
}
,
function(error){
console.log(error);
});
}
调用代码:
javascript
Form_Onload:function(){
debugger;
//Xrm.Utility.alertDialog("Hello form onload event");
//retrive multiple records with pagging
var nextPage=null;
var recordNum=0;
var tryCounter=0;
var hasError=false;
var clientURL="https://org4fb4251a.crm.dynamics.com/api/data/v9.0/new_mybudgetplans";
var queryFilter="?$filter=new_opportunityId/opportunityid eq '$OPPID$' and new_contact/contactid eq '$CONTACTID$'";
var oppID=Xrm.Page.data.entity.getId().replace("{","").replace("}","");
var contactID=Xrm.Page.getAttribute("parentcontactid").getValue()[0].id.replace("{","").replace("}","");
var hasRequest=false;
queryFilter=queryFilter.replace("$OPPID$",oppID).replace("$CONTACTID$",contactID);
var myBudgetPlan=[];
CRMHOME.Opportunity.Entity.RetriveMyBudgetPlan(queryFilter,myBudgetPlan);
}