Quick blog on how to fix the error you get when you save a record which has some required fields on the header of the form and CRM shows the schema name instead of display name like below:
it shows the error which includes specific field logical name instead of display name which might be confusing for user and doesn’t look very much user friendly. In my case its still very much understandable but sometimes people change name on the form and in that case it will be worse situation.
All you have to do is put the same field on the form which is there on the header and hide it on the form. Open the form editor > select the section > look for the field and add it. Go to field properties and hide it by unchecking the visible by default box:
Save and publish all your changes and now try to save the record:
I know many CRM developer get into Data migration or bulk update operation from CRM system to other external/CRM system.
I have gathered few useful tips while dealing with boolean fields as in how to check the value , reverse the value , use nested if with OR & AND conditions etc. I have categorised them into below and provided explanation & solution.
Check Values from Source & Set New Value
To check value of a boolean field from source do this and set other value:
IF(S1=1, 0 , 1) (Here i am checking if S1 field value is “1” which is “TRUE” then set the new value to “0” which is “FALSE” otherwise the default will be to “1”.)
Check Combination of boolean fields and Set New Value
To check the combination of values i.e If a=1, b=0 then set some new value, Do this:
IF(AND(S1=1, S2=1), 0 , IF(AND(S1=0, S2=0),1 ))
(here i am checking if S1=1 AND S2=1 then outcome should be “0”. please note: you can use “OR” operator as well as per your requirement.)
Check If the value is Null or Any error in retrieving the value and set default value
You might have to handle null values in the package, to do this:
(here I am checking if S1 is null or any error then i am setting the value to TRUE otherwise FALSE.)
you can also combine this with checking other values to such as if S1 =1 then 1 , S2=0 then 0 & if S2=Null then TRUE().
While importing a solution I got a generic SQL error but when i downloaded the log file i saw below error:
0x80044150 – Object reference not set to an instance of an object
I have seen this error in plugins several times but never in import but root cause and underlying issue remains the same.
The import was trying to find something which was not there in target.
There was a relationship in my solution exist as N:1 to an entity which was deleted from target system way back hence this error occurred. Using the relationship given in solution, CRM was trying to find related entity which wasn’t there.
Whenever you open Dynamics CRM , you are presented with a default screen; which you can turn off. However if you have a requirement to put something when users login on the welcome screen i.e Guidelines, Important Links etc., You have multiple ways of achieving this, some are supported and others are unsupported/Not Recommended.
In this blog I am going to quickly share a very simple & supported way of managing Microsoft Dynamics CRM Welcome Screen. I’m using a dashboard to show my desired welcome screen using an HTML web resource. Here is how it looks:
Lets discuss this step by step:
Disable the out of the box welcome screen, to do this
Goto Click on Main -> Settings -> Administration.Under General Tab, Find Set whether users see welcome screen option. Click No and Ok.
Create a System Dashboard with just one section in it. If you cant find that one since CRM give you options with mutiple sections. what you can do it “Save as” an existing dashboard , in my case used ” Social Engagement dashboard”
This dashboard has just one big section which , there’s web resource being used. All we have to do is change its name and also use a new web resource.
Create a web resource in CRM and select a type as HTML. To Generate a quick HTML i have used this website : https://html-online.com/editor/ Its very nice and easy.
Save your web resource and Publish it.
Final step is to go to the dashboard > Double click on it and select the webresource section and click on “Edit Component”:
Now replace webresource section with your HTML web resource. Click Okay and publish all customization.
Final Step is make this dashboard default for all user. To do this; select the dashboard and click on “Set as Default”:
Save and publish all customization and you are done. Whenever you or any user open dynamics CRM, will be presented with our custom screen like below:
I hope this helps! Obviously its a solid solution, however in terms of development efforts and Supported item for dynamics CRM, this is one of the best solution.
I have recently got this error when i was preparing an SSIS package for Dynamics CRM 365 Online and used Kingsway SSIS connector.
After digging in further this error is mainly caused by the request and reponse timings,So, when i checked i found out my system time was somehow 5 minutes ahead of the current time, hence the request going to CRM server was of a future time and hence this error showed up.
All i had to do is fix my system time. Sometimes even if your system time is fine, you might still get the error, In that scenario too try to change the time as 5 minutes less.
Once i did that -my organisation name popped up without any issue.
Dynamics CRM has very efficient web services using which you can retrieve data such as Organization service Or WebApi. However if you still need to retrieve data from database here is a quick code helper – which i am using in a console application.
//Initiate the connection
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLServerConnection"].ConnectionString))
//create a command variable
using (var command = connection.CreateCommand())
//add query to your command
command.CommandText = "your SQLquery goes here";
// open the connection first and then execute the query using Execute Reader
result = command.ExecuteReader();
here is the app.config which i have used , i am using the windows authentication hence you donot need to mention credentials.
By Now you will have your dataset in “result”; here is another piece of code to read the data:
string contactid= result["columnName"].ToString();
string contact = result["columnName"].ToString();
DateTime createdonDate= (DateTime)result["createdon"];
string type = result["columnName"].ToString();
// close the result
if (result != null)