locked
Issue in passing lookup value through parameters in CRM 2013 RRS feed

  • Question

  • Hi,

    I have an entity named Proposals it has opportunity lookup field. I want to pass opportunity id when I open new proposal from opportunity form. I have a custom button in opportunity entity I have triggered my script on button click. issue is new_name is set the value but opportunity field still empty.

    function setValues()
    {
    var entityId = Xrm.Page.data.entity.getId();

     var parameters = {};
     parameters["new_name"] = "ABC";
     parameters["new_Opportunity"]= entityId;
     // Open the window.
     Xrm.Utility.openEntityForm("new_proposals", null, parameters);
    }

    Wednesday, January 21, 2015 6:43 AM

Answers

  • Hello,

    You should check following article - https://msdn.microsoft.com/en-us/library/gg334375.aspx#BKMK_SetLookupFieldValues

    In your case you should use something like:

    function setValues()
    {
    var entityId = Xrm.Page.data.entity.getId();
    
     var parameters = {};
     parameters["new_name"] = "ABC";
     parameters["new_opportunity"]= entityId;
     parameters["new_opportunityname"]= "opportunity name";
     // Open the window.
     Xrm.Utility.openEntityForm("new_proposals", null, parameters);
    }


    Dynamics CRM MVP/ Technical Evangelist at SlickData LLC
    My blog

    • Marked as answer by Aamir Hijazi Wednesday, January 21, 2015 8:01 AM
    Wednesday, January 21, 2015 7:32 AM
    Moderator
  • You can use this code
    function setValues()
    {
    var entityId = Xrm.Page.data.entity.getId();
    var topic = Xrm.Page.data.entity.attributes.get("name").getValue();
    
     var parameters = {};
     parameters["new_name"] = "ABC";
     parameters["new_opportunity"]= entityId;
      parameters["new_opportunityname"] = topic;
    // parameters["new_opportunitytype"] = "opportunity";
    
     // Open the window.
     Xrm.Utility.openEntityForm("new_proposal", null, parameters);
    }


    Regards, Saad

    • Marked as answer by Aamir Hijazi Wednesday, January 21, 2015 8:01 AM
    Wednesday, January 21, 2015 7:41 AM

All replies

  • Hi Aamir,

    You can do it by passing the parameters in URL. What you can do is create a new window of Proposal from left hand navigation and get it's URL.

    Set this URL on button click on opportunity.


    Regards, Saad

    Wednesday, January 21, 2015 6:55 AM
  • May I not set opportunity lookup value in proposal entity through this script?

    Wednesday, January 21, 2015 7:02 AM
  • your way is also correct. but i do it by this way. there are no url errors in my way

    Regards, Saad


    • Edited by Mohd Saad Wednesday, January 21, 2015 7:18 AM
    Wednesday, January 21, 2015 7:18 AM
  • Hello,

    You should check following article - https://msdn.microsoft.com/en-us/library/gg334375.aspx#BKMK_SetLookupFieldValues

    In your case you should use something like:

    function setValues()
    {
    var entityId = Xrm.Page.data.entity.getId();
    
     var parameters = {};
     parameters["new_name"] = "ABC";
     parameters["new_opportunity"]= entityId;
     parameters["new_opportunityname"]= "opportunity name";
     // Open the window.
     Xrm.Utility.openEntityForm("new_proposals", null, parameters);
    }


    Dynamics CRM MVP/ Technical Evangelist at SlickData LLC
    My blog

    • Marked as answer by Aamir Hijazi Wednesday, January 21, 2015 8:01 AM
    Wednesday, January 21, 2015 7:32 AM
    Moderator
  • You can use this code
    function setValues()
    {
    var entityId = Xrm.Page.data.entity.getId();
    var topic = Xrm.Page.data.entity.attributes.get("name").getValue();
    
     var parameters = {};
     parameters["new_name"] = "ABC";
     parameters["new_opportunity"]= entityId;
      parameters["new_opportunityname"] = topic;
    // parameters["new_opportunitytype"] = "opportunity";
    
     // Open the window.
     Xrm.Utility.openEntityForm("new_proposal", null, parameters);
    }


    Regards, Saad

    • Marked as answer by Aamir Hijazi Wednesday, January 21, 2015 8:01 AM
    Wednesday, January 21, 2015 7:41 AM
  • There is a tricky part in this approach. I had the same problem last week.

    • if your lookup field is a built in field on the entity (for example: parentcustomerid on Contact form), you have to specify the type (as it is possible a built in lookup field can have multiple types (think of owner -> Team/User).
    function setValues()
    {
    var entityId = Xrm.Page.data.entity.getId();
    
    var id= "<Guid here>";
    var name= "name of opportunity";
    var type = "opportunity"
    
     var parameters = {};
     parameters["new_name"] = "ABC";
    //regardingopportunity = lookup field name
     parameters["regardingopportunity"] = id;
    //just add "name to lookup field name
     parameters["regardingopportunityname"]= name;
    //Opportunity.logicalName = "opportunity"
    parameters["regardingopportunitytype"]= type;
    
     // Open the window.
     Xrm.Utility.openEntityForm("new_proposals", null, parameters);
    }
    • if your lookup field is a custom field you created (prefix_) you don't have to specify a type.
    function setValues()
    {
    var entityId = Xrm.Page.data.entity.getId();
    
    var id= "<Guid here>";
    var name= "name of opportunity";
    
     var parameters = {};
     parameters["new_name"] = "ABC";
    //new_opportunity = lookup field name
     parameters["new_opportunity"] = id;
    //just add "name to lookup field name
     parameters["new_opportunityname"]= name;
    
     // Open the window.
     Xrm.Utility.openEntityForm("new_proposals", null, parameters);
    }

    Not saying above answers aren't correct. Hope this helps.

    Kind regards

    Wednesday, January 21, 2015 8:21 AM