crm

Bu bölüm crm ile ilgili temel bilgileri öğretmeyi amaçlar.

MS CRM 2015 Hiyerarşi Görselleştirme

MS CRM 2015 ile beraber gelen güzel özelliklerden biride Hiyerarşi Görselleştirme(Hierarchy Visualization). Bu özellik kısaca aynı varlıkların birbiri arasındaki hiyerarşisini görsel bir şekilde kullanıcıya sunuyor. Hiyerarşi Görselleştirme hakkında bilinmesi gerekenler:

  • Varsayılan olarak bazı varlıklarda bu özellik aktif olarak geliyor(accounts, positions, products, users). Yeni oluşturulan bütün varlıklarda bu özellik kullanılabilir fakat varsayılan olarak aktif olarak gelmemekte.
  • Bu özelliği kullanabilmemiz için özelleştirmelerden yeni bir 1-N ilişkisi oluşturup yeni eklenen “Hiyerarşik” özelliğini “Evet” olarak seçmemiz gerekiyor.

    Ms Crm 2015 Hiyerarşik Görselleştirme(Hierarchy Visualizations)

    Ms Crm 2015 Hiyerarşik Görselleştirme(Hierarchy Visualizations)

  • Eğer daha önce “1-N” ilişkisi oluşturulmuş ve Hiyerarşik özelliği “Evet” seçilmisse ikinci sefer aynısını yapamıyoruz(Zaten Hiyerarşik seçeneği pasif duruma geçiyor). Bu ilişki tek seferlik.
  • “1-N” ilişkisi yaparken “İlgili Varlık” ile “Birincik Varlık” aynı varlık olmak zorunda.
  • Gerekli ayarları yaptıktan sonra özelleştirmelerde ilgili varlığa geldiğimiz zaman en altta “Hiyerarşi Ayarları” seçeneği olduğunu görüyoruz.

    Ms Crm 2015 Hiyerarşi Görselleştirme Hiyerarşi Ayarları

    Ms Crm 2015 Hiyerarşi Görselleştirme Hiyerarşi Ayarları

  • Varsayılan olarak Hiyerarşi Ayarı bulunmuyor. Bizim oluşturmamız gerek. Yeni diyoruz ve açılan formdan yeni ayarımızın şema adını, varsayılan hızlı görünüm formunu ve açıklamasını girip yeni kuralımızı oluşturuyoruz.

    Ms Crm 2015 Hiyerarşi Görselleştirme

    Ms Crm 2015 Hiyerarşi Görselleştirme

  • Artık birbiri ile ilişkili ilgili kişilerin yanında küçük bir simge göreceğiz.
    Ms Crm 2015 Hiyerarşi Görselleştirme

    Ms Crm 2015 Hiyerarşi Görselleştirme

    Sonuç

    Ms Crm 2015 Hiyerarşi Görselleştirme

MS CRM 2015 İş Kuralları

MS CRM 2013 İş Kuralları isimli yazı için tıklayınız.

MS CRM 2013 ile beraber gelen yeniliklerden olan iş kuralları(business rules) Ms Crm 2015 ile beraber daha da güçlü hale geldi. Bu yeniliklere bakarsak :

  • Artık varsayılan değeri ayarlıyabiliyoruz
  • Artık iş kurallarımız sunucu taraflı da çalışabiliyor.
  • Artık “Ve”/”Veya” operatörlerini kullanabiliyoruz. Bu sayede çok sayıda birbirine benzer iş kuralları yazmanın önüne geçmiş oluyoruz.
  • Artık koşullarımıza “Değilse” mantığını da ekleyebiliyoruz.

Varsayılan Değer

Önceki yazıda olduğu gibi yeni iş kuralı diyoruz(Önceki yazıya buradan ulaşabilirsiniz).
Aşağıdaki gibi “Eylem” kısmından varsayılan değeri ayarlama diyoruz.

Ms Crm 2015 iş kuralları(business rules)

Ms Crm 2015 iş kuralları(business rules)

Daha sonra da hangi alana varsayılan değer atanmasını istiyor isek o alanı seçiyoruz.

Ms Crm 2015 İş Kuralları(Business Rules)

Ms Crm 2015 İş Kuralları(Business Rules)

Artık her firma oluşturduğumuzda bölge isimli alanımızın varsayılan değeri “Bölge 1” olacak.

Sunucu Taraflı Çalışabilme

