Bug on the javascript to retrieve data from a Quick View CRM 2015 Rollup 1 - dynamics-crm-2015

I have trouble retrieving a value from a Quick View (as per quick view i mean show the related entity details in a parent entity, eg. primary contact email address on the account).
The usual way to retrieve those is by the sdk syntax:
Xrm.Page.getControl("contactQuickForm_contactQuickForm_contact_mobilephone");
I tried this approach but now the result is an empty control. Anyone had a chance to see this defect in the new rollup? I troubleshoot a little around it, including removing all the controls from the page and scroll through the list to confirm that the control wasn't actually there and i wasn't making any syntax errors.

Related

Weird customization behaviour for e-mail entity in MS Dynamics CRM

We are using Dynamics CRM 2016 on-premise.
We want to send an e-mail from a workflow.
We got a lot of experience creating workflows, so this is probably not a newbie question.
We have a weird behaviour when we try to send an e-mail.
We tried the "Send E-Mail task" and also "Create entity record" of type "E-Mail". Both show the same behaviour.
I am attaching two screenshots. In that example we are attaching the workflow to a custom entity "Anlagenteil" but the error is the same for all entities we tried. When we try to configure the e-mail, it is not possible to set any values. So, on the second screenshot, the list below "Anlagenteil" is always empty.
This is also true when we try to set the value of the subject/topic which is just text.
(We know that we can't add text to the To/CC fields)
The same workflows works just fine when we try "phonecall" or some other activity entity.
The misbehaviour is the same for all users and on different computers.
There seems to be something broken with the e-mail entity in our environment and we have no idea where we could start looking for a fix. Any ideas?
Update: We found out that this is a rendering issue. It doesn't work in Firefox or Edge but it does work in Internet Explorer.
Have you tried creating a new Form for the Email entity and using that one in the Workflow Designer? We've experienced problems like this in the past due to Form Customizations and it was solved by using another form.
Keep in mind that the Workflow Designer uses the Sticky Forms, so in order to change the form used in the Workflow Designer, just switch forms in the UI.

Specify the entities that compose the activities - CRM 2015

I need to specify the activities entities on dynamics crm (2015). Specifically, what i need is to limit the option set on Case activity. In this form, i want to let the user add just "Service Activity".
I searched ways to change the data for Case entity (which i understand as the best solution), customize the form (i did not find any form that could be related) and even mark the others entities as non-activity entity (however, the dynamics crm doesn't let me, due to the fact that this check box is disabled on entity customization).
Is there an way to solve this issue ? (The specific view is in the image attached 1).
Thanks
This is not possible. You can however customize the ribbon of the associated view. Hide the Add New Activity button and create a custom button, e.g. titled Add New Service Activity.

Hide Views from View List

I have a plugin that fires on PreOperation of RetrieveMultiple and adds a query condition that the view name does not begin with HIDDEN_ . In the web client this works perfectly. In my on prem Outlook client (for my sandbox) it also works perfectly. However when I am using Outlook 2010 with an online environment it still displays the hidden view in the drop down (but not if you open an advanced find).
On top of this issue I also am unable to prefix my dashboard views with HIDDEN_. If i do then the dashboards display no information. I haven't been able to get it to work properly with the dashboard views, but I need to hide them as I have two entities that have a dozen views each that are only used for the dashboards.
In short these are the two questions:
1. How do I hide views for an online 2011 environment in the outlook client?
2. How do I hide the dashboard views and still use them for the purpose of creating dashboards?
Thanks,
Nick
Try registering your plugin on the PreValidation step.
Of course, all clients should show exact similar behaviour, so to me it seems you have found a bug.

Typing into lookup field before new form finishes loading doesn't work as expected - crm 2011 online

We have a custom entity. When you create a new instance of this entity, it is defined such that the field that receives the initial focus is a lookup field of type customer.
When using outlook client, create a new email, set regarding, custom entity, new
and while the new form is loading, if you start typing, various bad things happen including in some instances outlook crashing.
Looking into this, I noticed that if I use the web client and again, custom entity, new and start typing before the new form loads, while I can't crash IE, it doesn't work as expected. Sometimes it will lose some of typing and other times IE will get confused, spin it's wheels for a bit and eventually come back with some generic error message.
The problem seems to be when typing into a lookup field before the form has finished loading. The incident entity also loads with a lookup field having the focus with the same result. I've updated outlook and IE with latest patches etc.
While one obvious answer is to wait for the form to load, I have been tasked with seeing if there is any other way around this. Has anyone run into this or have any ideas? The only thing I can think of is to add a text field to the entity such that it gets the initial focus and onchange, pretend it is a customer lookup and populate the real field accordingly. This seems like an awful hack hence this email asking for ideas!
MS confirmed that this was a bug and it has been fixed in a subsequent CRM Outlook addin rollup. Can't remember which one...

How to get data out of entity in script in CRM 2011

I have 2 entities (for this example) in CRM 2011 - Account and Case. The Account holds all of our clients, the case holds individual work actions for an account. When a case is created one of the input fields is the Account.
What I would like to do is upon the user selecting the Account, execute some javascript to look up the account entity to display some additional information.
So far I have got the javascript working that triggers the onchange event of the Account field, and it correctly gets the selected Account, but I don't know what the next step is.
I'm new to CRM so don't really know if what I'm asking is actually sensible, if there is a better way then please let me know.
Thanks!
For the record, the way you were thinking about doing things would be completely supported, and TechHike's method is supported in CRM 4, not CRM 2011. Steps you would take:
Use CRM 2011's web resources to upload a script file that does what you want.
Use the form editor to make your javascript method from step one fire when the Account field changes on the form
Make a request to CRM's REST endpoint (http://msdn.microsoft.com/en-us/library/gg334767.aspx) to retrieve the details of the account selected
Use the results to populate fields on the form, show a popup with details, etc.
There are plenty of examples of caling the REST endpoint from JavaScript in the SDK (http://msdn.microsoft.com/en-us/library/gg309408.aspx). Good luck!
Matt's post above contains everything you need to know, but you might also find the blog post below useful. It basically describes the same scenario where you have a 1:n relationship (such as Case and Account) and details how you can pull information from a specified lookup (e.g. account), using the REST endpoint (as Matt has already mentioned) and display it on the form.
http://community.dynamics.com/product/crm/crmtechnical/b/crminthefield/archive/2011/02/07/showing-related-information-in-a-crm-2011-form.aspx
The blog post includes a link to download a CRM2011 solution already built to give you something to look at how they've achieved this (useful if you're new to CRM2011).
There are two ways to do this, and you may be best to do them both in parallel:
on the Account > Case relationship edit the Mappings. When a user goes to an Account and uses the left navigation to look at Cases (or a grid of Cases on the form) then hits "Add New Case" they are creating a Case from inside the "context" of the Account. You can copy any fields you want to from the Account to the Case record at this point - the Mappings define what field from the Account are copied to which target field on the Case. This will always be the most robust, easiest way to do it but relies on the user starting in the right place.
on the Case for you could also add an onChange script to the Parent Customer lookup to fetch the data from the parent record. I think Stephen's link is probably the best way to do this as it does not copy the fields but allows the user to see them anyway, which is better database design (from a purist standpoint) and means the user always sees current info about the Account rather than possibly out of date stuff. Alternatively if you actually need to copy some fields (maybe the customer's normal SLA say) so that you can use these in other such as scripts or workflows on the Case then have a look at this article: Disabling the selection of contacts for opportunities all the way
Although this is about a slightly different topic, the script there fetches the Account details of the parent Contact - you want to fetch values from a parent (llokup) field so the approach is the same, just different in the detail
There are various ways to do this but I would recommend doing it the supported way, without javascript. This may not be as pretty but it is likely much easier. The scenario would be to add a left navigation link to the case entity that when clicked will update the content area to show the details of the account.
To add a link to the left navigation you will need to configure the isv.config file to have an extra link for the case entity.
Here's an example:
http://support.sfusion.com/kb/hosted-microsoft-crm-4/how-do-i-modify-the-isv-config-file-in-microsoft-crm-4/
You can also lookup isv.config customizations in the SDK, found here:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=82e632a7-faf9-41e0-8ec1-a2662aae9dfb&displaylang=en
Next you will need to create a custom aspx page in the ISV folder of the web server. This page will display all the information about the account that you want to show the user when the left navigation link is clicked. The ISV.config as an xml property that allows you to pass all the context params to your page on the querystring. Make sure when you create the link to turn on this attribute.
Now the only tricky part is that in the page you will need to use the CRM web service to display all the account details that you interested in showing the user. I won't do into details on this. You can find great tutorials on the web or in the SDK if you haven't done this before.

Resources