Answered by:
Issue in passing lookup value through parameters in CRM 2013

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 AMModerator -
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 AMModerator -
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