Biliyoruz ki javascript ile client tarafında yazdığımız kodlar sadece crm arayüzünde yani kullanıcı crm ile etkileşime geçtiği zaman çalışır. Örneğin crm arayüzünden firma oluşturur isek client tarafında yazdığımız javascript kodları işleyecektir. Ama firmaları veri yönetiminden import eder isek kullanıcı doğrudan crm arayüzünden etkileşime geçmediği için javascript kodlarımız çalışmayacaktır. Ms Crm 2013′ de iş kuralları aynı bu şekilde javascript mantığı ile çalışıyordu. Ama MS CRM 2015 ile beraber artık iş kurallarımız sunucu taraflı da çalışabiliyor. Yani firmadaki bir alanın değerini iş kuralları ile belirlediyseniz veri yönetiminden firma import ettiğimizde bu iş kuralı çalışacak ve o alana o değeri verecektir. Sadece iş kurallarını dizayn ettiğimiz kısımda iş kuralının kapsamını “Varlık” olarak seçmeliyiz. Artık iş kuralımız hem client taraflı hem server taraflı çalışacaktır.

Ms Crm 2015 İş Kuralları (Business Rules)Kapsam

Ms Crm 2015 İş Kuralları (Business Rules)Kapsam

“Ve”/”Veya” Operatörü

Aşağıdaki resimdeki gibi “Ve”/”Veya” kullanabiliyoruz.

Ms Crm 2015 İş Kuralları(Business Rule) Operatörler

Ms Crm 2015 İş Kuralları(Business Rule) Operatörler

“Değilse” Mantığı

Ms Crm 2015 İş Kuralları (Business Rules)Değilse

Ms Crm 2015 İş Kuralları (Business Rules)Değilse

MS CRM 2013 Asenkron Çözüm Alma

Çözümleri sistemimize import  ederken genellikle sistem yavaşlar ve bu süre içerisinde bir işlem yapamayız. Ms Crm 2013 ile artık asenkron olarak çözümlerimizi import edebiliyoruz. Ne yazikki şuan sadece kod tarafında bu işlem mümkün. Crm arayüzünden yaptığımız import işlemi senkron olarak devam etmekte.

Öncelikle  ExecuteAsyncRequest  isimli  asenkron olan process’ i kullanacağız. ExecuteAsync  request’imizi Organization Service kullanarak  gönderip  mesajımızın  asenkron bir iş olarak işleme koyulmasını sağlıyoruz. Gönderdiğimiz asenkron işin idsini elde ettiğimiz zaman çözümümüzün başarıyla veya başarısız olarak  import edildiğini anlıyoruz.

Örnek:

ExecuteAsyncResponse response = (ExecuteAsyncResponse)_service.Execute(request);
Burada aşağıdaki gibi asenkron işimizin id sini alıyoruz.

Mscrm solution import

Mscrm solution import

Veya sistem işlerinden oluşturulan job’ u bulup çözümümüzün başarılı bir şekilde import edilip edilmediğine bakabiliriz. Asenkron olarak çözümlerimizi aldığımız zaman sistemimiz kitlenmez ve kullanıcıların sürekli timeout almasını engellemiş oluruz.

Kaynak

MS CRM Environment Diagnostics

Dynamics CRM(on-premise) yüklerken veya varolan organizasyonumuzu import ederken hata veya sorunla karşılaşmamız için birtakım kontroller gerçekleştirir ve olası sorun ve hataları gösterir.

Eğer bu hata mesajına çift tıklarsak help dosyası açılır ve hatanın detayını görebiliriz. İşte bu help dosyasının bulunduğu kısım :

C:Program FilesMicrosoft Dynamics CRMToolsEnvironmentDiagnostics.chm

Kuruluma veya organizasyonu import etmeden önce bu yardım dökümanına göz atmakta fayda var.

Kaynak

MS CRM 2013 Erişim Takımları

Erişim Takımları(Access Teams) Microsoft Dynamics CRM 2013 ile beraber gelen özelliklerden olup varlıklar için ayrıcalıkları ve izinleri  CRM ‘ de tanımlamız için bize yeni bir yol sunuyor.

Nasıl Kullanılır?
Sistemi özelleştirden erişim takımlarını kullanmak istediğimiz varlığa gidip Erişim Takımlarını aktif hale getirmeliyiz.
NOT: Bir kere aktifleştirildiğinde bu değişiklik geri alınamıyor.

Erişim Takımları
Erişim Takımları
Şimdi ise Firma varlığımızda kullanmak istediğimiz erişim takımlarını oluşturmalıyız. Bunun için Ayarlar>Yönetim>Erişim Takımı Şablonlarına gitmeliyiz.
Erişim Takımı Şablonları

