|
One of the best new capabilities in the Microsoft CRM 4.0 offline client is the
ability to run CRM reports off-line. When you install Microsoft CRM for Outlook
with Offline Access, it will install the Microsoft Report Viewer
Redistributable 2005. When you are on-line, reports will run as normal in
Microsoft CRM. When you "go off-line," the reports will still run; however,
they will only reflect the data synched to your off-line SQL Express database.
This is a fantastic new capability, as it allows users to view reports on their
local data, even when they are not connected to CRM.
If you decide to deploy off-line reporting in CRM, you will need to consider
the ramifications that it has on hyperlinks. If you include any drill-through
hyperlinks to CRM in your reports, you will not want to "hard code" your CRM
URL (for example http://crm/etc).
Instead, use CRM's CRM_URL hidden parameter to build your CRM hyperlinks. You
can see full details here. In a nutshell, here are the high-level steps:
1. Create a parameter in your report called CRM_URL. Check the checkboxes to
allow null values and internal.
2. When you build your hyperlink, use the following format (in this example,
for accounts): = Parameters!CRM_URL.Value &"?OTC=1&ID={"&
Fields!accountid.Value.ToString() &"}"
3. Update the "OTC=" with the object type code of the entity that you are
linking. If you don't know the OTC of the entity, consult the Microsoft CRM
Metadata Browser.
4. Remember that the OTC for custom entities can be different in different
environments. If you decide to publish your report to another environment, and
it includes a hyperlink to a custom entity, you will need to update the
hyperlinks. The good news is that if you are linking to a system entity, you
will not have to change anything—your dynamic hyperlink will work fine.
This is a fantastic new capability, as it allows users to view reports on their
local data, even when they are not connected to CRM.
If you decide to deploy off-line reporting in CRM, you will need to consider
the ramifications that it has on hyperlinks. If you include any drill-through
hyperlinks to CRM in your reports, you will not want to "hard code" your CRM
URL (for example http://crm/etc). Instead, use CRM's CRM_URL hidden parameter
to build your CRM hyperlinks. You can see full details here. In a nutshell,
here are the high-level steps:
1. Create a parameter in your report called CRM_URL. Check the checkboxes to
allow null values and internal.
2. When you build your hyperlink, use the following format (in this example,
for accounts): = Parameters!CRM_URL.Value &"?OTC=1&ID={"&
Fields!accountid.Value.ToString() &"}"
3. Update the "OTC=" with the object type code of the entity that you are
linking. If you don't know the OTC of the entity, consult the Microsoft CRM
Metadata Browser.
4. Remember that the OTC for custom entities can be different in different
environments. If you decide to publish your report to another environment, and
it includes a hyperlink to a custom entity, you will need to update the
hyperlinks. The good news is that if you are linking to a system entity, you
will not have to change anything—your dynamic hyperlink will work fine.
The result will be a dynamic hyperlink that will point to the CRM server when
viewed on-line, and link to the local machine CRM environment when off-line.
This approach will also ensure that your links work properly when viewed via
Internet Facing Deployment.
One caveat—the CRM_URL hidden parameter only works when reports are viewed via
the CRM report viewer. If your reports are viewed external to CRM, like on a
SharePoint dashboard, you will still need to hard code the CRM URL. Not too big
of an issue, because if you were able to view your SharePoint dashboard, you
would have to be on-line.
|