29 Mayıs 2010 Cumartesi

Dashboard/Page Scroll Bar on Main CRM Window


Whenever you need to show a dashboard report or a page on CRM main window, just after modifying sitemap file, the first thing that you gonna say is: where is the this shining scroll bars. To have it, you need to deserve it: An html page will save your life and time(s of tim: I really like this tv serial by the way). Your sitemap will point this html page and that html page will handle missing scroll bars through javascript. To see the example:
Click here!
P.S: If you are trying to show a report don't forget to pass this parameter in query string: menu=no


Ana CRM Sayfasinda ki Scroll Bar
Ne zaman ki CRM anasayfasinda bir dashboard yada rapor gostermek icin site map'i guncellediniz, diyeceginiz ilk sey 'lan nerde bu guzelim scrollbar'. Ona sahip olmak icin once haketmelisiniz. Bildigin basit bir html sayfasi cok ise yarayabilir. (Bu arada the life and times of tim isimli diziyi tavsiye ederim) Nasil mi? Sizin sitemap bu html sayfayi gosterecek, html sayfa ise sizin raporu; ancak javascript ile scrollbar ekleyerek sizin raporun hayatini kurtaracak. Daha temiz bir aciklama icin:Beni tikla!
Dipnot: Eger rapor gosterecekseniz su parametreyi raporu cagiran linkin query stringine gecmeyi unutmayin: menu=no

28 Nisan 2010 Çarşamba

Brutal Errors - Episode 2 : Unable to load print control

For every project without a shadow of a doubt someone will come up with "I'm not able to print report" complaint. Not all users only one or some of them will get "Unable to load print control" alert message when they click print icon on report. Here are some exercises: for this issue.
1- Installing "ReportViewer.exe" to client PC.
2- Enabling ActiveX options from "Internet Explorer -> Tool -> Internet Options"
3- Adding web site to "Trusted Sites" section.
4- Removing registry key from client PC: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{FA91DF8D-53AB-455D-AB20-F2F023E498D3}"
5- Registering “rsclientprint.dll” binary to client PC.(You can find “rsclientprint.dll” in “RSClientPrint.cab” which is under Reporting Server folder (i.e.: “Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin”))



Ölümcül Hatalar - Bölüm 2
Hiç şüphesiz her projede "raporu yazdıramıyoruz" şeklinde bir şikayetle karşılaşırsınız. Bide öyle herkes için degil bir yada birkaç kişide "Unable to load print control" şeklinde hata mesajı olur. Bu gibi münasabetsiz durumlar için uygulamakta fayda olacak bir takım adımlar aşagıdaki gibidir:
1- "ReportViewer.exe" isimli programın kullanıcı bilgisayarına kurulması.
2- ActiveX kontrollerinin "Internet Explorer -> Tool -> Internet Options" menusunden aktif hale getirilmesi.
3- Sitenin "Güvenilir Siteler" bölümünde yer alması.
4- Kullanıcı bilgisayarındaki :"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{FA91DF8D-53AB-455D-AB20-F2F023E498D3}" numerolu sistem anahtarının silinmesi.
5- “rsclientprint.dll” dosyasının kullanıcı bilgisayarına assembly'ye cmd suretiyle copyalanması("rsclientprint.dll”i Reporting Server dizinindeki (örn: “Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin”) “RSClientPrint.cab” içinde bulabilirsiniz)


20 Mart 2010 Cumartesi

Brutal Errors - Episode 1 : The key specified to compute a hash value is expired

When you left the office yesterday, everything was OK. But somehow this morning a weird "Invalid Action" error message is greeting you. The moment that you have check the trace logs: "The key specified to compute a hash value is expired" text was copied and pasted to google search, that's why you are here now:
Try the things below-maybe it saves your morning.
1- Make sure that MSCRM Async Service is running-even if it's running , restart it.
2- If you are still reading the post it means you have to run the command below:
C:\Program Files\Microsoft Dynamics CRM\Tools >Microsoft.Crm.Tools.WRPCKeyRenewal.exe /R
If you are still reading this post, click an other search result. By

