Kayıtlar

Eylül, 2016 tarihine ait yayınlar gösteriliyor

Microsoft Dynamics CRM yaş Hesaplama (calculate age)

function Age() { if(Xrm.Page.getAttribute("birthdate").getValue() != null) { var DOB = Xrm.Page.getAttribute("birthdate").getValue(); var Today = new Date(); Today.setHours(0, 0, 0, 0); var db = 0; if(DOB > Today ) { alert("Please Enter Genuine BirthDate !!!"); Xrm.Page.getAttribute("birthdate").setValue(null); } else { db = Today.getFullYear() - DOB.getFullYear(); var x = Today.getDate() ; var y = DOB.getDate() ; var a = Today.getMonth() + 1; var b = DOB.getMonth() + 1; if((a < b) || (a==b & x < y)) db=db - 1; } Xrm.Page.getAttribute("bm_age").setValue(db.toString()); //var control1 = Xrm.Page.ui.controls.get("bm_age"); //control.setDisabled(true); } }

CRM 2013 Javascript Special Functions

CRM 2013 Javascript Special Functions http://shanewcunningham.blogspot.com.tr/2014/04/crm-2013-javascript-special-functions.html •Xrm.Page.context.client.getClient() – Returns client type i.e. outlook, web or mobile. • Xrm.Page.context.client.getClientState() – Returns client state i.e. online or offline. •Xrm.Page.data.refresh() – This is one interesting as it refreshes the data on the form without even reloading the page. This also enables developers to pass a callback method. •Xrm.Page.data.save() – Save the form • Xrm.Page.data.getIsValid() – Returns true is form is valid for save else false • Xrm.Page.data.setFormDirty() – Sets the form dirty for force save. • Xrm.Page.data.entity.getPrimaryAttributeValue() – Returns the value of primary attribute •Xrm.Page.ui.setFormNotification(message,level,uniqueId) – Sets the notification on top of the form. •Xrm.Page.ui.clearFormNotification() – Clears the form notification •Xrm.Page.ui.refreshRibbon() – Refreshes the ribbo

Microsoft Dynamics CRM DIALOGLAR (CRM’DEN İNPUT ALMA)

1.     DIALOGLAR (CRM’DEN İNPUT ALMA) Linkler https://technet.microsoft.com/tr-tr/library/dn531180.aspx https://technet.microsoft.com/tr-tr/library/dn949331.aspx#action http://www.powerobjects.com/2014/01/08/creating-dialogs-in-dynamics-crm-2013/ https://msdn.microsoft.com/en-us/library/gg509010.aspx Diyalog, kullanıcıdan bilgi isteyen sihirbaza benzer bir giriş formudur. Diyalogları kullanıcıların karmaşık işlemleri izlemelerine yardımcı olmak için kullanabilirsiniz. Diyalog bize custom aspx pencereleri gibi pop penecereleri ile crm den veri çekip listeler ve burdan seçtiğimiz değeri iş akışı adımlarında, normal crm değeri kullanıyormuşuz gibi istediğimiz alanlara set edebiliriz.

Microsoft Dynamics CRM REAL TİME WORKFLOW (PLUGİN YERİNE KULLANACAĞIZ)

REAL TIME WORKFLOW (PLUGİN YERİNE KULLANACAĞIZ) Faydalı linkler türkçe https://technet.microsoft.com/tr-tr/library/dn531057.aspx https://technet.microsoft.com/tr-tr/library/dn531067.aspx https://technet.microsoft.com/tr-tr/library/dn531149.aspx Real time workflow, bir kayıtta yapılan değişiklik anında işlem yapar. Eski tip asenkron workflowdan farkı anlık iş yapmasındandır. Bu iş akışı tipiyle form üzerinde de güncelleme yapabiliriz. Kaydet e bastığımız anda değişiklik forma gelir. Fakat kötü tarafı hata yaparsanız kullanıcı kaydedemez. Bir diğer negatif tarafı her real time iş akışı kaydette gecikmelere yol açar. O yüzden analiz aşamasında gerçekten real time olmalı mi diye kara verirken bunları da göz önüne almak gerekir.

Microsoft Dynamics CRM EYLEMLER(Actions)

1.     EYLEMLER(Actions) Linkler https://technet.microsoft.com/tr-tr/library/dn949331.aspx#workflow Eylemler klasik iş akışlarına benzer. İş akışından farkı belirli bir aşamada değil(create,update sonrası) değil İstenen yerden çağrılablirmesi diologlardan, iş akışlarından, pluginlerden. Bir diğer önemli farkı parametre alabilmesi. Örneğin müşteriye mail gönderen bir actiona text parametresi ekleyip bu actionıda diologdan çağırarak girmiş olduğumuz metnin maile eklenmesini sağlayabiliriz.

Microsoft Dynamics CRM YENİ WORD ŞABLONLARI ( SİPARİŞ FALAN YAZDIRMA İÇİN)

YENİ WORD ŞABLONLARI ( SİPARİŞ FALAN YAZDIRMA İÇİN) Linkler http://www.agcyazilim.com/blog/dynamics-crm-2016-word-template-ozelligi/ https://www.youtube.com/embed/yRTdd4ORVnI https://www.microsoft.com/en-us/dynamics/crm-customer-center/using-word-templates-in-crm.aspx Dynamics CRM 2016 – Word Template Özelliği Dynamics CRM 2016 ‘nın yeni özellikleri sayesinde mevcut verilerinizi döküman haline getirmek çok daha kolay. CRM verinizi Word Şablonları ile Microsoft Word ’e aktarabilir, üzerinde değişiklik yapabilir, dilediğiniz gibi hazırlayıp kaydedebilir ve görüntüleyebilirsiniz. Teklifler, Siparişler, Faturalar, Ürünler’de bulunan formlar gibi Menü-> Satışlar içerisinde bunulan Müşteriler, Satışlar, Yardımcı Malzemeler, Pazarlama ve Hedefler’in içerisindeki formlarda Word Şablonlarını kullanabilirsiniz.

DYNAMICS CRM BUSİNESS RULE İMKANLARI

Resim
1.     BUSİNESS RULE İMKANLARI  Linkler https://technet.microsoft.com/tr-tr/library/dn531086.aspx Bussines Rule (BR) lar formlarda js yaptığımız işlemlerin önemli bir kısmını yapabiliyoruz. Temel olarak yapabileceğimiz şeyler ·          Alan değerlerini ayarlama ·          Alan değerlerini temizleme ·          Alan gereksinim düzeylerini ayarlama ·          Alanları gösterme veya gizleme ·          Alanları etkinleştirme veya devre dışı bırakma ·          Verileri doğrulama ve hata iletileri gösterme Form Form Düzenleyici > Alan Bir formda kullanılan bir alan özelliklerini görüntülediğinizde, bu özniteliği içeren iş kurallarını gösteren bir  İş Kuralları  sekmesi göreceksiniz.

DYNAMICS CRM CALCULATED VE ROLLUP FİELD

1.     CALCULATED VE ROLLUP FİELD  Linkler https://technet.microsoft.com/tr-tr/library/dn832103.aspx https://technet.microsoft.com/tr-tr/library/dn832162.aspx Calculated fields (hesaplanmış), alanlar form üzerinde hesaplama yapılmış alanlar açmamıza olanak sağlar. Örnek datediff kullanımı ile teklif açılış ve kapanış tarihi arasındaki farklar, veye now() fonksiyonu ile teklifin açılışında bugüne kaç gün geçtiğini görmek için kullanabiliriz. Rollup Fields :(Toplama alanları) : Rollup alanlar firmaveya kişi gibi entitylerin teklif, firsat üzerindeki alanların toplamını(veya sayısını,count,min,max,sum, avg) dinamik olarak tutar. Örneğin firma üzerine açık fırsatlar toplamı diye bir alan açıp, gerekli kuralları verirsek(alan açma sırasında)  başka hiçbir şey(process,plugin,js,trigger) yapmamıza gerek kalmadan firma kartında firsat toplamını görebiliriz. Rollup fields(Toplama alanları), oluşturulduğunda default olarak 12 saat sonra çalışacak şekilde ayarlanır. Sürekli kayı

PROCESSLERİN .NET KODUNDAN ÇAĞRILMASI (.NET İÇERİSİNDEN İŞLEM YAPMA)

1.     PROCESSLERİN .NET KODUNDAN ÇAĞRILMASI (.NET İÇERİSİNDEN İŞLEM YAPMA) Linkler http://www.c-sharpcorner.com/UploadFile/61cf58/using-actions-in-microsoft-dynamics-crm-2015/ https://deepakexploring.wordpress.com/tag/calling-actions-from-plugin-in-crm-2013/ http://mscrmtechie.blogspot.com.tr/2015/09/call-actions-from-javascriptc-in-crm.html Bu işlem için action(eylemleri) kullancağız. Zaten eylemlerin processlerden pek bir farkı yok, sadece parametre alabiliyorlar. Aşağıdaki kod bloklarında bm_actionname dediğimiz şey eylemimizin sistem adı.Yayınladıktan sonra aşağıdaki kodlarda görüldüğü gibi kullanılabilir. C# OrganizationRequest orgReq = new OrganizationRequest ( "bm_actionname" ); orgReq[ "Target" ] = new EntityReference ( "account" , new Guid ( "01DC64CE-0752-E511-80D8-000D3AA023B6" )); OrganizationResponse response = iService.Execute(orgReq); Sample 2 1.   //we have written method to get CRM service object

PROCESS VE DİALOGLARIN JS İLE ÇAĞRILMASI (JS İÇERİSİNDEN BU İŞLEMLERİ YAPMA)

1.     PROCESS VE DİALOGLARIN JS İLE ÇAĞRILMASI (JS İÇERİSİNDEN BU İŞLEMLERİ YAPMA) CRM de iş akışlarımızı, diologlarımızı, gerek butonla kullanmak için gerekse de formlarda kullandığımız javascriptlerden çağırabiliyoruz.  Bu konunun kod tarafı karmaşık biraz ve js eğitimi gerekiyor. Fakat bunu bizim için yazan sınıflar var internette. Bu konuda en iyilerden bir tanesi. Bu linkte yer alıyor. https://processjs.codeplex.com/ Yapılması gereken çözümü indirmek ve ayarlar, çözümlerden çözümü import etmek. Hangi formda javascript yazılacaksa, forma mag_/js/process.js /js/process.js sınıfını eklenmesi gerekiyor. İş akışı örneği Process.callWorkflow("4AB26754-3F2F-4B1D-9EC7-F8932331567A",     Xrm.Page.data.entity.getId(),     function () {         alert("Workflow executed successfully");     },     function () {         alert("Error executing workflow");     }); Dialog örneği: Process.callDialog("C50B3473-F346-429F-8AC7-