Buradan yeni diyerek Erişim Takımı Şablonu oluşturacağız. Karşımıza gelen ekranda varlık kısmında önceki adımlarda Erişim Takımını hangi varlık için aktif ettiysek onu seçmeliyiz.
NOT: Eğer hiçbir varlık gözükmüyorsa hiçbir varlık için erişim takımları aktif edilmemiş demektir.

Yeni Takım Şablonu

Daha sonra firma varlığımızın form tasarımına gelerek bir adet alt ızgara yani Subgrid’ e  tıklayalım.

Alt Izgara

Aşağıdaki ayarlar ile Subgrid oluşturalım.

Alt Izgara Özellikler
Not: Eğer varsayılan görünüm kısmında “İlişkili Kayıt Takım Üyeleri” seçeneğini seçmez isek takım şablonu alanı aktif olmaz.
 
Not:Eğer oluşturulan Erişim Takımlarını Ayarlar/Yönetim/Takımlar içerisinde bulmaya çalıştığında olmadığını farkedeceksiniz. Bu oluşturulan takımları bulmak için gelişmiş buldan takımlarda arama yapabilirsiniz. Oluşturulan takımların Takım Türü: Erişim ve Takım adları GUID den oluşmakta.
Örneğin:
Erişim Takımı Adı
 
NOT: Erişim takımlarına yazılım yoluyla kullanıcı eklemek için SDK ya AddUserToRecordTeamRequest mesajı eklendi. Kullanımı:

Kaynak:
http://www.microsoft.com/en-us/download/confirmation.aspx?id=41190
http://www.powerobjects.com/blog/2013/11/06/access-teams-in-dynamics-crm-2013/
http://www.fmtconsultants.com/2014/03/improving-performance-with-access-teams-in-microsoft-dynamics-crm-2013-a-how-to-guide/
https://community.dynamics.com/crm/b/crmpowerobjects/archive/2013/11/05/implementing-access-teams-in-dynamics-crm-2013.aspx
http://garethtuckercrm.com/2013/11/24/crm-2013-new-features-access-teams/
https://crmbusiness.wordpress.com/2014/05/15/crm-2013-mb2-703-access-teams-and-access-team-templates-how-to-use-them-and-key-facts/

MS CRM 2013 İş Kuralları

Yeni: MS CRM 2015 İş Kuralları (Business Rules) yazısı için tıklayınız.

Microsoft Dynamics Crm 2013 yeni özelliklerinden Business Rule (İş Kuralları) formlarınızda JavaScript kodu yazmadan iş kuralları oluşturmanıza olanak sağlar. Sunduğu arayüz ile hızlı bir şekilde  Ana Görünüm ve Hızlı Görünüm formlarında sık kullandığınız iş kurallarınızı oluşturup düzenleyebilirsiniz.

Not: Dynamics CRM 2015’de iş kuralı oluştururken kapsam olarak “Varlık” seçersek artık server side taraflı çalışabiliyor. Yani iş kuralları sadece CRM arayüzünden yaptığımız değiştikliklerde değil yazılımsal olarak yaptığımız değişikliklerde de (Workflow ve plugin gibi) server side çalışabiliyor. (Kaynak)

İş Kuralları İle Yapılabilecekler:

    • Alanların değerlerini değiştirebilirsiniz.
    • Alanların gerekliliklerini değiştirebilirsiniz.
    • Alanları gösterip gizleyebilirsiniz.
    • Alanları formda gösterip gizleyebilirsiniz.
    • Alanların değerlerini doğrulayıp fomda hata mesajı gösterilmesini sağlayabilirsiniz.
Basit bir örnek:

İlgili kişi formumuzda  “Tercih Edilen İletişim Yöntemi” isimli seçenek kümesi alanında seçilen değere göre alanlarımızı gizleyip gösterelim. Alanımızda aşağıdaki değerler olsun:

Yeni İlgili Kişi
Ms Crm 2013 Option SetEğer E-Posta alanı seçilirse Telefon alanını gizleyelim. Öncelikle Sistemi Özelleştir formumuzu açalım. Ve İlgili Kişi varlığımızı seçip İş Kurallarından Yeni’ ye tıklayalım.
İş Kuralları Özelleştirme

İş Kuralımızın adını ve kurallarımızı yazalım.

İş Kuralları Oluştur
Aşağıdaki kuralları isteğinize göre değiştirebilirsiniz. Örnek olması açısından basit olsun istedim.
İş Kuralları Etkinleştir

