Friday, November 12, 2010

Failed to view Report server and get error message "The page cannot be found"

Hi,\
i tried to create a new organization and i faild because report server is down
when view the reportserver url get error message:


















To Fix the problem needs to open Reporting Services Configuration manager and press Start.














\



vwalla report server works.. and now i can create a new organization



















Thanks,
Rami Heleg

Sunday, November 7, 2010

Redeployment CRM failed after success to import users and failed to import report

Redeployment success to import a few reports but failed to import all reports.

In this case need o delete report server Encryption:





















thanks,
Rami Heleg

Failed to redeployment CRM organization

Failed to redeployment CRM organization and get the error message:


13:02:20
Error
Import Organization (Name=LeumiCim, Id=782be048-dde4-df11-968c-00145ebd47b6) failed with Exception:

System.InvalidOperationException: ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.

at System.Data.SqlClient.SqlConnection.GetOpenConnection(String method)

at System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command)

at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)

at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)

at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

at Microsoft.Crm.CrmDbConnection.InternalExecuteNonQuery(IDbCommand command)

at Microsoft.Crm.CrmDbConnection.ExecuteNonQuery(IDbCommand command, Boolean impersonate)

at Microsoft.Crm.CrmDbConnection.SetTransactionIsolationLevel(IsolationLevel il)

at Microsoft.Crm.CrmDbConnection.Dispose(Boolean disposing)

at Microsoft.Crm.SqlExecutionContext.Dispose(Boolean disposing)

at Microsoft.Crm.SqlExecutionContext.Dispose()

