【问题标题】:MSCRM 4.0 : Getting Error when saving and clicking on the Item in the field value after auto populating look up though JavascriptMSCRM 4.0:通过Javascript自动填充查找后保存并单击字段值中的项目时出错
【发布时间】:2015-08-20 17:05:29
【问题描述】:

通过 javascript 自动填充查找后出现错误。我的代码如下。它正在工作,我能够自动填充。但是当我点击自动填充的文件时,我收到了一个错误。保存record.Errors 时也会出错:

1) 'ryan_leadengagementprincipalassignment with id = ******* 不存在'(当我点击填充的查找值时)

2) 未找到请求的记录或您没有足够的权限查看它。 (保存记录时)

代码:

 var LEPAccountLookup= crmForm.all.customerid.DataValue;

    if (LEPAccountLookup!= null && LEPAccountLookup!= 'undefined')
    {
    var LEPAccountID= LEPAccountLookup[0].id;

    var LEPAccountxml = '' +

    '<?xml version=\'1.0\' encoding=\'utf-8\'?>' +

    '<soap:Envelope xmlns:soap=\'http://schemas.xmlsoap.org/soap/envelope/\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\'>' +

    GenerateAuthenticationHeader() +

    ' <soap:Body>' +

    ' <RetrieveMultiple xmlns=\'http://schemas.microsoft.com/crm/2007/WebServices\'>' +

    ' <query xmlns:q1=\'http://schemas.microsoft.com/crm/2006/Query\' xsi:type=\'q1:QueryExpression\'>' +

    ' <q1:EntityName>ryan_leadengagementprincipalassignment</q1:EntityName>' +

    ' <q1:ColumnSet xsi:type=\'q1:AllColumns\' />' +

    ' <q1:Distinct>false</q1:Distinct>' +

    ' <q1:Criteria>' +

    ' <q1:FilterOperator>And</q1:FilterOperator>' +

    ' <q1:Conditions>' +

    ' <q1:Condition>' +

    ' <q1:AttributeName>ryan_accountnameid</q1:AttributeName>' +

    ' <q1:Operator>Like</q1:Operator>' +

    ' <q1:Values>' +

    ' <q1:Value xsi:type=\'xsd:string\'>' + LEPAccountID + '</q1:Value>' +

    ' </q1:Values>' +

    ' </q1:Condition>' +

    ' </q1:Conditions>' +

    ' </q1:Criteria>' +

    ' </query>' +

    ' </RetrieveMultiple>' +

    ' </soap:Body>' +

    '</soap:Envelope>' +

    '';

    //alert(LEPAccountxml);

    var xmlHttpRequest = new ActiveXObject('Msxml2.XMLHTTP');

    xmlHttpRequest.Open('POST', '/mscrmservices/2007/CrmService.asmx', false);

    xmlHttpRequest.setRequestHeader('SOAPAction','http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple');

    xmlHttpRequest.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');

    xmlHttpRequest.setRequestHeader('Content-Length', LEPAccountxml.length);

    xmlHttpRequest.send(LEPAccountxml);

    var resultLEPAccountxml = xmlHttpRequest.responseXML;

    //alert(resultLEPAccountxml);

    //----------------------------------------------------------------------------------------------------------------------

    var entityNodes = resultLEPAccountxml.selectNodes('//RetrieveMultipleResult/BusinessEntities/BusinessEntity');

    for (var i = 0; i < entityNodes.length; i++) {

    var entityNode = entityNodes[i];

    var LEPAccountNode = entityNode.selectSingleNode("q1:ryan_accountnameid");
    var LEPAccountNodename = entityNode.selectSingleNode('./q1:ryan_accountnameid/@name');
    var LEPParentPracAreaNode = entityNode.selectSingleNode("q1:ryan_parentpracticeareaid");
    var LEPParentPracAreaNodename = entityNode.selectSingleNode('./q1:ryan_parentpracticeareaid/@name');
    var LEPPracAreaNode = entityNode.selectSingleNode("q1:ryan_practiceareaid");
    var LEPPracAreaNodename = entityNode.selectSingleNode('./q1:ryan_practiceareaid/@name');
    var LEPLegalEntityNode= entityNode.selectSingleNode("q1:ryan_legalid");
    var LEPLegalEntityNodename = entityNode.selectSingleNode('./q1:ryan_legalid/@name');
    var LEPNode= entityNode.selectSingleNode("q1:ryan_leadengagementid");
    var LEPNodename = entityNode.selectSingleNode('./q1:ryan_leadengagementid/@name')


    var LEPAccountid= (LEPAccountNode == null) ? null : LEPAccountNode.text;
    var LEPAccountname= (LEPAccountNodename == null) ? null : LEPAccountNodename.text;

    var LEPPareantPracAreaid= (LEPParentPracAreaNode == null) ? null : LEPParentPracAreaNode.text;
    var LEPPareantPracAreaname= (LEPParentPracAreaNodename == null) ? null : LEPParentPracAreaNodename.text;

    var LEPPracAreaid= (LEPPracAreaNode == null) ? null : LEPPracAreaNode.text;
    var LEPPracAreaname= (LEPPracAreaNodename == null) ? null : LEPPracAreaNodename.text;

    var LEPLegalEntityid= (LEPLegalEntityNode == null) ? null : LEPLegalEntityNode.text;
    var LEPLegalEntityname= (LEPLegalEntityNodename == null) ? null : LEPLegalEntityNodename.text;

    var LEPEntityid= (LEPNode == null) ? null : LEPNode.text;
    var LEPEntityname= (LEPNodename == null) ? null : LEPNodename.text;



    //alert(LEPAccountid);
    //(LEPAccountname);
    var LEPAccount = crmForm.all.customerid.DataValue;
    var LEPLE = crmForm.all.ryan_ryanlegalentityid.DataValue;
    var LEPPPA = crmForm.all.ryan_parentpracticearea2id.DataValue;
    var LEPPA = crmForm.all.ryan_practiceareaid.DataValue;

    if((LEPAccount != null) &&(LEPLE != null) && (LEPPPA != null) && (LEPPA != null))
    {

    if ((LEPAccountid== LEPAccount[0].id) && (LEPLegalEntityid== LEPLE[0].id) && (LEPPareantPracAreaid== LEPPPA[0].id) && (LEPPracAreaid== LEPPA[0].id))

    {


     var lookup = [];
     var lookupValue = new Object();

       lookupValue.id = LEPEntityid;
       lookupValue.typename = 'ryan_leadengagementprincipalassignment';
       lookupValue.name = LEPEntityname;

       lookup[0] = lookupValue;

       crmForm.all.ryan_leadengagementprincipalid.DataValue = lookup;
       crmForm.all.ryan_leadengagementprincipalid.ForceSubmit = true;


    }
    }

    }
    }

【问题讨论】:

    标签: dynamics-crm-2011 microsoft-dynamics dynamics-crm-4


    【解决方案1】:

    您的 SOAP 调用可能有问题。当你调试它时,resultLEPAccountXml 是否有一个 xml 响应字符串?还是只是返回一个错误/空集? (您似乎在提醒并已将其注释掉)

    很遗憾,我对您的特定数据模型不够熟悉,无法验证您正在查询您尝试填充的同一个表。 ryan_leadengagementprincipalassignment 表上的 ryan_leadengagementid 字段是否确实是用于在执行此脚本的任何形式上设置查找的正确字段(即 ryan_leadengagementprincipalid 是对 ryan_leadengagementprincipalassignment 表的查找)?如果您正在为错误的表设置查找,那么这将导致看起来完全像这样的问题。

    另外(作为附注),您似乎正在执行 RetrieveMultiple,并可能多次循环并设置目标字段 - 这是预期的功能(根据所有 Leadengagementprincipalassignment 结果设置查找)?查找字段的设置看起来不错,所以我怀疑它是检索应该用于设置查找的值的代码,这是这里的罪魁祸首。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-12
      • 2018-08-22
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多