I am trying to set a view for a lookup field in Resco using JSBridge But the code does not work. Can you please point out where i am going wrong.
Below is my code --
onLoad: function () {
MobileCRM.UI.EntityForm.requestObject(function (entityForm) {
var detailView = entityForm.getDetailView("Booking");
var customXMLView = '<fetch version="1.0"><entity name="msdyn_workordersubstatus">' +
'<filter type="and"><condition attribute="msdyn_workordersubstatusid" operator="eq" value="{90F7A06F-CA1C-EA11-A811-000D3A6AACAF}"/></filter></entity></fetch>';
inlineSetup = new MobileCRM.UI.DetailViewItems.LookupSetup();
inlineSetup.addFilter("msdyn_workordersubstatus", customXMLView);
var dialogSetup = new MobileCRM.UI.DetailViewItems.LookupSetup();
dialogSetup.addView("msdyn_workordersubstatus", "WorkOrderSubStatusList", true);
var dialogOnly = false; // Allow both inline lookup and expanded lookup dialog
detailView.updateLinkItemViews(0, dialogSetup, inlineSetup, dialogOnly);
});
}
Not sure what is the first parameter in the below code -
detailView.updateLinkItemViews(0, dialogSetup, inlineSetup, dialogOnly);
Also tried LookupForm, the code works but not sure how to bind this to the field-
ShowLookUp: function () {
var lookupForm = new MobileCRM.UI.LookupForm();
var customXMLView = '<fetch version="1.0"><entity name="msdyn_workordersubstatus">' +
'<filter type="and"><condition attribute="msdyn_workordersubstatusid" operator="eq" value="{90F7A06F-
CA1C-EA11-A811-000D3A6AACAF}"/></filter></entity></fetch>';
lookupForm.addEntityFilter("msdyn_workordersubstatus", customXMLView)
lookupForm.addView("msdyn_workordersubstatus", "WorkOrderSubStatusList", "true");
lookupForm.allowNull = true;
lookupForm.show(FS.BRB.onLookupFinished, MobileCRM.bridge.alert, null);
},
onLookupFinished: function () {
MobileCRM.UI.EntityForm.requestObject(
function (entityForm) {
},
MobileCRM.bridge.alert
);
}
Any suggestions would be appreciated.
Thanks in Advance
So i found the answer to my above query. Below is the working code to set lookup view dynamically in resco.
Posting it so that it helps others.
onLoad: function () {
MobileCRM.UI.EntityForm.requestObject(function (entityForm) {
var detailView = entityForm.getDetailView("Booking");
var itemIndex = detailView.getItemIndex("vWO.msdyn_substatus"); //Not required, Used this to get the index of my lookup control on the form
var customXMLView = '<fetch version="1.0"><entity name="msdyn_workordersubstatus">' +
'<filter type="and"><condition attribute="msdyn_workordersubstatusid" operator="eq"
value="{90F7A06F-CA1C-EA11-A811-000D3A6AACAF}"/></filter></entity></fetch>';
/// Create inline lookup setup (This shows when you click inside lookup without opening the dialog)
inlineSetup = new MobileCRM.UI.DetailViewItems.LookupSetup();
inlineSetup.addFilter("msdyn_workordersubstatus", customXMLView);
//Dialog Look Up (This shows when we click on the plus button)
var dialogSetup = new MobileCRM.UI.DetailViewItems.LookupSetup();
dialogSetup.addView("msdyn_workordersubstatus", "WorkOrderSubStatusList", true);
var dialogOnly = false; // Allow both inline lookup and expanded lookup dialog
detailView.updateLinkItemViews(11, dialogSetup, inlineSetup, dialogOnly); //here the
first parameter is the index of the lookup field
});
},
Mistake i did was, i did not write the correct index number of the control in line
detailView.updateLinkItemViews(0, dialogSetup, inlineSetup, dialogOnly);
Correction :
detailView.updateLinkItemViews(11, dialogSetup, inlineSetup, dialogOnly);