just coding...

Latest Microsoft Dynamics CRM 4.0 updates and hotfixes

Microsoft hotfixleri güncelledi. (Bu adresten bakabilirsiniz : )


Microsoft has updated their hotfixes (located here: ).

Article number

Article titleRelease date
951884 The Microsoft.crm.Application.Hoster.exe service stops running when you run the Microsoft Dynamics CRM 4.0 client for Outlook with Offline Access May 5, 2008
950229 Error message when you try to add a product to an opportunity in Microsoft Dynamics CRM 4.0: "An error occurred during pricing of a detail line item" May 6, 2008
949347 The "Move Up" button and the "Move Down" button are not available when you open the Attribute page for a bit type attribute in Microsoft Dynamics CRM 4.0 May 6, 2008
949925 A service case is not assigned to a user when you click Assign in Microsoft Dynamics CRM 4.0 May 12, 2008
952945 The Privacy tab on the Set Personal Options page does not contain a link to the error reporting privacy statement in Microsoft Dynamics CRM 4.0 May 12, 2008
951718 You receive script error messages when you browse through pages under the Microsoft Dynamics CRM folder in the Microsoft Dynamics CRM 4.0 client for Outlook May 15, 2008
948604 Error message when you try to provision a language in Microsoft Dynamics CRM 4.0: "Cannot insert duplicate key row in object 'dbo.LocalizedLabel' with unique index 'ndx_LocalizedLabel_ForSingleSelect'" May 19, 2008
952724 You cannot view any e-mail messages in the folders after you install the Microsoft Dynamics CRM 4.0 On-Premise client for Outlook May 19, 2008
951301 Error message when you try to go offline in Microsoft Dynamics CRM for Microsoft Office Outlook with Offline Access: "A SQL Server error occurred. Try this action again due to configured cascading" May 29, 2008
947978 Some string variables are not passed to a custom Web form after you set a custom Web page as the default home page in Microsoft Dynamics CRM 4.0 May 29, 2008
951206 A FetchXML statement that contains the <Link-Entity> statement may return incorrect data or incorrect data in Microsoft Dynamics CRM 4.0 May 29, 2008
953185 The Resume function does not work as expected when you run the function for the Update Contract States job in the Turkish version of Microsoft Dynamics CRM 4.0 May 29, 2008
950202 The translated labels disappear when you add a new value to a picklist field of an attribute for an entity in Microsoft Dynamics CRM 4.0 June 3, 2008
951477 Error message when you run the "Send Direct E-mail" functionality by using a user-defined query in Microsoft Dynamics CRM 4.0: "Either you do not have access to the record or the record does not exist" June 3, 2008
949719 Error message when you track a received e-mail message or when you send a tracked e-mail message in Microsoft Dynamics CRM 4.0: "An error occurred promoting this item to Microsoft Dynamics CRM" June 5, 2008
947818 A field that does not have a name appears on the Non-Event Dependencies tab in the Form Properties dialog box after you create a new custom entity in Microsoft Dynamics CRM 4.0 June 5, 2008
950006 An e-mail activity is not added to a case when you convert the e-mail activity to a case in Microsoft Dynamics CRM 4.0 June 5, 2008
952925 Error message when you try to add a user to Microsoft Dynamics CRM 4.0 from a trusted domain: "An error has occurred. Try this action again" June 9, 2008
951274 Error message when you try to import an organization into Microsoft Dynamics CRM 4.0: "Exception System.DirectoryServices.DirectoryServicesCOMException (0x80072030): There is no such object on the server" June 9, 2008
950414 Error message when you promote an e-mail message in the Microsoft Dynamics CRM 4.0 client for Outlook: "An error occurred while promoting a Microsoft CRM e-mail message" June 9, 2008
951502 You cannot open an e-mail message that is sent from a Microsoft Dynamics CRM 4.0 user June 16, 2008
951919 A workflow rule does not continue even though the "Wait" conditions are met in Microsoft Dynamics CRM 4.0 June 17, 2008
951197 The "ModifiedBy" field of a record is not automatically set when you enable or disable a user in Microsoft Dynamics CRM 3.0 June 18, 2008
952149 The Male label and the Female label are translated incorrectly in the Czech version of Microsoft Dynamics CRM 4.0 (952149) June 18, 2008
950542 Synchronous plug-ins do not respond to the events that are triggered in Microsoft Dynamics CRM 4.0 June 19, 2008
949068 The Regarding field in an e-mail activity contains no value when you use a template that contains a Regarding field in Microsoft Dynamics CRM 4.0 June 21, 2008
952018 A POP3 provider delivers hundreds of copies of the same e-mail messages to a Microsoft Dynamics CRM 4.0 database June 24, 2008
950374 Text appears in a single line when you open the Preview page for an activity in Microsoft Dynamics CRM 4.0 July 16, 2008
955049 Error message when you try to go offline in the Microsoft Dynamics CRM 4.0 client for Outlook: "Failed move data for entity 'Saved View' during action Insert, countRows=13" July 16, 2008
952019 Microsoft Dynamics CRM 4.0 E-Mail Router service stops processing e-mail messages after a specific period of time July 16, 2008
951711 An update is available for the Israel 2008 daylight saving time changes in Microsoft Dynamics CRM 3.0 and in the Microsoft Dynamics CRM 3.0 client for Outlook July 21, 2008
951098 The Year view of the MiniCalendar view does not display the data correctly if you click to select the "Show week number in Calendar views" check box on the Customer Regional Options - Personal Options form in Microsoft Dynamics CRM 4.0 July 23, 2008
948843 You may experience slow performance when you run or edit workflows in Microsoft Dynamics CRM 4.0 July 24, 2008
950175 You cannot use Outlook as expected until all Microsoft Dynamics CRM 4.0 add-ins are loaded July 25, 2008
952815 Error message when you run an Advanced Find query in Microsoft Dynamics CRM 4.0: "Microsoft CRM Unhandled Error Details: Server Error in '/' Application" July 25, 2008
950088 E-mail messages are not sent from Outlook Web Access, from Outlook Mobile Access, or from Outlook Rules after you open the Microsoft Dynamics CRM 4.0 client for Outlook July 28, 2008
948126 Not all workflows are displayed in a lookup window for the relationships of an account in Microsoft Dynamics CRM 4.0 August 1, 2008
951538 The value in the Actual End column is incorrect in the "My Received E-mails" view in the E-mail type activities list in Microsoft Dynamics CRM 4.0 August 1, 2008
951174 The content in the Notes tab may not be displayed when you click the Notes tab in an entity page in Microsoft Dynamics CRM 4.0 August 13, 2008
952547 A record moves to the bottom of the grid area if you expand the preview section of the record in Microsoft Dynamics CRM 4.0 August 13, 2008
950886 Error message when you start the report wizard or when you perform the Bulk Import activity in Microsoft Dynamics CRM 4.0: "The logged on user does not have the appropriate security permissions to view these records or perform the specific action" August 13, 2008
950154 Error message when you change the Parent Account field in an opportunity form in Microsoft Dynamics CRM 4.0: "No Attribute" August 14, 2008
954498 The marketing list still contains the members that you want to remove when you click Update Marketing List in the Manage Members page in Microsoft Dynamics CRM 4.0 August 14, 2008
954800 Outlook stops responding when you open, close, reply to, or forward e-mail messages in the Microsoft Dynamics CRM 4.0 client for Outlook August 14, 2008
952115 The dynamic value fields contain no content when you use an e-mail template to send a direct e-mail message in Microsoft Dynamics CRM 4.0 August 14, 2008

