CRM 2011: Lookup in HTML Web Resource - dynamics-crm-2011

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.

Related

Create domino view dynamically in XPages

I want to know if I can click a button in my XPage and dynamically create a Domino View and then show it in a panel control on the same page. The reason I want to do this is because I have a categorized view and I don't want to lose category data by using full text search. So I am thinking of creating a new view dynamically and pass my search parameters, like end date or start date, into the view selection formula.
Is it possible? Any other alternative solution is also welcome.
yes you can, but you don't want to. A Domino view takes space in the database and quite some time for its first use. So you end up with a lot of views taking space and the need to adjust database space after removal. Your response times will suck big time.
Categories as shown in Notes views are no web interaction pattern, so you might want to solve a problem that actually shouldn't exist.
The preferred method for Domino application is navigation / drill down over search. But you could do a FTSearch where you add your category to the search parameters and render your results in a repeat control instead of a view control. There you have more control over the look and feel.
Whether or not it's the best solution, the answer to the immediate question about creating a view on the fly is yes: the Database class has a couple "createView" methods to allow you to create a new view, either entirely from scratch or based on a named other view. From there, you can use the "setSelectionFormula" and "createColumn" methods in the created View to build what you want. You can't do EVERYTHING with those methods, but it may be enough.
One problem you'd likely run into is ACL access: you'll need Designer rights to the database, which a normal user most likely wouldn't have. If you use the sessionAsSigner object to fetch a signer version of the DB (say, "var signerDB = sessionAsSigner.getDatabase(database.getServer(), database.getFilePath())"), you can work from there. Off the top of my head, I don't remember if you will also have to up the "Maximum Internet access" setting on the last tab of the ACL to Designer as well, but you may.
I am assuming that you are referring to the problem that exists when you choose the documents based on the category. This is something that I find highly annoying and I wish that it was possible to turn this on and off. It makes sense for embedded views, but not for much else.
What I did to solve this was to include the category value in the next column. In this way that text could still be seen, even if it was a flat view.
Alternatively, you could also look into using a repeater control and create your own way of presenting the information. This would be used instead of a (Dynamic)ViewPanel control. You could then present the information any way you wanted as long as it is returned in the viewrow set.
Happy Programming!

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 to display notes in opportunity form of mscrm 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.

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.

finding client ID's of table of listview webpart

short: A listview webpart contains a table with an ID composed of two GUID's, how do I find these?
I am working on adding some additional behaviour to a standard sharepoint listview-webpart.
Preferably I don't want to actually edit the webpart itself. I want to put javascript in a helper webpart to add some onclick events to the table rows which pass the values of the id and status columns to the helper webpart, which then displays some buttons depending on the row's status.
I searched around to see how others tackled this problem, and usually they use the webpart container div with ID WebPartWPQ _n_". The problem is that these webparts are going to be used on lots of sites, and I have no way of knowing the value of _n_.
A bit further down in the hierarchy is the main table of the view, and it also has an ID. In my test-case: {BF3FB0FA-7E7F-4920-A326-B5E46826B693}-{BD0777BD-455D-4554-A80E-8A11D990D1A5}
I figured these two guids must stand for something and could possibly be looked up.
So I went on a search through Sharepoint Manager to try to find those GUIDs, but I can't find them. Neither is the list ID, nor the original View ID, nor the web ID or the site ID.
So my question: Does anybody know what these ID's stand for, and how I can find them with my webpart code?
Have you considered using XSLT to customize the output of the webpart? You could then customize the output HTML and include any identifiers you wish so that you could reference them in your javascript. This is a pretty good description of how to do this: Overriding the presentation of an XSLT List View Web Part.

Resources