Fix: Invalid ‘where’ condition. An entity member is invoking an invalid property or method while using LINQ in CRM 2013.


Hi,

We were writing a LINQ query to get the contract record information by passing in the lawyer name. The lawyer is a lookup in the contract record.

So we were using contract.lawyerid.Name field of lookup in our where condition.

However we got the below error while doing so..

 

It seems like the LINQ Implementation for CRM doesn’t correctly interpret the lookup field’s name if we are using it in the where clause.

The solution was to do a join between the entities and then use the where condition against the lawyer entity username field itself.

Hope it helps..

CRM 2013 Tool – CRM 2013 One Click Navigation


Fixes some of the navigation issues in CRM 2013..

Hosk's avatarHosk's Dynamic Blog

Gather round children Uncle Ben is going to tell you a story.

Once upon a time Microsoft updated it’s CRM version from CRM 2011 to CRM 2013 and during this process removed the popular left hand navigation and replaced it with a better looking but much harder to use new navigation.  Highlights of the new navigation

Top menu disappearing just as  you try to go to it (this has been fixed a bit in the latest rollup because it stays there longer)

impossible to find Advanced find button

a smaller command bar with only room for 5 items (bumped up to 7 in the latest release)

To speed this story up,  Rockton Software commissioned a contest to see who could create the best solution to help the CRM 2013 navigation.   CRM MVP’s from all the land flocked round to battle it in a winner takes all ($5000 reward).  You…

View original post 340 more words

Sample HttpModule for CRM 2013 on premise.


Suppose we have to redirect user belonging to a specific group to some specific page, while they try to access CRM 2013.

For this we can implement an HttpModule

Sample code


public class Class1 : IHttpModule
{
public void Dispose()
{

}
public delegate void MyEventHandler(Object s, EventArgs e);
private MyEventHandler _eventHandler = null;

public event MyEventHandler MyEvent
{
add { _eventHandler += value; }
remove { _eventHandler -= value; }
}
public void Init(HttpApplication context)
{
context.AuthenticateRequest += new EventHandler(ContextOnAuthenticateRequest);
}

private void ContextOnAuthenticateRequest(object sender, EventArgs eventArgs)
{
HttpApplication app = sender as HttpApplication;
HttpContext context = app.Context;

// if the user belongs to adminsitrators role or reporting group
// redirect the user to bing.com
if (context.User.IsInRole(@"BUILTIN\Administrators") &&
context.User.IsInRole(@"LSS\ReportingGroup {0993772e-cfb6-47ba-8b88-2129bfc97f89}"))
{
app.Context.Response.Redirect("http://www.bing.com");
}

if (_eventHandler != null)
_eventHandler(this, null);
}
}

 

Put the dll in the bin of the CRMWeb

..\Microsoft Dynamics CRM\CRMWeb\bin

And register the http module in the web.config

(use sn –T MyModule.dll to get the public key token)

Moreover this can be implemented using URLRewrite as it runs before the authentication so we wont be able to get the username

http://www.iis.net/downloads/microsoft/url-rewrite

Hope it helps

 

 

How to – Use Pre-Filtering in Fetch XML based report in CRM 2013 online.


Hi,

We recently had a requirement to run a report on the form of a custom entity named incident.

It should show incident data and its related entity data i.e. contact and account.

Incident is having n: n relationship with Contact and Account here.

Here we will create three data sets one for showing the incident data and other two for the related entities.

Create a DataSet for Incident to fetch the incident record information (using Advanced Find View).

Make sure to set enableprefiltering as 1

This will create a report parameter in the report

Next we will create a DataSet for Contact entity which is n: n (many to many) related to Incident.

Download the fetch xml and add enableprefiletering attribute

Follow the same step for the DataSet for account entity related to Incident.

While uploading the select Display in value as “Forms for related record types” to run the report in the context of the form.

Report will start appearing in the Incident Form

Sample screenshot

 

Hope it helps

Advertisements

CRM 2013: JavaScript – RetrieveMultiple records using FetchXML query and SOAP Endpoint


dynamicscrmgirl's avatardynamicscrmgirl

When retrieving information from multiple related records, I prefer using FetchXML and the SOAP endpoint over OData. To use FetchXML with JavaScript, we need the “RetrieveMultiple” message in the CRM Organization Service, which is available via what the CRM 2013 SDK (version 6.0.2 at time of writing) calls the “Modern App SOAP endpoint”.

View original post 1,384 more words

Debugging online plugin in CRM 2013.


Hi,

Let us take a simple plugin to understand the debugging process. We need the profile which we will use for debugging.

Register the plugin (debug version) and corresponding step using plugin registration tool.

Select Install Profiler in Plugin Registration tool and wait till the installation is complete.


Select the Step in Plugin and Click Profile in the tool

Select Ok in the dialog box

Open CRM and perform the step that will run the plugin.

Download the log file.

Open Visual Studio and attach debugger to PluginRegistrationTool.exe

Go back to Plugin Registration tool, select the step and select Debug from the tool bar.

 

Specfiy the log file in the Profile location and plugin assembly that is in debug folder.

Click on Start Execution to start debugging

Hope it helps.