Hiding custom buttons in CRM 4.0 Toolbar - Düğmeleri Gizlemek

CRM 3.0 içerisinde sadece document.getElementById("").style.display = "none" kodu yardımıyla toolbardan bir düğmeyi silmemiz mümkündü.

Bu CRM 4.0 ile çalışmayacaktır. CRM Form'u yüklendiğinde düğme ID'lerinin çalışma anında oluştuğu görülüyor. Bazen bir düğmenin adı ISV_New_1_MyButtonID iken başka bir zaman ISV_New_39_MyButtonID olabiliyor.

Formun OnLoad() event'ine aşağıdaki kodu ekleyerek düğme gizleme işlemini gerçekleştirebilirsiniz.


In CRM 3 it was possible to hide a button on a toolbar just by calling the document.getElementById("").style.display = "none" method.

This will NOT work in CRM 4.0. The ID of the button seems to be generated when the CRM Form is loaded. One time it might be ISV_New_1_MyButtonID the other time it might be ISV_New_39_MyButtonID.

To do so use the following javascript in the forms OnLoad event:

HideButton = function()
  var ULListItems = document.getElementById("mnuBar1").rows[0].cells[0].getElementsByTagName("UL")[0].getElementsByTagName("LI");
  for(var i=0; i-1)
    if (ULListItems[i].id.indexOf("MyButtonID") > -1)
      ULListItems[i].style.display =

