Dynamics crm 2011 CRM 2011检索查找

Dynamics crm 2011 CRM 2011检索查找,dynamics-crm-2011,crm,lookup,trygetvalue,Dynamics Crm 2011,Crm,Lookup,Trygetvalue,我是CRM开发的新手。我知道一个基本的东西,比如“2011年crm最佳实践” 我现在想了解如何使用查找字段。我想我为自己选择了最简单的方法 我有一个costum实体“合同”,它还有5个字段,其中2个是查找。 第一次查找(agl_收缩)-它本身就是一个链接 第二次查找(agl_ClientId)-链接到客户端 我需要什么 当我选择fillFirst lookup(agl_Constract)时,脚本应该在该合同中找到一个客户机,并将其复制到当前表单 我已经完成了脚本,但它不是工作。。。((( 如果

我是CRM开发的新手。我知道一个基本的东西,比如“2011年crm最佳实践” 我现在想了解如何使用查找字段。我想我为自己选择了最简单的方法

我有一个costum实体“合同”,它还有5个字段,其中2个是查找。 第一次查找(agl_收缩)-它本身就是一个链接 第二次查找(agl_ClientId)-链接到客户端

我需要什么

当我选择fillFirst lookup(agl_Constract)时,脚本应该在该合同中找到一个客户机,并将其复制到当前表单

我已经完成了脚本,但它不是工作。。。(((


如果我很了解您:当您在agl\u osnovnoy\u dogovorid字段中选择合同时,您想从该合同中提取客户属性并将其放入agl\u accountid字段中吗

如果是这样的话:

首先,获取所选合同的Id(从agl\u osnovnoy\u dogovorid字段)

其次,从agl\u osnovnoy\u dogovorid检索客户端。您的oData查询如下:

http://crmserver/org/XRMServices/2011/OrganizationData.svc/ContractSet(guid'" + guidSelectedContract + "')/CustomerId
(在示例中,我使用的是CustomerId字段。对于您的情况,请输入客户机字段的架构名称)。 现在,执行查询并将结果放入agl_accountid字段:

$.getJSON(
Xrm.Page.context.getServerUrl() + "/XRMServices/2011/OrganizationData.svc/ContractSet(guid'" + guidSelectedContract + "')/CustomerId", 
function(data){
if(data.d.CustomerId != null && data.d.CustomerId.Id != null && data.d.CustomerId.Id != "undefined")
{
     //set agl_accountid field
     Xrm.Page.getAttribute("agl_accountid").setValue([{id:data.d.CustomerId.Id, name:data.d.CustomerId.Name, typename:data.d.CustomerId.LogicalName}]);
}
});

您可以使用REST检索数据,也可以使用FetchXml示例设置agl_AccuId查找。 另外,有些条件还不清楚……无论如何……我已经将这一变化纳入了你原来的帖子中

function GetAccountFromContract()
{
    var aodLookupValue = Xrm.Page.getAttribute("agl_osnovnoy_dogovorid").getValue();
    if (!aodLookupValue) return; 

    XrmServiceToolkit.Rest.Retrieve( aodLookupValue[0].id ,
       'agl_osnovnoy_dogovoridSet', null,null,
       function (result) {
           var customer = result.d["your attribute name"];     
           if (customer) {

               var LookupData = new Array();
               var LookupItem = new Object();
               var lookuptextvalue = customer.Name;
               var lookupid = customer.Id;
               var lokupType = customer.LogicalName;

               alert(lookupvalue);
               alert(lookupData);

               Xrm.Page.getAttribute("agl_accountid").setValue(lookupData);
           }
       },
       function (error) {
                equal(true, false, error.message);
       }, false );
}
$.getJSON(
Xrm.Page.context.getServerUrl() + "/XRMServices/2011/OrganizationData.svc/ContractSet(guid'" + guidSelectedContract + "')/CustomerId", 
function(data){
if(data.d.CustomerId != null && data.d.CustomerId.Id != null && data.d.CustomerId.Id != "undefined")
{
     //set agl_accountid field
     Xrm.Page.getAttribute("agl_accountid").setValue([{id:data.d.CustomerId.Id, name:data.d.CustomerId.Name, typename:data.d.CustomerId.LogicalName}]);
}
});
function GetAccountFromContract()
{
    var aodLookupValue = Xrm.Page.getAttribute("agl_osnovnoy_dogovorid").getValue();
    if (!aodLookupValue) return; 

    XrmServiceToolkit.Rest.Retrieve( aodLookupValue[0].id ,
       'agl_osnovnoy_dogovoridSet', null,null,
       function (result) {
           var customer = result.d["your attribute name"];     
           if (customer) {

               var LookupData = new Array();
               var LookupItem = new Object();
               var lookuptextvalue = customer.Name;
               var lookupid = customer.Id;
               var lokupType = customer.LogicalName;

               alert(lookupvalue);
               alert(lookupData);

               Xrm.Page.getAttribute("agl_accountid").setValue(lookupData);
           }
       },
       function (error) {
                equal(true, false, error.message);
       }, false );
}