"This utility is used to change the DeletionService and Re-Indexing service jobs in CRM 4.0. You can set the next run date/time of a job as well as change the schedule at which the job will continue to run automatically. " as you can red here.
This utility works but it didn't solve our issues... And the search for a solution continues as we also try to better frame the issue.
- Export the Campaign Activity entity;
- Edit the "customization.xml" file (look for attribute/field "objective" and change length to up 100.000 characters);
- Import the "customization.xml" to your CRM;
- Publish your customization (just to make sure!).
This workaround may be unsupported but according to Jim Wang it's pretty safe. I hope Microsoft reviews this 2000 characters limitation and/or the ability to change it.
This is great because I'm actually deploying my MS CRM Dynamics 4.0 development environment on a Virtual Server 2005 and I want to follow this approach for my production environment.
However be aware of the following "Microsoft does not test or support Microsoft software on a computer that is running non-Microsoft hardware virtualization software. ".
If your HTML exceeds 2000 characters it will be truncated!
It isn't very difficult to write HTML pages with more than 2000 characters, specially if you have to include a lot of long links as I have to.
Suggestions how to hack this 2000 characters limit?
It's official: I'm going to the Travel Distribution Summit Europe'08! I finally got the green light and I already booked hotel and flight. I will be attending mainly the CRM and Loyalty Strategies Conference. The conference/summit will take place at London's Business Design Centre between May 20-21 2008. If you are also attending this conference drop me a line.
I wanted to hide a button only if a specific field was filled. And how did I pull this one off? Simple! Just added the piece of code to the field's onChange event! It's important to keep the code in the onLoad event if you want to keep the button hidden when you save and close your entity and then reopen it.
If you feel comfortable with HTML you can write your HTML code directly into the OFFER field as I did. If you want to include images don't forget to make them available through a public web folder. In this example I used the Google logo.
As you may also have noticed I hard coded the UNSUBSCRIBE e-mail address link. There is an explanation for that. Normally one would simply write a regular unsubscribe text and then select that text and hit the UNSUBSCRIBE button available when seting up the new e-mail activity. However if you set the FROM field to a Queue (as I did) your unsubscribe e-mail link will be broken to "mailto:[Run_Time_Address]?subject=[Run_Time_Subject]". After a lot of testing I gave up of this feature and decided to hard code the unsubscribe text/link. Doing this I'm also sure to include the unsubscribe text/link. I should warn you that the unsubscribe e-mail To should be the Queue's e-mail and the subject should be "UNSUBSCRIBE: E-mail Activity Subject". It's very important to match the UNSUBSCRIBE subject with the e-mail activity subject or the CRM won't be able to connect the unsubscribe request with the campaign in order to automatically create a campaign response and set sender's Send Marketing Materials = NO.
I will write a specific post about How to send e-mail campaigns from queues because I have some useful tips and tricks for you.
After some investigation I realized that there was a previously deleted record (2 days ago) with the same e-mail. The deleted record exists only in the MS CRM DB and its DeletionStateCode equals 2! However my duplicate detection rule still sees him. I believe it shouldn't!
By the way if you wish to enable tracing for MS Dynamics CRM 4.0 you should check the following KB article: http://support.microsoft.com/kb/907490.
The missing column/attribute name is Calendar and the Reason states the following: "Error: unmapped mandatory column" (imagem below).
The "Calendar" attribute (image below) is a system required attribute of the Facility/Equipment entity and its description is the following: "Fiscal calendar associated with the facility/equipment.".
I haven't set my Fiscal Calendar yet because I read at the Implementation Guide that one can do it only once and in order to work with Sales Quota. I'm guessing I don't need to set it for now because when I mannually create a Facility/Equipment I don't get any kind of Fiscal calendar related error. I'm guessing I have to bypass this issue some how... I will post this at Dynamics Forums, perhaps someone already has been over this.
c360 has a more interesting products for MS CRM 4.0 such as c360 Event Management, c360 Field Level Security or even c360 Customer Portal but I haven't had the chance to test them.
So if you're writing a contact's birthdate/birthday like "24-07-1980 00:00:00" CRM will throw an exception because he's using "24" as MM and "07" as DD when he shouldn't. You need a workaround such as your own fixDate() method. The following fixDate() method was created by Marco Silva, member of my MS CRM Dynamics 4.0 project team of two (me and him). This method gets something like "24-07-1980 00:00:00" and returns it in a CRM friendly format "07-24-1980 21:00:00". If you check your MS CRM db you will see the correct date but perhaps not the correct time "24-07-1980 20:00:00".
private static string fixDate(String date)
string day = data.Substring(0, 2);
string month = data.Substring(3, 2);
string year = data.Substring(6, 4);
string hour = "21";
string min = "00";
string sec = "00";
return month + "-" + day + "-" + year + " " + hour + ":" + min + ":" + sec;
You may notice that we're forcing the hour, minutes and seconds and there's a pretty good explanation for that. The explanation is related with Time Zone handling issues that affect MS CRM 4 (and 3). My time zone settings (MS CRM server, SQL server, desktop) are all GMT (...Lisbon). Some specific datetimes (not all) are written to MS CRM DB with less an hour and that makes them go back one day.
If you send "24-07-1980 00:00:00" or "07-24-1980 00:00:00" to be more accurate to your CrmService it will write "23-07-1990 23:00:00" to MS CRM db! Ooops! Wrong birthdate! However if you check your contact's file you will see "24-07-1980". However the MS CRM db birthdate datetime is wrong ("23-07-1990 23:00:00") and you can't export it to an external db such as a datawarehouse. The workaround for this one requires two different approaches: a CrmService approach and an onSave approach (to fix typed birthdates).
Both of these workarounds require you to change birthdate's time to something bigger than "01:00:00" because if the CrmService "steals" you one hour it won't "steal" you a whole day! I chose to set "21:00:00" as my "fake" time. So, if I send this CrmService friendly "fake" date "07-24-1980 21:00:00" to CrmService he will write "24-07-1980 20:00:00" to MS CRM db! And that works for me as the birthdate time isn't important (or visible). So my first workaround also is solved by the fixDate() method above. The second workaround has to be properly included inside the onSave event which you have to enable.
This workaround was provided by Pedro Pereira who helped me fix this issue for MS CRM 3.0 but it works fine with MS CRM 4.0.
My advice for now is to forget about Google Apps/Gmail IMAP and MS CRM Dynamics 4.0 Outlook Client integration.