// Form yüklendiğinde kodu çalıştır.
// Execute the function when loading the form.


// Form yeniden yüklendiğinde kodu çalıştır.
// Execute the function when the form is resized.

window.onresize = HideButton;

Link to Everything: A List of LINQ Providers

Charlie Calvert’s blog 'ın blogunda yayınlanan LINQ kaynaklarını yayınlıyorum.


Charlie Calvert’s blog had a great list of Hyperlinks to other LINQ Providers.

LINQ Providers

Microsoft Dynamics CRM Community

Microsoft Topluluk oluşturma konusunda da kendini yenilemiş gözüküyor. Dynamics ailesine ait ürünler hakkında aradığınız herşeyi bulabileceğiniz topluluk sitemiz , CRM için ise bu adresi kullanabilirsiniz , forum için ise adresini kullanabilirsiniz.


I saw that, Microsoft is developing itself about create communities. Community for Dynamics Family is , for CRM you can use direct , for forum you can use direct .

Microsoft Dynamics CRM JScript Export Tool

Geçenlerde Joris Kalz'ın ( bloğunda çok faydalı bir araç gördüm hemen sizlerle paylaşmak istedim.
I saw a little tool in blog of Joris Kalz ( and I want share with you.

VS 2008 projesini aşağıdaki linkten indirebilirsiniz :
You can download the VS 2008 project below link :
Microsoft Dynamics CRM Jscript Export Tool

Başlamadan önce app.config dosyası içerisinde CRM Kurulumunuza uygun ayarları yapmanız gerekmekte :
Before you start this tool, you have to change the app.config according to your CRM installation :

Programı çalıştırdıktan sonra yazdığınız JavaScript kodları belirttiğiniz klasöre çıkartılacak :
After running the tool, all client side JavaScript will be stored at the declared output folder :

Formlar üzerindeki bütün alanların içerisindeki kodlar çıkacaktır :
The result will be a list of all entities containing JavaScript separated by event type and further by form and field events :


CRM workflow date update includes saturdays/sundays

Boş zamanlarımda genellikle forumlarda soru cevaplamaya çalışıyorum. Geçenlerde Dynamics Community Forum'da bir sorunla karşılaştım ve çözüm tekniği olarak Mayank Pujara bir kod yazdı ve forumda yayınladı. Kodu ve sorunu sitemde yayınlıyorum.

" Merhaba, öncelik sırasına göre şikayet takip gününü güncelleyecek bir workflow oluşturmak istiyorum. Eğer öncelik yüksek ise şikayet gününden 24 saat sonra takip tarihi atansın. Eğer öncelik normal ise şikayet gününden 72 saat sonra takip tarihi atansın. Problem ise, CRM haftasonunu (Cumartesi,Pazar)'ı da sayarak hesaplama yapıyor. Benim istediğim ise işgünü olmayan günlerin sayılmasını engellemek."

Bu problem workflow ile çözülemeyince aşağıdaki JavaScipt kodu ile istenen işlenim gerçekleşmesi sağlandı.


When I have time, I'm answering the technical question in forums. A couple days ago I see a problem in the  Dynamics Community Forum. Mayank Pujara developed a code for this problem. I want share this problem and JavaScript code.

" Hi, I want to create CRM workflow which updates the case follow up date based on priority. If priority is high --> follow up date would be 24 hrs (1 day) after the case create date. If priority is normal --> follow up date would be 72 hrs (1 day) after the case create date. Now the problem is that CRM includes (or counts) the weekends (Saturday/Sundays) while calculating the days after 3 days. I want to exclude these non business days to be counted in workflow. Is there any ways we can avoid saturdays/sundays while dynamically setting date values in CRM 4.0 workflow? Any idea?? "

JavaScript code is solved problem when workflow didn't work.

The code:

 if(crmForm.FormType == 1)
crmForm.all.followupby.DataValue = new Date();

if(crmForm.all.prioritycode.DataValue ==1)
crmForm.all.followupby.DataValue = crmForm.all.followupby.DataValue.setDate(crmForm.all.followupby.DataValue.getDate() + 1);
else if (crmForm.all.prioritycode.DataValue ==2)
crmForm.all.followupby.DataValue = crmForm.all.followupby.DataValue.setDate(crmForm.all.followupby.DataValue.getDate() + 3);
else if (crmForm.all.prioritycode.DataValue ==3)
crmForm.all.followupby.DataValue = crmForm.all.followupby.DataValue.setDate(crmForm.all.followupby.DataValue.getDate() + 5);


    if(String (crmForm.all.followupby.DataValue).substr(0,3) == "Sat")
crmForm.all.followupby.DataValue = crmForm.all.followupby.DataValue.setDate(crmForm.all.followupby.DataValue.getDate() + 2)
else if (String (crmForm.all.followupby.DataValue).substr(0,3) == "Sun")
crmForm.all.followupby.DataValue = crmForm.all.followupby.DataValue.setDate(crmForm.all.followupby.DataValue.getDate() + 1)



Use JavaScript execute/call/launch Dynamics CRM 4.0 Workflow

CRM 3.0 içinde Mitch Milam JavaScript ile nasıl workflow çalıştırabileceğimizi bize göstermişti. Fakat ExecuteWFProcessRequest sınıfı CRM 4.0'dan kaldırılmış, bu yüzden bu kod CRM 4.0'da çalışmıyor. Ama bu bizim için bir sorun değil bunu kullanabileceğimiz bir sürü yöntem var işte bunlardan birisi:


In CRM 3.0, Mitch Milam has described how to Launching a Workflow Rule from JavaScript, it works great. However, in CRM 4.0, the class: ExecuteWFProcessRequest has been deprecated, so it won’t work in CRM 4.0. Although there are many ways to launch a workflow, if you want to run it through JavaScript, here’s the trick:

/* the function */
ExecuteWorkflow = function(entityId, workflowId)
var xml = "" + 
"<?xml version=\"1.0\" encoding=\"utf-8\"?>" + 
"<soap:Envelope xmlns:soap=\"\" xmlns:xsi=\"\" xmlns:xsd=\"\">" + 
GenerateAuthenticationHeader() +
"  <soap:Body>" + 
"    <Execute xmlns=\"\">" + 
"      <Request xsi:type=\"ExecuteWorkflowRequest\">" + 
"        <EntityId>" + entityId + "</EntityId>" + 
"        <WorkflowId>" + workflowId + "</WorkflowId>" + 
"      </Request>" + 
"    </Execute>" + 
"  </soap:Body>" + 
"</soap:Envelope>" + 

     var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
var resultXml = xmlHttpRequest.responseXML;

/* call */ 

var theWorkflowId = "3FD2DD58-4708-43D7-A21B-F0F90A0AA9F2";
//change to your workflow Id 

ExecuteWorkflow(crmForm.ObjectId, theWorkflowId);


Ascentium CrmService JavaScript Library

Ascentim Dynamics CRM Service JavaScipt library'sini yayınladı. Gerçekten çok hoş ve yazılım geliştiricilere CRM platformu üzerinde JavaScript kullanırken çok zaman kazandıracak.
Aşağıdaki adresten inceleyebilirsiniz;


Ascentium released their CrmService JavaScript library.  It looks very interesting and should save us CRM developers tons of time extending the CRM platform using JavaScript.
You can look ate below address;

OnSave() Events on Dynamics CRM - Part II

Bir önceki yazıya ek yapmak istiyorum.
I want continue my latest article with this article.

Eğer aynı sayfada OnSave() olayı icra edilirken istemediğiniz bir durum oluşursa (örnek olarak bir alana veri girilmemesi); 'event.returnValue' propertysine 'false' değerini vererek, OnSave() olayını icra edilmeden önce durdurup uyarı mesajı gösterebilirsiniz.
Aşağıadaki örnek kod bunu nasıl yapacağımızı bize anlatıyor.


On that page you will see that you can stop the onsave event by setting the 'event.returnValue = false'. Don't forget to follow that line with a 'return false'. This will cause the save procedure to stop right at that point. Otherwise statements after that will still be executed.
Below code tell to us how is execute this procedure.


// Example From SDK//


// Validate only if the user clicked "Save".

switch (event.Mode)

      // If the user provided a first and last name, they must provide
// a job title as well.

      if (crmForm.all.jobtitle.DataValue == "" &&
crmForm.all.firstname.DataValue != "" &&
crmForm.all.lastname.DataValue != "" &&)
// Tell the user what is wrong.
alert("Please provide a Job Title for this person.");

            // Give the control focus.

            // Cancel the save operation.
event.returnValue = false;
return false;

// If the user forgot to provide a job title, set a default title.
if (crmForm.all.jobtitle.DataValue == "")
// Set a default Job Title.
crmForm.all.jobtitle.DataValue = "N/A";

            // Because this is a "Save and Close",
// just save the form.

            return true;

} | just coding...

