To send a crm report output to recipients using email at a specified time http://blog.customereffective.com/blog/2014/05/crm-report-scheduler.html
Friday, 13 June 2014
Thursday, 29 May 2014
how to access crm record attributes from an opened window
For modeled window
window.showModalDialog(strSourceURL,window,"dialogHeight:600px;dialogWidth:450px;center:yes; resizable:0;maximize:0;minimize:0;status:no;scroll:no");
window.dialogArguments.Xrm.Page.data.entity.attributes.get('crm attribute name').setValue('some value');
---
For non modeled window
window.open(strSourceURL,"customsearchwindow","dialogHeight:600px;dialogWidth:450px;center:yes; resizable:0;maximize:0;minimize:0;status:no;scroll:no");
window.top.opener.Xrm.Page.data.entity.attributes.get('crm attribute name').setValue('some value');
--
Wednesday, 21 May 2014
Creating a custom web.net application that will be hosted in the isv folder
1. Create an empty asp.net website,
2. Add reference to the following assemblies
AntiXssLibrary
Microsoft.Crm
Microsoft.Crm.Platform.Sdk
Microsoft.Crm.Sdk
3. Update web.config enter following details
4. To reference fields on the crm entity form use
add a following line in the head tag of aspx/html page
<script type="text/javascript" src="/<crm org name>/webresources/clientglobalcontext.js.aspx"></script>
and then to reference the field on the entity form
<script type="text/javascript">
window.top.opener.Xrm.Page.data.entity.attributes.get("prefix_attributename").setValue("some value")
</script>
2. Add reference to the following assemblies
AntiXssLibrary
Microsoft.Crm
Microsoft.Crm.Platform.Sdk
Microsoft.Crm.Sdk
3. Update web.config enter following details
<?xml version="1.0"?>
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="CrmAuthentication"/>
</modules>
</system.webServer>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>
<system.web>
<compilation debug="true">
<assemblies>
<add assembly="System.Web.Extensions,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.ServiceModel.Activation,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Runtime.Serialization,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.ApplicationServices,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Configuration,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.ServiceModel,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Services,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Data,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Core,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Drawing,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.ServiceModel.Web,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Data.Services.Client,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Services.Design,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Design, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.DynamicData,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.ComponentModel.DataAnnotations,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Entity,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
</system.web>
</configuration>4. To reference fields on the crm entity form use
add a following line in the head tag of aspx/html page
<script type="text/javascript" src="/<crm org name>/webresources/clientglobalcontext.js.aspx"></script>
and then to reference the field on the entity form
<script type="text/javascript">
window.top.opener.Xrm.Page.data.entity.attributes.get("prefix_attributename").setValue("some value")
</script>
Monday, 19 May 2014
Reporting Service Error
When trying to open the URL http://<<devbx>>/reportserver I was getting the error
Reporting Services Error
____________________________________________________________________________
The permissions granted to user 'domain\kaleemkhan' are insufficient for performing this operation.
(rsAccessDenied) Get Online help
____________________________________________________________________________
SQL Server Reporting Services
Resolution:
Open the browser with the option of 'Run as administrator'
---------------------------------------------------------------------------------------------
I created few reports and only one of them was working but others were giving following error
"...The server can not run the report or shared data set. The shared data source 'CRM' for the report server or SharePoint site is not valid.."
Reason:
The reason is when we run the report in CRM it tries to replace the connection string of the crm org i.e. org details ending with _MSCRM with the inline server details but when we use the shared data source report doesn't contains the connection details hence we get error.
Resolutions:
The report is created using the shared data source, and the reason one of the report was working was due to that was the first report and BI studio embedded the connection details with in the report and CRM detected that and update it with the inline crm server and org details.
SQL Reporting Server log path
<program files>\Microsoft SQL Server\MSRS<10_50>.MSSQLSERVER\Reporting Services\LogFiles
replace data in the < > with the relevant details.
Reporting Services Error
____________________________________________________________________________
The permissions granted to user 'domain\kaleemkhan' are insufficient for performing this operation.
(rsAccessDenied) Get Online help
____________________________________________________________________________
SQL Server Reporting Services
Resolution:
Open the browser with the option of 'Run as administrator'
---------------------------------------------------------------------------------------------
I created few reports and only one of them was working but others were giving following error
"...The server can not run the report or shared data set. The shared data source 'CRM' for the report server or SharePoint site is not valid.."
Reason:
The reason is when we run the report in CRM it tries to replace the connection string of the crm org i.e. org details ending with _MSCRM with the inline server details but when we use the shared data source report doesn't contains the connection details hence we get error.
Resolutions:
The report is created using the shared data source, and the reason one of the report was working was due to that was the first report and BI studio embedded the connection details with in the report and CRM detected that and update it with the inline crm server and org details.
SQL Reporting Server log path
<program files>\Microsoft SQL Server\MSRS<10_50>.MSSQLSERVER\Reporting Services\LogFiles
replace data in the < > with the relevant details.
Thursday, 8 May 2014
Getting error of mulitpart root elements found when running custom activity to export report as pdf
when running a custom workflow activity which interacts with the sql server and exports the pdf file for it I was getting error message as multipart xml found however the config records had the correct xml. After a bit of investigation I found that the error message was actually coming from the SQLserver so I looked for the SSRS logs at the following location
%ProgramFiles%\Microsoft SQL Server\MSRS<your_version>.mssqlserver\Reporting Services\LogFiles
The error message was about the Data Source I used in the report for CRM wasn't of name DataSource_MSCRM and the report server had a data source of this name.
Resolution:
Update the Data Source name of the report hosted in the CRM to DataSource_MSCRM having embedded data source option selected.
Though the report worked fine from with in the CRM I was getting error from the custom activity so could be the error and resolution is very specific with the custom activity I used.
%ProgramFiles%\Microsoft SQL Server\MSRS<your_version>.mssqlserver\Reporting Services\LogFiles
The error message was about the Data Source I used in the report for CRM wasn't of name DataSource_MSCRM and the report server had a data source of this name.
Resolution:
Update the Data Source name of the report hosted in the CRM to DataSource_MSCRM having embedded data source option selected.
Though the report worked fine from with in the CRM I was getting error from the custom activity so could be the error and resolution is very specific with the custom activity I used.
Tuesday, 29 April 2014
Optionset showing values which haven't been added - feature from CRM but bug to me (Mystery in the start... but no more)
We have installed managed solutions into system test environment and then run the data import process by the business provided sheets which were converted to csv.
After a while business requested that one of the option is not triggering the functionality when looking at the option, that option wasn't even provided by us i.e. from dev environment. but it does exists in the system test and other environments.
After spending quite a bit of time, I figured it out the option was added due to business provided that option in the data import sheet, and actually that option wasn't specified with in the FSD and we didn't implement any logic against that option.
When data import is done for the optionset value CRM maps the value if the optionset value exists if it doesn't exists then CRM CREATES THE OPTIONSET VALUE AUTOMATICALLY, where I was expecting the records to fail.
Now I know what the reason is we explained the business what has happened and we need to work on to update customization i.e. javascript/plugin to consider the new value as well.
After a while business requested that one of the option is not triggering the functionality when looking at the option, that option wasn't even provided by us i.e. from dev environment. but it does exists in the system test and other environments.
After spending quite a bit of time, I figured it out the option was added due to business provided that option in the data import sheet, and actually that option wasn't specified with in the FSD and we didn't implement any logic against that option.
When data import is done for the optionset value CRM maps the value if the optionset value exists if it doesn't exists then CRM CREATES THE OPTIONSET VALUE AUTOMATICALLY, where I was expecting the records to fail.
Now I know what the reason is we explained the business what has happened and we need to work on to update customization i.e. javascript/plugin to consider the new value as well.
Subscribe to:
Posts (Atom)