at Microsoft.Crm.Tools.Admin.ImportOrganizationInstaller.Import(Guid organizationId, String organizationUniqueName, String organizationFriendlyName, String sqlServerName, String databaseName, Uri reportServerUrl, String privilegedUserGroupName, String sqlAccessGroupName, String userGroupName, String reportingGroupName, String privilegedReportingGroupName, ICollection`1 users, MultipleTenancy multipleTenancy)



After check this error I got that the problem is missing temporary database for reporting service.

Reporting services contain 2 databases:

1. ReportServer

2. ReportServerTempDB

By mistake the database ReportServerTempDB.

To return the temporary database open "Report server Configuration"

.select "database setup" and press "New"





















This option creates the temp database after this process try to run again the redeployment tools.



Thanks,

Rami Heleg

Sunday, October 24, 2010

View CRM log files for instance redeployment file:

View CRM log files for instance redeployment file:


Go to start run write %APPDATA%

Select folder Microsoft\MSCRM\Logs

Many files appear, in this case select the latest modified file.



Thanks,

Rami Heleg.

Redeployment success but get in error message in log file because update version id

Hi,
Redeployment success but get in error message in log file because update version id :

14:54:56
Info
Applying database updates to the organization...

14:55:12
Info
Updating BuildVersion.Revision for all Organization Databases

14:55:12
Warning
Attempting to cancel a long running process: ProgressWizard. This might leave the data in an invalid state and the application might not function correctly.

14:55:12
Info
Organization (XXX) imported.

16:35:51
Warning
Attempting to cancel a long running process: FinishWizard. This might leave the data in an invalid state and the application might not function correctly.

16:35:51
Info
Deployment Manager Exit

The solution for that: install rollup 13 ( never mind if exist ) . Redeployment failed to update version in DB.

Thanks,
Rami Heleg

Tuesday, October 12, 2010

Time out When Email router run SQL queries

Hi,
CRM/Email router return time out when retrieve email queries.
The reason is to query to retrieve Activities/Email.


To solve the issue must add parameter to register.

1. Under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\registry subkey on the Microsoft Dynamics CRM server, add the following REG_DWORD registry entry: SmartMatchingForceOrder

2. Set the value of the registry entry that you just added to 1

BTW Rollup 13 must be installed

Thanks,
Rami Heleg

Monday, October 11, 2010

Use Thread to improve performance.

Option to improve performance for callouts or just server side is to use thread

Here Is an example of using thread:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace thread {

class Program {
static void Main(string[] args) {
  System.Threading.ThreadPool.QueueUserWorkItem(f => {xxx();});
  }

  static void xxx(){
  int a = 8;
  }
 }
}



Enjoy,

Rami Heleg

Sunday, October 10, 2010

How to create a new organization/ import organization and prevent from insert report service URL…?

Everyone know to create/import organization must insert report URL.


We can prevent insert the report URL and of course success to create organization …

How to do that….?


Add the IgnoreChecks registry key to the computer that is running Microsoft Dynamics CRM 4.
 click Run, type regedit, and then click OK.
In the registry, locate the following subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
Right-click MSCRM, point to New, click DWORD Value, and then type IgnoreChecks.  + set Value 1.
Sceen shots:








Thanks,
Rami Heleg

Saturday, October 9, 2010

Failed to open CRM. get error message License Expired.

Hi,
  Open CRM and get error message in CRM+ in event viewer “license expired”.
  Error message appears in two modes.

  1. The first case when the license expired.
  2. When service MS Async Service is down.

Go to services windows, select Async service and run again.
Thanks,
Rami heleg

Find CRM entity name by ObjectID

Everybody knows this strange error message from CRM trace logs: Error Message: SecLib::AccessCheckEx failed. Returned hr = -2147187962, ObjectID: 48355f9a-96c5-df11-90dc-00145ebd47b6, OwningUser: 6d04898c-db79-df11-83b4-00145ebd47b6 and CallingUser: 9cfc1a56-da79-df11-83b4-00145ebd47b6.
CRM failed to perform some action on an entity with ObjectID = 48355f9a-96c5-df11-90dc-00145ebd47b6
The error does not contain the problematic entity name I prefer to know.
So I wrote the SQL script that helps me to find an entity name by ObjectID

DECLARE @objectId uniqueidentifier

SET @objectId = '41DC59A0-96C5-DF11-90DC-00145EBD47B6' – Set your ObjectID here
DECLARE @entityName nvarchar(255), @baseEntityName nvarchar(255), @primaryKeyColumnName nvarchar(255), @sql nvarchar(max), @isActivity bit
DECLARE cur CURSOR FOR SELECT Name, BaseTableName, IsActivity from Entity with (nolock) where IsValidForAdvancedFind = 1
OPEN cur
FETCH NEXT FROM cur INTO @entityName, @baseEntityName, @isActivity
WHILE @@FETCH_STATUS = 0
BEGIN
if(@isActivity = 1 OR @entityName = 'ActivityPointer')
SET @primaryKeyColumnName = 'activityid'
else
SET @primaryKeyColumnName = @entityName + 'id'
SET @sql = 'IF EXISTS(SELECT ' + @primaryKeyColumnName + ' FROM ' + @baseEntityName + ' WHERE ' + @primaryKeyColumnName + '=''' + CONVERT(nvarchar(36), @objectId) + ''') SELECT ''' + @entityName + ''''
exec(@sql)
IF @@ROWCOUNT > 0 BREAK;
FETCH NEXT FROM cur INTO @entityName, @baseEntityName, @isActivity
END
DEALLOCATE cur

Thanks,
Max s

Thursday, September 23, 2010

Define opening CRM as a application

Go to system setting
Select tab: Personal Settings

Select the check box like the image linked
Close the explorer and open the CRM again.



Thanks,
Rami Heleg

Wednesday, September 15, 2010

Failed to install CRM 4.0

Failed to install CRM 4.0.

Failed to install CRM 4.0 and get error message
"the account specified to run the microsoft dynamics crm asynchronous processing service does not have performance counter permissions..."

in Microsoft Dynamics CRM Setup windows.

The reasons can be:
installer must be local admin.
define CRM to run CRM in a user which is not local admin. ( enable to view this data after install in iis - application pool)

Thanks,
Rami Heleg

Monday, August 16, 2010

Get CrmService for specific organization.

I have many organizations and I need the entities for specific organization

The solution


Create crm service where URL contain
?uniquename=org_name

for instance:
http://servername/MSCRMService/2007/Crmservice.asmx/?uniquename=org_name
enjoy,
Rami Heleg

Monday, August 9, 2010

Working with GAC

I CRM 4.0 usual is to work with GAC (Global assembly cache)
Replace file, delete file, copy file.
If failed to delete or copy file from GAC
Make the next instructions:
How to view windows/assembly folder
1. Open Regedit, browse to HKLM\Software\Microsoft\Fusion.
2. Add a REG_DWORD value named 'DisableCacheViewer'; set it to 1
3. open an Explorer window and type in C:\WINDOWS\assembly\GAC_MSIL\

Open GAC ( c:\windows\assembly\msil and copy the relevant file and remove
After finish change 'DisableCacheViewer' to 0
Thanks
Rami Heleg.

Monday, July 19, 2010

Hide field in client side

Hi,
Here is fnunction to hide field in client Side, Javascript:

function HideField(fieldName, visible) {
var label = document.getElementById(fieldName + '_c');
var value = document.getElementById(fieldName + '_d');
if (label)
label.style.display = visible ? 'inline' : 'none';
if (value)
value.style.display = visible ? 'inline' : 'none';
}


thanks,
Rami Heleg

Sunday, July 18, 2010

How to find which Rollup CRM installed?

I installed some rollups.

i want to know if i installed specific version

1. open control panel/ installed updated and check which version like next picture



2. if you see only KBXXX go to crm download rollup center and check the rollup id like this pictures



thanks,
Rami Heleg.

Monday, July 12, 2010

Using RemoteCommand in CRM 4.0

What is it RemoteCommand ?
RemoteCommand is Microsoft XmlHttp interface.

Microsoft blocked the option to use RemoteCommand in CRM 4.0
How to use RemoteCommand in CRM 4.0?
1. Copies file RemoteCommand.JS from CRMWEB\_static\_controls\RemoteCommands to user local folder with JS and rename the file for instance customRemote.js
2. Rename function: RemoteCommand to CustomCommand and add another parameters for instance:
function CustomCommand (sObject, sCommand, sUrlBase, sNamespace)
3. Change the row:
var sCommandNamespace =_sWebServicesNamespace; to
var sCommandNamespace = sNamespace ? sNamespace : _sWebServicesNamespace;

finish to change the file.

Call to function from Javascript:

var cmd = new CustomCommand('webServiceName', 'functionName', '/MySite/', 'http://NameSpace');
cmd.SetParameter('incidentID', objectid);
cmd.SetParameter('targetID', instanceID);
var rslt = cmd.Execute();
if (!rslt || !rslt.ReturnValue){
//work good
return;

}
if (rslt.ReturnValue.errorDescription) {
//Failed
alert(rslt.ReturnValue.errorDescription);
return;
}

Define name space in c# code:

[WebService(Namespace="http://NameSpace")]
public class webServiceName: System.Web.Services.WebService {


thanks,
Rami Heleg,

Set in client Side values into disabled field

To set value into disabled field must set values like that:

crmForm.all.new_myfield.ForceSubmit = true;
crmForm.all.new_myfield.defaultValue = crmForm.all.new_myfield.DataValue = value;

by default crm doesn't send disbaled values from client to server in save entity.

thanks,
Rami Heleg

Audit - who opened CRM pages

I want to write in audit log who opened crm pages ( view contact, account etc...) what should i do?



with PlugIn registration register to message retrieve for the relevant evtities.



retrieve event appear only if open the edit.aspx page with record.
open edit.aspx in new form, crmForm.FormType = 1 will not exevute the event.



thanks,
Rami Heleg

Monday, July 5, 2010

Create CrmService with Caller Id

Here is the example to create CrmService:

CrmAuthenticationToken token = new CrmAuthenticationToken();
token.OrganizationName = "org1";
token.AuthenticationType = 0; //Active directory
token.CallerId = userGuid; // impersonate to this user
CrmService pService = new CrmService();
pService.Url = _strServerUrl + "/MSCRMServices/2007/crmservice.asmx";
pService.CrmAuthenticationTokenValue = token;
pService.Credentials = DefaultCredential();

i can create crmService from two type

1. CrmService as web service from mscrmservices\2007
2. Microsoft.Crm.SDK.

to change the callerid i failed to do it if i used Crmservice from webservice.

i test the issue and changing the caller works only if Crmservice from type Microsoft.Crm.Sdk.

thanks,
Rami Heleg,
NetusUp Inc.

Tuesday, June 22, 2010

Pass parameter to Plug in

How can i pass parameters to Plugin?

1. open plugin registration
2. CRUD step.
3. Right side contains two rich text: unsecure configuration, secure configuration ( see picture)
4. Add your parameters
5. Current status every executes this step the parameters passed to plugin.

How to get the parameters in PlugIn?
Create two constructors like this example:
//without parameters
public AuditEntities() { }
//with parameters
public AuditEntities(string unsec, string sec) { }

the parameters passed to unsec or sec. save the parameters and good luck

Thanks,
Rami Heleg



Replace PlugIn File field becuase file in use

Question:
I tried to replace plugin dll in and always get message “File in used”….

I did iisreset but still the same problem.

What can I do…?

Answer:
The reason is async service.

You need to stop Microsoft CRM Async service replace the file and restart again

( one of your step is async step)


thanks,
Rami Heleg

Saturday, May 8, 2010

IIS: how to get the IUSER password for IIS

Hi ,
i try to run web site in IIS folder with ammoniums creational but by mistake I deleted the IUSER password. I can I get the password?

Solution:
Open command dialog and select folder " C:\Inetpub\AdminScripts"
Write the command:
C:\Inetpub\AdminScripts>cscript adsutil.vbs get w3svc/anonymoususerpass

Now take the answer and use the password for IIs

Thanks
Rami Heleg

Error message when open Deployment Manager

Hi,
i try to open Deployment Manager many time and get sometimes error message.
after press the message the Deployment Manager still work.

to solve this error need to add key to register..

reasons for the error:Active Directory contains many domain controllers.
You have insufficient permissions to query all domain controllers.

solution:

Go to the following registry :
HKLM\Software\Microsoft\MSCRM
Add a new String value that is named PreferredDc.
Specify the domain controller that you want. Typically, this is the closest domain controller.
Restart the CRM server.

thanks,
Rami Heleg

IFD: failed to view in IFRAME CRM pages...( cannot be found)

Hi,
i view in IFRMAES pages for instance from UserDefined folder.

set the file like that to the frame.src :"\UserDefined\area.aspx?id=23232"
using the relative path.

if i try to work with windows Auth all file but if i try to open the same page from out side ( IFD - Form Auth) the page field to view.

the reason is :

CRM failed to add the full extenstion path if it's form auth...in windows auth all works fine.. .

solution:
i check in my code if the server.location from IFD or windows auth..

if IFD i gave to frame.src the full path for instance:
http:\\mymachiume.crm\UserDefined\area.aspx?id=23232"
now works fine.

thanks
Rami Heleg

Sunday, April 18, 2010

Remove Outlook button in Microsoft dynamics CRM

Hi,
after installed rollup 7 to CRM new button appear " Outlook"

to remove this button:

1. On the Microsoft Dynamics CRM Application Server click Start, click Run, type Regedit, and then click OK.

2. Locate the following registry subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM.

3. Right-click MSCRM, click New, and then click DWORD (32-bit) Value.
Name the new key DisableOutlookSetupLink.

4. Right-click DisableOutlookSetupLink, click Modify, and then type 1 to disable the CRM for Outlook button for all users.

thanks
Rami heleg

Sunday, April 4, 2010

Register Plug-In options

Hi,
install plug-in dll can be in 3 install options

1. disk
in this case the file must be under server\bin\assembly folder

2. database
CRM upload the file to database. this plug-in option is the faster from all the three options
3. GAC
file must be under c:\windows\assembly

if the DLL have references to GAC in this case install the dll only if the GAC contain the relevant files ( depend on CRM installation ( Full server or in 2 servers platform and application))

replace-update dll:
if replace for new version failed by getting error message " The file is in used"... in this case stop the service:
Microsoft Dynamics CRM 4.0 Async service
and start again... if still failed to replace the file in this case stop the IIS.
can get this error if file register to Disk or GAC.

to register the dll use Plug-in registarion.. from SDK download.


images:
using images help to get all fields from pre and post or get selected fields.

pre and post images relenat for all messages except Create.. Contain only post images.


thanks
Rami Heleg.

Friday, March 26, 2010

Failed to publish workflow for Email entity

I got error message after publish Workflow for email entity steps .



"An error occurred when the workflow was being created. Try to save workflow again"
after i try to publish workflow with email steps.

the reason can be installed rollup 2

the solution can be adding next rows to CRM 4.0 web config


<authorizedType Assembly="mscorlib, Version=2.0.0.0, Culture=neutral,

PublicKeyToken=b77a5c561934e089" Namespace="System" TypeName="Void"

Authorized="True"/>

<authorizedType Assembly="mscorlib, Version=2.0.0.0, Culture=neutral,

PublicKeyToken=b77a5c561934e089" Namespace="System.Reflection"

TypeName="AssemblyFileVersionAttribute" Authorized="True"/>

<authorizedType Assembly="mscorlib, Version=2.0.0.0, Culture=neutral,

PublicKeyToken=b77a5c561934e089" Namespace="System.Reflection"

TypeName="AssemblyVersionAttribute" Authorized="True"/>

<authorizedType Assembly="mscorlib, Version=2.0.0.0, Culture=neutral,

PublicKeyToken=b77a5c561934e089" Namespace="System.Globalization"

TypeName="CultureInfo" Authorized="True"/>


thanks
Rami Heleg.

Monday, March 8, 2010

Add annotation Comments + files via modal dialog

Hi,
i would like to show modal dialog to add comments + file to CRM 4.0 entity:

answer:

here are two examples to add comments+ files

show comments (annotation) page to add comment + attached file ( for contact entity)
http://localhost:5555/org_name/notes/edit.aspx&pId={3423423-234324-434d-4324323w&pType=2

show comments (annotation) page to add attached file ( for contact entity)
href="http://localhost:5555/org_name/notes/edit.aspx?hideDesc=1&pId={3423423-234324-434d-4324323w}&pType=2"




Enjoy,
Rami Heleg

Using CRM 3/4 with Internet Explorer 6

Hi,
adding JS + AJAX CRM 3,4 using Internet explorer 6 may cause edit.aspx to freeze when loading.

Reason:
When page is loading explorer 6 behavior is a different from explorer 7,8.

If you add some code ( JS + ajax) when page is loading .. before client finish with all methods the lookup fields on the screen start to throw error (on focus event). but in explorer 7 only after all code is finished then lookup start with focus.

You can change the htc, JS files in many places but this is not a good solution.

solution:

upgrading to Internet explorer 7,8 solve this issue.

thanks Rami,

Saturday, March 6, 2010

Export Dynamics or Pivotable freeze CRM.

Hi,
CRM 3/4 can be freeze if using Export Dynamic or Pivotable to excel.

in this case the selected records locked on the db and until close the excel file.

the options to export dynamic or pivotable is good only for POC or Demo but not in live



solution:
1. change hard coded the file from prevent the options to export.
2. Create your own excel files with sql queries , create links and call to thus files from client side

for CRM 3.0 change file: print_dlg.aspx
for crm 4.0 change file: export_dlg.aspx


thanks,
Rami Heleg,

Monday, February 8, 2010

CRM performance is very slow

I work with CRM ¾ and all the system works very slowly

Loading pages is very slow, and all the system looks busy.

One of the options is Antivirus.

When you work with CRM and open some pages for instance Edit.aspx not only the edit.aspx is downloaded from server many JavaScript + CSS + other linked pages is downloaded too

If antivirus is working check if Antivirus is scanning all the scripts and pages when you request page from CRM.

if yes... change the Antivirus to prevent of scanning all CRM pages and the performance back to be perfect

I got this problem with Antivirus MCAfee.


workaround
http://support.microsoft.com/kb/924341

https://kc.mcafee.com/corporate/index?page=content&id=KB65382&actp=search&viewlocale=en_US&searchid=1278011200919

Thanks,
Rami Heleg.

Saturday, January 30, 2010

Get Organization Connection string

Hi,
Here is the example to get Organization connection string.

//get connection to mscrm_config DB
string connectionString = "Data Source="ServerName;Initial Catalog=MSCRM_CONFIG;Integrated Security=SSPI";
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
//Select DB details for specific organization
string sqlString = string.Format("select databasename,* from organization with (nolock) where uniquename = '{0}'", organizationName);
SqlCommand command = new SqlCommand(sqlString, conn);
SqlDataReader reader = command.ExecuteReader();
if (reader == null)
return null;
if (!reader.Read())
return null;
object rslt = reader.GetValue(0);
//return organization connection string
return rslt;

Enjoy,
Rami heleg

Friday, January 29, 2010

Fetch or Retrieve?

Fetch or Retrieve?

The million dollars question what is better using fetch or RetrieveMultiple...

RetrieveMultiple faster than the Fetch method Retrieve doesn’t have to parse the query.

My tip:

Work direcly with CRM DB for Queries and update.

Important:
Use “nolock” for select command.
in this case database doesn’t lock the table
Use “rowlock” to update table lock only the specific record.

Example for select command:

Select firstname, lastname from contact with (nolock)

Example for update command:

Update incidentextensionbase WITH(rowlock) set new_firstname = ‘aaa’ where incidentid = ‘{fdkjdf98438e9w8euew987}

Enjoy,
Rami Heleg

Saturday, January 2, 2010

Create custom page with CRM style

Hi,
here is an rxample to create your cutsom page like crm page.

The final page:




how to do it?
1. create new css file name: crmcs.css

paste start:

formButton
{
background-color: #6699cc;
padding: 2px 4px 3px 4px;
color: #000000;
font-size: 8pt;
font-family: tahoma;
height: 17px;
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#B4C5DF, EndColorStr=#91A9D0);
border-width: 0px;
}


TEXTAREA
{
font-size: 8pt;
font-family: tahoma;
width: 100%;
height: 100%;
border: 1px solid #6699CC;
}

.inputfields
{
font-size: 8pt;
font-family: tahoma;
width: 100%;
height: 19px;
border: 1px solid #6699CC;
}

INPUT.rad
{
width: 15px;
border: 0px;
cursor: hand;
}

DIV.tab
{
overflow-y: auto;
padding: 10px;
}

TD.sec
{
width: 100%;
color: #000000;
font-weight: bold;
padding-left: 0px;
padding-bottom: 2px;
text-overflow: ellipsis;
overflow: hidden;
}

TD
{
font-size: 11pt;
font-family: tahoma;
}

TD.bar
{
border-bottom: 1px solid #96B3DD;
}


SPAN.req
{
font-weight: bold;
color: #FF0000;
overflow: hidden;
text-overflow: ellipsis;
padding-top: 5px;
}

TD.statusBar
{
background-color: #80ABD4;
color: #000000;
background-image: url(images/statusbar_back.gif);
background-repeat: repeat-x;
padding-left: 5px;
height: 24px;
border-bottom: 1px solid #485673;
font-weight: bold;
}


LABEL
{
cursor: hand;
}

TD.radioLabel
{
padding-left: 2px;
padding-right: 10px;
}

TABLE.layout
{
table-layout: fixed;
width: 100%;
height: 100%;
}

div.tab
{
width: 100%;
height: 100%;
border: 1px solid #898C95;
background-color: #EAF3FF;
display: none;
}

body
{
font-size: 11px;
margin: 0px;
border: 0px;
background-image: url(images/form_back.gif);
background-repeat: repeat-x;
background-color: #acc0e9;
cursor: default;
}

td
{
font-size: 11px;
}

table
{
cursor: default;
}

a
{
color: #0000ff;
font-weight: bold;
}

.menubar
{
height: 44px;
}

.formtitle
{
padding-left: 10px;
}

TD.entitytype
{
font-weight: bold;
font-size: 11px;
padding-top: 2px;
}

TD.navtitle
{
font-weight: bold;
font-size: 18px;
padding-top: 1px;
color: #6699CC;
}
span.menu
{
height: 100%;
padding: 2px;
padding-left: 5px;
padding-right: 5px;
border: 1px solid #7288AC;
}

table.mnuBar
{
color: #000000;
height: 44px;
width: 100%;
background-image: url(images/form_toolbar_back.gif);
background-repeat: repeat-x;
}
paste end


Create new page ExamplePage.htm

paste start:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; CHARSET=UTF-8" />
<link rel="stylesheet" type="text/css" href="crmcs.css">
<title>Rami example</title>
</head>
<body>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr class="menubar">
<td>
<table class="mnuBar" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td />
</tr>
</tbody>
</table>
<table class="formtitle" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="entitytype" nowrap="nowrap">
Contact: Rami Heleg
</td>
</tr>
<tr>
<td class="navtitle">
Update contact
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="padding: 10px;">
<table cellspacing="0" cellpadding="0" width="100%" height="100%">
<tbody>
<tr>
<td>
<div style="display: inline" class="tab">
<table style="table-layout: fixed" cellspacing="0" cellpadding="3" width="100%" height="100%">
<colgroup>
<col width="90">
<col>
<col width="10">
<col width="90">
<col>
</colgroup>
<tbody>
<tr>
<td>
Full Name
<span class="req">*</span>
</td>
<td colspan="2">
<input id="fullname" class="inputfields" tabindex="1" maxlength="200" name="fullname"
req="1">
</td>
</tr>
<tr>
<td class="sec bar" colspan="5">
Section 1
</td>
</tr>
<tr height="5">
<td>
</td>
</tr>
<tr>
<td>
First Name
</td>
<td>
<input id="firstname" class="inputfields" tabindex="8" maxlength="250" name="category">
</td>
<td>
</td>
<td>
Last Name
</td>
<td>
<input id="lastnane" class="inputfields" tabindex="9" maxlength="250" name="subcategory">
</td>
</tr>

<tr>
<td class="sec bar" colspan="5">
Section 2
</td>
</tr>
<tr height="5">
<td colspan="5">
</td>
</tr>
<tr>
<td>
Sex
</td>
<td colspan="4">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<input id="crmFormdonotemail0" class="rad" tabindex="200" value="0" type="radio"
name="crmFormdonotemail">
</td>
<td class="radioLabel">
<label for="crmFormdonotemail0">
Male</label>
</td>
<td>
<input id="crmFormdonotemail1" class="rad" tabindex="201" value="1" type="radio"
name="crmFormdonotemail">
</td>
<td class="radioLabel">
<label for="crmFormdonotemail1">
Female
</label>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
Country
</td>
<td>
<select style="width: 100%; font-family: tahoma,
Arial; font-size: 11px" class="selectBox">
<option selected>Isreal</option>
<option>USA</option>
</select>
</td>
<td>
</td>
<td>
Status
</td>
<td>
<select style="width: 100%; font-family: tahoma,
Arial; font-size: 11px" class="selectBox">
<option selected>Married</option>
<option>Single</option>
<option>Divorced</option>
</select>
</td>
</tr>
<tr>
<td>
Description
</td>
<td height="100%" colspan="4">
<textarea id="description" tabindex="2" name="description" maxlength="2000"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr height="23">
<td class="statusbar" colspan="2">
<b>Status:</b> Vip Contact
</td>
</tr>
</tbody>
</table>
</body>
</html>

paste End:

Enjoy,
Rami Heleg

Friday, January 1, 2010

How to change connection string for organization in CRM 4.0

Hi,
I want to change the connection string, What should i do?

The solution is very simple...

1. Open database MSCRM_CONFIG, table Organization.
2. This table contains information for all organization.
3. change in column ConnectionString to the new organization connection string.
4. reset CRM .

example:



BTW changing the register ( regedit) doesn't change the connection string.
it was relevant only for CRM 3.0

Enjoy,
Rami Heleg.