just coding...

Fırat Üniversitesi Gençsen Geleceksin Etkinliği

Gençsen Geleceksin 4.0 ile Geleceğe Dönüş

Son üç yıldır bir üniversite klasiği haline gelen kampüs turu Gençsen Geleceksin, bu yıl da Microsoft ve Turkcell ortaklığında "Gençsen Geleceksin4.0" adıyla yeniden başlıyor. Üniversite öğrencilerini ve teknoloji severleri geleceğin teknolojileri ile tanıştırmayı ve gençlere vizyon kazandırmayı amaçlayan “Gençsen Geleceksin 4.0” etkinliklerinde uzman konuşmacılar Mobil Teknolojilerde ve Yazılım Teknolojilerindeki yenilikler hakkında birinci ağızdan bilgi verirken, hepimizi bir gelecek yolculuğuna çıkaracaklar.

Sen de bu yolculukta şimdiden yerini al!

Bu yıl ~60 farklı kampüs içi ve online etkinlikle üniversite öğrencileri buluşacağımız Gençsen Geleceksin 4.0 da katılımcılar arasında yapılacak çekiliş ile süpriz hediyeler kazanan şanslı teknolojist sen olabilirsin...

Gelecekte görüşmek üzere!

* Katılım herkese açık ve ücretsizdir.
** Katılımcılara Katılım Belgesi verilecektir. Herkese Dreamspark kartları sağlanacaktır.
** Microsoft ve Turkcell tarafından Windows 7, HD WebCam, Mouse, Turkcell 3G Modem ve sinema biletleri..


Fırat Üniversitesi etkinliği 04 Kasım Perşembe saat 13:00 - 15:00 arasında yapılacaktır.