Artık iş kuralımızı aktifleştirdiğimizde. Tercih edilen bağlantı yöntemini “E-Posta” seçer isek  “Cep Telefonu” alanı gizlenecek.

Kaynak:
http://msdn.microsoft.com/en-us/library/dn481574(v=crm.6).aspx
https://community.dynamics.com/crm/b/crminogic/archive/2014/10/06/business-rule-updates-in-dynamics-crm-2015.aspx
http://www.powerobjects.com/blog/2014/02/19/creating-if-then-else-logic-in-crm-2013-business-rules/
http://www.powerobjects.com/blog/2013/10/24/become-pseudo-developer-business-rules-crm-2013/

MS CRM Gelişmiş Bul Sorgularının Sql Scripti

Aşağıdaki gelişmiş  bul sorgu muzun kullandığı sql sorgusunu bulalım.


Gelişmiş Bul Sorgusu

Sağ üst taraftaki kişilere ver butonuna tıklayalım.

Gelişmiş Bul Sorgusu Excel Export

Açılan ekranda dinamik çalışma sayfasını seçiyoruz ve ileriyi seçip istediğimiz alanları seçip ver diyoruz.

Dinamik Çalışma Sayfası

İndirdiğimiz xml dosyasını herhangi bir text editor ile açıyoruz ve  tagları arasında kalan kısımı alıyoruz. İşte bizim sql sorgumuz:

Not: İsterseniz xml dosyasının uzantısı excel dosyası uzantısına çevirip ile excel dökümanından da sql sorgusuna ulaşabilirsiniz. Bunun için excel dosyasını açıp Data>Connection>Properties>Detail>Query yolunu takip etmelisiniz.

MS CRM 4.0 ekler için dosya boyutu sınırını değiştirmek

CRM 4.0 ekler için dosya boyutu sınırını değiştirmek:

1. Web.config dosyasını açıyoruz (C:InetpubCRMweb.config).

2.    elementi içerisini aşağıdaki gibi değiştiriyoruz (10240 i istediğimiz şekilde değiştirebiliriz)

3. web.config dosyamızı kaydediyoruz.

4. Tarayıcıdan Crm’ i açıyoruz.

5. Ayarlar | Yönetim| Sistem Ayarları kısmına giriyoruz.

6. E-posta sekmesine tıklıyoruz.

7.Maiksimum dosya boyutu kısmını (kilobytes) 10240 yapıyoruz.

9.Tamam butonuna basıp kapatıyoruz.

10. Sonrada IIS i yeniden başlatıyoruz. .

CRM 4.0 Menü ve Kontrolleri Özelleştirme

MS CRM 4.0′ da menü ve kontrolleri 2 yöntem ile özelleştirebiliyoruz:

  • Site Map
  • ISV.Config
Not: Her iki yöntemde de XML yapısını kullanacağımızdan XML ile ilgili temel bilgileri edinmiş olmanız gerekiyor. Eğer XML hakkında daha fazla bilgi edinmek istiyorsanız şuradaki adrese bakmakta fayda var.

Site Map (Site Haritası)

Site haritaları Ms Crm’de her alanda gösterilecek olan nesnelerin yazıldığı xml dosyasıdır. Örneğin çalışma alanındaysanız(workplace area) sol tarafta aktiviteler(activities), takvim(calendar) gibi seçenekler görürsünüz. Bu seçenekler varlıklara(entities) kısa yoldan erişmemizi sağlayan kısayollardır.
Özelleştirmeleri Ver
Özelleştirmeleri Ver
Site haritalarını düzenlemek için öncelikle dışa aktarmalıyız(export). Bunun için ayarlar(setting)>özelleştirme(customization)>export customization’dan sitemap seçilip özelleştirmeleri ver denir. Daha sonra değişikliğimizi yapıp sisteme tekrardan yüklemeliyiz. Site haritasının içerdiği xml’in yapısı aşağıdaki gibidir:
SiteMap: En üst seviyedeki xml etiketidir. Aynı isimde area’ları içeren bir etiket içerebilir.
Area: Her alan(area)’ın kendine has navigasyon butonları bulunur. Varsayılan olarak Site Haritası(SiteMap) 6 tane alan(area) ile beraber gelir. Bunlar:
  • Çalışma Alanı(Workplace)
  • Satış(Sales)
  • Pazarlama(Marketing)
  • Servis(Service)
  • Ayarlar(Setting)
  • Kaynak Merkezi(Resource Center)
