Mixing early-binding and late-binding with nameof operator in C# [CRM]

nameof expression in C#6.0

Bernado Nguyen-Hoan's Blog - Coding Stories from an IT Mercenary

There are many benefits of using early-binding when coding against CRM. There are times however when you need to fall back to late-binding, for example when you need to query relationships, or when you need to call Retrieve to optimise performance (as this service call allows you to load only selected fields of a record).

Rather than using literal string, you can use the nameof operator in C# 6 to get the attributes and relationship names. This works because the properties of the early-binding classes are generated based on the attributes and relationship names in CRM.

For example, to get the AccountNumber field of an Account record:

And there you have it: late-binding with all the early-binding zen!

View original post

Solution with ID doesn’t not exist error while using “Applying Solution Upgrade” in Dynamics 365 (CRM 2016 Update 1)

We had a requirement to delete few of the components from the solution and we followed the new feature that is now available for this in product, starting from CRM 2016 Update 1.

https://nishantrana.me/2016/10/16/how-to-delete-components-from-managed-solution-in-dynamics-crm-2016-without-using-holding-solution/

However, we ran into the following error while trying to apply solution upgrade i.e. Solution with ID does not exist.

First time it worked properly and deleted the components from the TEST environment. Then we removed few more components and tried applying this updated solution again to remove those remaining components from our TEST environment, that is when we got this issue.

The issue happens because of certain orphan records which still exist in the database and references the old deleted solution.

Below is the fix for this issue (i.e. update those records in the database).

http://ronaldlemmen.blogspot.de/2015/11/solution-with-id-86ac16ec-41d7-4685.html

http://code2life.blogspot.in/2016/09/crm-2016-sp1-solution-import-failed.html

However as in our case, as it was online we ended up creating the product support ticket to do the same

Other issues that we faced in CRM 2016 Update 1 

Hope it helps..

Few more interesting issues in New Form Rendering in CRM 2016 Update 1

We recently upgraded to CRM 2016 Update 1 and there seems to be noend to the different product issues that we are facing.

The latest ones are missing scroll bar in BPF when a particular stage has large number of fields in it and the other one being “Click to enter” info appearing at wrong place in BPF for fields.

Legacy Form Rendering

The same form in New Form Rendering

Below are the other issues that we have faced in New Form Rendering till now

https://nishantrana.me/2016/12/09/bug-in-new-form-rendering-crm-2016-update-1-add-new-button-not-working-for-opportunity-product-sub-grid-in-opportunity-form/

https://nishantrana.me/2016/11/28/onchange-event-getting-fired-on-setvalue-in-crm-2016-update-1-new-form-rendering/

https://nishantrana.me/2016/11/25/recommended-field-showing-up-as-required-field-issue-in-dynamics-365/

Well it seems like in Dynamics 365 we do not have the issue with scroll bar for new form rendering but the click to enter bug still seems to exist

bug

Hope it helps..

Add hyperlink (and button) in Form Notification in Dynamics 365 (CRM 2016 and earlier)

Recently we were working on a requirement wherein we wanted to add a hyperlink to the Notification that we were showing on the form.

For this we can use the following Jscript library

https://notifyjs.codeplex.com/

The JScript code:

Output:

Clicking on Details opens the page specified in the callback function.

The other option is to show hyperlink within a web resource and putting it inside the form.

https://nishantrana.me/2012/02/09/showing-related-entity-information-in-header-as-hyperlink-crm-2011/

Hope it helps..

Inviting existing Contacts to Portal in Dynamics 365

For inviting existing contact records as user of the portal we can follow the below steps.

Open an existing contact record and click on Create Invitation button

This creates the invitation record along with the invitation code.

Select and run the Send Invitation workflow.

The steps for the workflow are as below.

The contact\user receives the link for the confirmation

Clicking on the link opens the portal wherein user\contact can redeem the Invitation Code and Register.

User can set up username and password during registration.

Once registered user can access the portal and update the profile further and can also change the password, email etc.

The Contact record in CRM gets updated accordingly.

Hope it helps..

Setting up Portal Trial in Dynamics 365

Create your dynamics 365 trial as a first step (if not already created)

https://signup.microsoft.com/Signup?OfferId=bd569279-37f5-4f5c-99d0-425873bb9a4b&dl=DYN365_ENTERPRISE_PLAN1&Culture=en-us&Country=us&ali=1

Once trial is set up successfully, open the admin center for Dynamics 365 and select Applications and click on Manage to configure the portal.

Provide details for the portal

Click on Accept

Grant Permission to the Portal

We’d get the below message

After some time

Clicking on here takes us to the manage your solutions page

Once configured we’d see the following area\groups\sub groups added to site map specific to portals

Portal : 

myportal

 

Hope it helps..