Ölümcül Hatalar - Bölüm 1
Dün ofisi terk ederken herşey çalışıyordu. Nasıl oluyorsa bu sabah geliyorum ve saçma bi "Invalid Action" mesajı "selam genç" diyor. Trace loglarını açtığında gördügün: "The key specified to compute a hash value is expired" cümlesini google'da aradıgın için burada değil misin zaten.
1- MSCRM Async Service'in çalıştıgına emin, çalışıyorsa bile restart et.
2- Hala okuyorsan 1.madde işe yaramamış demektir ki şu aşagıdaki komutu, komut satırında çalıştırman gerekecek:
C:\Program Files\Microsoft Dynamics CRM\Tools >Microsoft.Crm.Tools.WRPCKeyRenewal.exe /R
Eğer hala okuyorsan, arama sonuçlarındaki başka bi sayfayı aç derim. Selametle

28 Şubat 2010 Pazar

Helpful JavaScript Codes - Episode 1


Let’s assume that you have a readonly field and you want set that field’s value programatically; it’ll not save (if you don’t write code below):
crmForm.all.new_customfield.ForceSubmit = true;

When you modify a form and try to close without saving, you’ll see an irritating popup, to avoid that popup:
crmForm.detachCloseAlert();

If you want to run a javascript code; just after saving a new record (not for existing records), following code can help you:
if(window.history.length > 0)
{
alert("Reopened");
}else
{
alert("First time");
}


Maximize form:
window.moveTo(0,0);
window.resizeTo(screen.availWidth, screen.availHeight);


OnChange event get fired when you leave that field, If you want to run a function when you focused that field:
crmForm.all.new_customfield.onfocusin = function() {
alert("Received focus");

}

Evladiyelik Javascript - Bölüm 1

Diyelim ki bir readonly fieldiniz var ve siz javascript ile bu field'in degerini güncellediniz, siz kaydetmek istediniz ama CRM kabul etmedi. (Tabi aşagıdakini yazmaz iseniz):
crmForm.all.new_customfield.ForceSubmit = true;

Bir kayıt açtınız bazı alanları güncellediniz yada onLoad anında otomatik olarak bazı field'ler güncellendi, kaydetmeden kapatmak istediniz ve istenmeyen popup gördünüz, o halde:
crmForm.detachCloseAlert();

Form yüklenirken çalışmasınız istediginiz bir kod var ancak bu kodu yeni bir kayıt oluşur oluşmaz; form yüklenirken çalışsın istiyorsunuz, var olan bir kaydı açarken degil:
if(window.history.length > 0)
{
alert("Reopened");
}else
{
alert("First time");
}


Kaplasaa la ekranı:
window.moveTo(0,0);
window.resizeTo(screen.availWidth, screen.availHeight);


OnChange olayı siz bir alanı terk ederken çalışır eğer ki o alan tıklanınca çalışsın istiyorsanız:
crmForm.all.new_customfield.onfocusin = function() {
alert("Received focus");

}

31 Ocak 2010 Pazar

Why nothing is working ?!


You are trying to run a custom application which talks to CRM webserivce but it's throwing exception like "Microsoft.Crm.WebServices.Crm2007.MultipleOrganizationSoapHeaderAuthentica-tionProvider,Microsoft.Crm.WebServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' doesn't exist" than don't worry.

One single dll can fix all your problems. Find "Microsoft.Crm.WebServices.dll" from somewhere (start searching from CRM server itself) Did you find it?Cool. Type "assembly" to Run window and check GAC. The thing that you should do is drag&drop this dll to GAC window. Let it copy the dll. Restart the IIS and thank.



2 kişinin bildiği sır degildir.

CRM webservis'iyle münasebeti olan bir uygulaman mı var? Çalıştırmaya kalkınca şu hatayı mı alıyorsun "Microsoft.Crm.WebServices.Crm2007.MultipleOrganizationSoapHeaderAuthentica-tionProvider,Microsoft.Crm.WebServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' doesn't exist" o zaman korkma hacı, ilacı var.

Bildigin tek bir dll seni iyi eder. "Microsoft.Crm.WebServices.dll" diye bi dosya var sagdan soldan biyerden bul bunu, aramaya server'dan başla, buldun mu?helal. O her bogumunda kıl olan parmaklarınla Run penceresinde "assembly" yaz da GAC'ı bi görelim. Şimdi o buldugun dosyayı GAC penceresinin üzerine sürükleyip bırak. Bi de IIS reset çak, saol desene !