How to display notes in opportunity form of mscrm 2011? - dynamics-crm-2011

I need to display account notes across all opportunities. typically a MSCRM creates a blank Notes section for each new Opportunity you create inside a account, but I need to display a running Account dialog of conversations to review in one continues notepad (means display all notes).
Can anyone tell me how I can display all notes in the opportunity form?
Is this possible without coding (or in fact, with coding!)
Thanks in advance,
SD

Well you can do this a few different ways.
1) The easiest way is to add an IFRAME and then point to the applicable Account notes container. You'd have to set the "id" attribute based on the account. Here's what your IFRAME url will look like:
/_controls/notes/notesdata.aspx?EnableInlineEdit=true&EnableInsert=true&id=%7bEF88BCAA-C3EB-E111-B142-78E7D162EE67%7d&ParentEntity=1
2) If you are only wanting to display the notes and not allow for a user to edit them (read-only), then you'll need to use fetch to query the annotations where the related id equals the account.

Just to be clear the on requirement here.
I believe you are saying: Each Account has multiple Opportunities, each Opportunity has many Notes. On the Account you want to show all the Notes for all the Opportunities.
I don't think you can achieve this with out of the box functionaility, I would suggest creating an SSRS report and iFrame'ing it in.

Related

Requesting Advice: Categorize Account Entity

I have recently inherited a very messy Dynamics CRM system from my predecessor. I want to clean up the way our company navigates around Accounts. At the moment, there are 3 views and one form with about 2000 (exaggeration) lines of javascript code!
We categorize accounts into three types; TypeA, TypeB, TypeC. This is controlled by an Option Drop Down. Once selected, the screen hides/shows depending on it. This has meant we have a very wide AccountExtensionBase table. I am accepting I will have to live with this as I am have been led to believe that building a 1..1 extension is not as easy as it seems?
What I would like to do is change the 'Workplace -> Customer' menu on the right hand side of CRM. I'd like to add three clickable options so it would read
Customers
Accounts
TypeA
TypeB
TypeC
Contacts
Upon clicking, for example, 'TypeA' it would take the user to the 'TypeA' accounts which are filtered by a pre-defined view. Then, any request for the Account Form from this view would redirect the user to a specific 'TypeA' form, which I have yet to create.
I have read this article here Crm 2011 - How to set a default form depending on attribute value (without using Javascript)? which is a good example of how to re-direct the forms. However, I am unsure how to handle this from a 'New' request, as the drop down is not yet populated.
Is there a way of building this concept cleanly in CRM? I am finding it hard to get any decent Google results as I am unsure of what terminology I should be using.
Any help or links to suitable guides would be hugely appreciated.
Thanks.
I think these are the droids you are looking for:
http://www.powerobjects.com/blog/2013/03/08/displaying-filtered-view-in-site-map-crm-2011/
Granted it is for CRM 4, however it may work in 2011.
You might also look at:
http://mscrmtools.blogspot.com/2011/06/new-tool-sitemap-editor-for-microsoft.html

How can i provide role based security to notes in MS CRM 2011

I am working on Notes in MS CRM 2011.
I have many roles over many entities.
I want role based security to notes for any entity records.
let me explain what i want:
Suppose i have an entity namely E1.
Role R1 and R2 has read and write access to E1.
But i want that user having role R2 can only upload and view notes for any record of entity E1.
Hope now my requirement is clear to all of you.
Please suggest me how can i achieve it using MS CRM 2011.
I can think of two ways to do this.
You can create a plugin on create/update of the annotation(note) and check if the note is related to entity E1 and check the roles of the user making the change and see if they only have the R2 role. If that is the case you can throw an InvalidPluginExecutionException with a message like 'You do not have permissions to edit/create these records'.
You can try using role based forms or JS to hide the notes area for R1 users.
You probably want to use a combination of #1 & #2. The users can still access the notes via advanced find and thus will be able to edit those notes. The plugin will prevent that fringe case as well.
*Edit
There are a couple more things that you might be able to deal with the advanced find records. You can remove the annotation entity from advanced find via the unsupported method described here.
Otherwise there is one more thing you can do if you want to prevent those results showing up at all, and you want to stay supported. You can write a plugin on Post-RetrieveMultiple of the annotation entity to strip out the results directly from the return result. There are a couple downsides to this though.
You are executing your plug-in every time the retrieve multiple is called on the entity. So this code will need to be as efficient as possible since that delay will be noticeable by the end user whenever they retrieve these records.
Things like advanced find will display odd results. For example if your paging is set to 50 records and you strip out 10, they will only see 40 records on their page and the total record count will include the records you are stripping out.
Through roles i don't know a way to do that, because you configure the access to notes generic, so applies to all entities. You have to access with Javascript navigating in DOM. Check a example:
document.getElementById("notescontrol").contentWindow.document.getElementById("NotesTable")
You can check this with the help of a develeper tool in your browser.

CRM 2011: Lookup in HTML Web Resource