Aşağıda Çalışma alanı(Workplace) için varsayılan xml attributeları ve değerleri verilmiştir.
Not: ResourceId ve DescriptionResourceId yerine Title kullanabiliriz.
Bu Attributelardan:
  • Id: Alanın benzersiz tanımlayıcısı.
  • ResourceId: Resource id.(Internal)
  • ShowGroups: Eğer alan birden fazla gurup içeriyor ise zorunludur.
  • Icon: Görsel url adresi.
  • DescriptionResourceId.(Internal)
Group: Alanların içerdiği gurupları ifade eder. Bir veya birden fazla olabilir.

SubArea: Herhangi bir sayfaya veya web adresine gitmek için kullandığımız adrestir.

ISV.Config

ISV.Config dosyası toolbar’a kontrol ekleyebildiğiniz crm’e ekstra özellikler katabilmek için kullandığımız xml dosyasıdır. Varlıklara veya web uygulamalarına hızlı bir şekilde erişmemizi sağlayan kısayollar oluşturabildiğimiz  site haritalarının aksine crm varlıklarından olmayan bir web uygulaması veya 3.parti bir yazılıma erişmemizi sağlayan, kısayollar oluşturmamızı sağlayan xml dosyasıdır. Site haritasındaki gibi önce export edilmeli gerekli değişiklik yapıldıktan sonra tekrar import edilmelidir.

Isv.Config dosyası varsayılan olarak kapalıdır. Xml dosyasındaki değişikliklerin crm’e yansıması için isv.config dosyasının aktif edilmesi gerekir. Bunu:
Ayarlar>Yönetim>Sistem  Ayarları>Özelleştirme tabından  yapabilirsiniz.

Sistem Ayarları

ISV.Config dosyasının içerdiği xml’in yapısı aşağıdaki gibidir:

IsvConfig: sadece etiketini içerebilir. En üst seviyedeki etikettir.
configuration: Versiyon numarasını içerir. Örneğin:
root: Global menü ve toolbar’ları içerir. Örneğin:

           

 

Button: Buton oluşturmamızı sağlayan etikettir. Aşağıdaki etiketleri kapsayabilir:

Buton elementi aşağıdaki attribute’lara sahip olabilir:

  • Client: Bu attribute butonumuzun hangi client uygulamasında görüntüleneceğini belirtir. 2 seçenek vardır. Outlook, web.
  • AccessKey: Butonumuzu faremiz ile değilde klavyemizden tetiklemek için oluşturacağımız kısayoldur. Tek 1 harf alabilir. Alt +{seçtiğiniz harf} şeklinde çalışır. (Alt kısayolu değiştirilemez)
  • AvalibleOffline: Bu attribute outlookta offline çalıştığımız zaman butonumuzun görünüp görünmeyeceğini belirtir.
  • Icon: Bu attribute butonumuzun üzerinde görüntülecek resmi belirtir. (Icon dosyası gif olmalıdır. 16×16 8-bit (256) web için, 16×16 veya 32×32 outlook için)
  • Javascript: Bu attribute butona tıklandıktan sonra çalışacak javascript i belirler. Örneğin:
  • PassParams: O anki varlığın url’ine parametre ekler.
  • Url: Url adresi. Eğer javascript attribute’unda değer varsa bu attribute işlemez.
  • ValidForCreate: Eğer buton bir varlık içerisine konulmuş ise o varlıktan yeni bir kayıt oluşturulduğunda butonun gösterilip gösterilmeyeceğini belirler.
  • ValidForUpdate:  Eğer buton bir varlık içerisine konulmuş ise o varlıktan bir kayıt güncelleniyorsa butonun gösterilip gösterilmeyeceğini belirler.
  • WinMode:
    • 0=Window: Url’i içeren yeni pencere açar.
    • 1=Modal Dialog Box: Yeni pencere açar(kutu şeklinde) ve opencereyi kapatmadan önceki sayfada işlem yapamayız.
    • 2=Modeless Dialog Box: Yeni pencere açar(kutu şeklinde). İstersek kapatmadan önceki sayfaya dönüp işlem yapabiliriz.
  • WinParams: Açılacak olan dialog box’ın boyutunu, yerini ve rengini gibi özelliklerini parametre olarak yollayabileceğimiz parametre. Örneğin:

 Entities: Her varlığın kendi menü ve toolbarı mevcuttur. Ondan dolayı eğer biz varlığa menü ve toolbar itemi eklemek istiyor ise isv.config dosyasında bu varlığı belirtmek zorundayız. Örneğin:

Not: Title daki LCID kodu dil kodudur. 1055 türkçe dil kodudur.