Can a lookup be used in an HTML web resource?
I have replaced the command of the "Convert to Case" button on the email entity.
It now opens up an html web resource on click.
I need to show lookup fields to Customer and Subject.
Is there an alternative to a lookup for this situation?
Adding lookups to your own page is definitely a pain since they don't 'provide' you with a control to add it to your HTML resources. I am also not aware of any toolkits that are readily available.
A possible solution for displaying subjects (assuming you don't have too many) would be to use a HTML select element and populate it with the possible values.
As far as the customer goes, it will most likely take some creativity or elbow grease to replace since most likely you have too many accounts/contacts to display in a HTML select. One thought is you are most likely converting an e-mail with a contact or account already in the e-mail (from or regarding fields). You can try and pull all the accounts and contacts from the e-mail fields and allow the user to select one of those via radio, select, etc.
If something like that doesn't work then most likely you will need to create your own lookup, or something similar like a text box with an inline grid that gets filtered like a lookup so you don't have to recreate the entire dialog experience.
Hope that helps.

Sharepoint Attendees without a Workspace for Calendar Event

I am wondering if it is possible to have a custom form in Sharepoint 2010 where I am able to add/edit a calendar event and access the attendees list that is normally visible on the workspace page.
I assume that perhaps I need to at least hard code a workspace to be selected as I believe attendees need to be assigned to a workspace.
Open to suggestions as I'm new to Sharepoint but seems crazy having to create or link to a workplace for each event.
Greatly appreciate any help.
#WashBurn not sure if this what you are looking for. Goto your calendar - list settings. goto the "Content Types" section. click the content type...should be event. from there click "Add from existing site content types " and attendees should be in there. hope that helps!
There is a simple (unfortunately not intuitive) way to achieve what you are trying to do.
click on list settings for your calendar list. You will see about half way down a section called content types.
![enter image description here][1]
Click on the event content type (which should be there by default.
this takes you to another similar screen where you can simply add the attendees column.
Once you know that attendees are part of an event it is then intuitive.
Hope this helps.
This is one of many nasty little things that come up when you try to build your meeting management on SharePoint. Other very common problems include integration with any e-mail client, first of all Outlook but not only, sending meeting requests from SharePoint and handling the respoded attendee's status...
The SharePoint calendar e-mail extension is a third party solution that might solve your problem.
Here is the link: http://www.sapiens.at/en/products/pages/sharepoint-calendar-e-mail-extension-3.0.aspx
Every SharePoint list (wether it's document library, calendar, lnks or custom list) have both a Create Form, Edit Form and a Delete Form. Each of which you through SharePoint designer can create your own custom versions of, in your case, this is needed to edit a Calendar List item with its associates/attachments.
Read one of Microsoft's own guides on how, here
Although this is a very old post, i just ran into the same issue and figured out a way to solve this issue.
Simply go into the Content Type 'Event' and add the Column 'Attendees' :)
Then you can also use the attendees as input for a workflow, e.g. to notify them on Event creation/update. i attached two Screenshots to show how you can do that using SharePoint designer!
With this phrase you can add the Link to the Event into the Mail Body:
[%Workflow Context:Current Item URL%]
Hope that helps other people in the future.
I believe I have the solution we are all looking for.
Create a standard event calendar (the one that does not have attendees)
Add the 'Schedule and Reservations' content type to the calendar from the list settings page
Modify the 'Calendar' view so the filters read
attendees is equal to me
OR
attendees is equal to
The second entry is completely empty but allows SP to match for no attendees
You can add more columns with OR statements if you need to be sorting based on additional groups
This worked for my needs, hope it works for everyone else

SharePoint 2010 - Customizing the rendering and behavior of a List field

In my SharePoint List, I have an "Employee" column that is a User type field. I would like to add some custom Business Logic to the processing of this field.
Currently, when the user adds a row, I check to see if the user is an Employee or a Manager and then change the behavior on this column accordingly. I do this by statically rendering the field in my custom "ListForm Rendering Template", just before my custom ListFieldIterator. I simply use a standard SharePoint FormField (and FormLabel) control. In the markup of the FormField control, I specify the FieldName (Employee) and an event handler for the Load event. In this Load event, I will check to see if the current user is an Employee or Manager (using two different SharePoint groups). If the user is an Employee I set the value of the field to the current user (this part works perfectly). I also want to change the field so it can't be modified. I thought I might be able to just change the ControlMode on the field (in the code of the OnLoad Event Handler) to Display, but for some reason this has no effect. The field still renders with the full, people picker editor. Am I not changing the fields control mode soon enough? Or is this simply not the correct approach? The other logic I want to put in is if the user is a Manager, I would like to allow that user to select the person from a list (SharePoint group) of Employees. It may be easier to just use the people picker and limit the selectable users to that group. (I think I can do this with the SelectionGroup property.) Although, it would be better if I could just provide a dropdownlist of users, which I could possibly do with a hidden dropdownlist that I would show and event handlers that I could use (handle event selectedindexchanged) to pull the value selected and populate the (now hidden) Employee (user) field. Does this approach make sense? Assuming all that will work, the real difficulty I am having is with changing the ControlMode (rendering) on the field (when the user is an employee) to a label or some kind of read only control, which is how that field renders when viewing the row, which is why I think if I can just trick the control into thinking it is in Display mode then it should work perfectly!
I am still learning SharePoint, but I am very proficient in ASP .Net. This is why I would like to keep my customizations in this Custom Rendering Template, using code behind and leverage my existing skill set as much as properly.
Any thoughts, opinions or advice? Does anyone know why I can't get the column to switch the "Control Mode"?
I do not think that I fully understand your scenario. Some code samples could help.
But anyway it sounds like you want some heavy customizations of the user field. In that case you might want to have a look at creating a custom field with all its advantages and disadvantages. Have a look at MSDN: http://msdn.microsoft.com/en-us/library/gg132914.aspx
Another option might be - in case you do not want to re-use this column in many list definitions - that you can get away with your custom rendering template and create a custom create/edit form where you implement the specific edit behaviour for the field (plain ASP.NET with some SharePoint controls). Here is a nice walk-through on how to grab a custom edit form from SharePoint designer: http://community.bamboosolutions.com/blogs/sharepoint-2010/archive/2011/05/12/sharepoint-2010-cookbook-how-to-create-a-customized-list-edit-form-for-development-in-visual-studio-2010.aspx
I hope this helps. Kr., Bernd.

Resources