Cengiz ATİLLA

Microsoft Dynamics CRM

Dynamics CRM 365 - Dialog Box

Merhaba Arkadaşlar , 

Dialog Box ( İletişim Kutuları ) kullanıcıları bir süreç boyunca yönlendirmek için adım,adım bilgi giriş ekranları kullanarak kullanıcıdan verileri toplamamıza yarayan süreçtir. Örnek olarak servis taleplerinde hazırlamış olduğumuz bir iletişim kutusu ile kontrollü bir şekilde servis taleplerinin çözüme ulaştırabilir, call center ekibimizin kullanacağı bir iletişim kutusu ile gelen çağrılar için arama kaydı ve arama kaydına bağlı servis talepleri oluşturabiliriz. 

Kullanıcılarımızın yapması gereken tek işlem karşılarına gelen ekranlardaki verileri doldurup ileri tuşuna basmak . 

 

  1. İletişim kutumuza vermiş olduğumuz genel isim ve sayfa oluşturma aşamasında yazmış olduğumuz Sayfa başlık bilgisi verileri bu alanda gösterilir. 
  2. Sayfa içerisinde oluşturduğumuz istem ve yanıt bölümüdür, bu alanda kullanıcıya yöneltmiş olduğumuz sorunun cevabını ileride değineceğimiz bazı seçenekler ile alabiliriz. 
  3. İstem ve yanıt kısmında sormuş olduğumuz sorunun detaylarını barındıran açıklama kısmı 
  4. Örnek resimde var olan ok , oluşturmuş olduğumuz iletişim kutusu sayfasının kaplamış olduğu alanı belirler. 

SAYFA 

İletişim kutusu içerisinde oluşturduğumuz sayfalar kullanıcımızın karşısına yukarıdaki örnekte olduğu gibi çıkar , iletişim kutularında birden fazla sayfalar kullanabilir bir önceki sayfadaki değeri bir sonraki sayfada kullanabilir veya sayfa içerisine girilen değerlere göre koşul işlemleri yaptırabilir kullanıcımızın vermiş olduğu cevaplara göre karşısına istediğimiz sayfamızın çıkartabiliriz. 

İstem ve Yanıt

İstem ve yanıtlar oluşturmuş olduğumuz sayfalar içerisinde kullanıcıya soru sormamıza ve sormuş olduğumuz sorumuzun cevabını almaya yarar. Sormuş olduğumuz sorumuzun cevabını kullanıcıdan aşağıdaki şekillerde alabiliriz. 

  • Yok : Herhangi bir cevap değeri içermez genel olarak bilgilendirme yazılarında kullanılır. 
  • Tek Satır : Kullanıcının karşısına tek satır metin kutusu gelir ve değeri buraya girmesi istenir.
  • Seçenek Kümesi ( Radyo düğmeleri ) : Kullanıcının karşısına radyo buton şeklinde eklemiş olduğumuz değerler gelir . Seçilen değerin sistemsel değerini int türünde biz verebiliriz. 
  • Seçenek Kümesi ( Seçim listesi ) : Kullanıcının karşısına seçim kümesi olarak eklemiş olduğumuz değerler gelir. Global seçim kutuları bu alanda görünmez sistem içerisindeki farklı bir seçim kutusu üzerinde kıyaslama yapmamız gerekiyor ise değerlerini buraya yeniden tanımlamak zorundayız. Seçilen değerin sistemsel değerini int türünde biz verebiliriz. 
  • Birden fazla satır ( Yanlızca metin ) : Kullanıcının karşısınıa bir metin kutusu gelir. Burada birden fazla metin girebileceği şekilde büyük olarak açılır. 
  • Tarih ve Saat : Kullanıcının karşısına tarih ve saat bilgisini girebileceği bir veri giriş kontrolü gelir. 
  • Yanlızca Tarih: Kullanıcının karşısına tarih bilgisini girebileceği bir veri giriş kontrolü gelir. 
  • Arama : Kullanıcının karşısına belirtmiş olduğumuz varlığımızın kayıtları gelir. 

İpucu

istem ve yanıt içerisinde bulunan bir bölümdür, kullanıcıya sormuş olduğumuz soru hakkında daha açıklayıcı bazı bilgileri girdiğimiz kısımdır. 

 Örnek

Servis talebi üzerinde çalışacak bir iletişim kutusu yapalım. Kullanıcılarımız iletişim kutusunu çalıştırdıkları zaman

  • Servis talebini kapatmak istediğinize emin misiniz
    • Evet : Servis talebini problem çözüldü olarak kapatalım
    • Hayır :Servis talebini iptal edildi olarak kapatalım

İstem ve Yanıt ekranının ayarlanması

İstan ve yanıt ekranımız ayarlandıktan sonra kullanıcımızın vermiş olduğu cevap kontrolü için ekranda olduğu gibi koşul denetimi yapabiliriz.

İletişim kutusunu çalıştırdığımız zaman kullanıcı üzerinde bulunduğu servis talebini sorunun cevabına göre başarılı bir şekilde kapatabildiği gibi iptal işlemini de gerçekleştirebilir.

Dynamics CRM 365 - Business Rules - Error Messages

Merhaba Arkadaşlar , 

Business Rules yapısını kullanarak form üzerindeki alanlarımızda girilen değerin belirttiğimiz kriterler dışında ise kullanıcıya nasıl hata mesajı gönderebiliriz konusunu inceleyeceğiz. 

Bu makaleyi okumadan önce eğer Bussiness Rules yapısı hakkında bilgi sahibi değilseniz Dynamics CRM 365 - Bussiness Rules yazımı okumanız bu konuyu daha net anlamanızı sağlayacaktır. 

İlgili kişi varlığında yeni bir ilgili kişi oluşturulmak istendiği zaman E-posta adresi alanı boş ise bir hata mesajı çıkartalım ve " Kaydı oluşturmak için E-posta adresi bilgisini doldurmanız gerekmektedir. " hatası verelim. 

Form tasarımı üzerinden Bussiness Rules ( İş Kuralları ) butonuna basalım ve sol alt kısımdan yeni iş kuralı butonuna tıklayalım. 

 

Karşımıza gelen iş kuralı oluşturma ekranı üzerinden ; 

Koşul kısmında ; 

Kaynak değerimizin varlık ( ilgili kişi ) - Kontrol etmek istediğimiz  alanın  ( E-posta ) şartımızında Veri içermez  ise olduğunu belirttik . Oluşturmuş olduğumuz bu şart sağlanır ise

Hata iletisi göster kısmında ; 

Alan : Hangi alan üzerinde hata mesajımızı göstereceğimizi belirledik. 

İleti : Seçmiş olduğumuz alan üzerinde hangi metni yayınlayacağımızı belirttik. 

İş kuralımızı kayıt edelim ve yayımlayalım .  

Yeni bir ilgili kişi oluşturmak istediğimiz zaman aşağıdaki gibi eposta alanı boş ise bize uyarı verecektir. 

 

 

Dynamics CRM 365 - Rollup Fields

Merhaba Arkadaşlar 

Dynamics CRM 365 içerisinde bulunan ve yine biz kod geliştiriciler için kolaylık sağlayan bir başka özellik olan  rollup fields konusunu inceleyeceğiz. 

Rollup fields bir önceki makalemdeki Calculated Fields yapısına benzemektedir. Rollup fields yeniliği ile javascript kod yazma ihtiyacı kalmadan otomatik hesaplamalar yaptırabiliriz. 

Desteklediği Veri Tipleri 

  • Tamsayı
  • Ondalıklı sayı
  • Para birimi 
  • Tarih ve saat

Avantajları ve Yetenekleri 

  • Görsel olarak kolay tasarlanabilmesi
  • SUM - COUNT - MIN - MAX - AVG işlevlerini kullanabilme
  • Bir veya birden fazla koşul kullanarak işlem öncesi kontrolün sağlanabilmesi. 
  • Oluşturulan rollup fields değerlerinin görünüm, grafik ve raporlarda kullanılabilmesi
  • Rollup field ile calculated field bir arada kullanılabilir 

Dikkat Edilmesi Gerekenler 

  • Bir organizasyon için toplamda 100 rollup fields tanımı yapılabilir. Varlık başına ise en fazla 10 adet rollup fields tanımı yapabiliriz. 
  • Rollup fields üzerinde oluşan güncellemeler herhangi bir iş akışını tetiklemez. 
  • İş akışları içerisinde rollup fields lar bekleme koşulu olarak atanamaz. 
  • Basit alanlara veya karmaşık olmayan hesaplama alanları için kullanılır. 
  • Rollup fields içerisindeki değer formun açıldığındaki son hesaplama değeri olduğu için referans olarak çağrılan yerlerde son hesaplama değeri üzerinden işlem görür. 

Rollup Field Oluşturmak 

Form tasarımında veya oluşturmuş olduğumuz çözüm üzerinde işlem yapmak istediğimiz varlığımıza  gidelim ve yeni alan oluştur butonunu seçelim. 

Desteklediği veri tiplerden birini seçip alan türü kısmından toplu değer ( Rollup Fields ) seçeneğini seçelim. Seçimi tamamladığımız zaman Alan türü kısmının yanında düzenle butonu belirecektir. 

Düzenle butonuna bastığımız zaman ilk önce ilgili alan kayıt olacağı için * ile işaretlenmiş alanların doldurulması gerekmektedir. 

Düzenle butonuna bastığımız zaman karşımıza gelen ekran üzerinden rollup fields ayarlarımızı gerçekleştirebiliriz. 

Örnek Kullanım 

Firma varlığı içerisine eklediğimiz bir alan ile o firma kartına bağlı bulunan toplam ilgili kişi adedini hesaplatalım. 

Yukarıdaki örnek rollup fields tanımında Firmalar varlığı üzerine Toplam çalışan sayısı adında bir Tamsayı tipinde alan oluşturduk ve rollup field olarak işaretledik. 

İlgili varlık kısmında ise , ilgili kişiler içerisindeki durum açıklaması etkin olan ve durum değeri etkin olan kayıtları işlemimize kriter olarak belirttik. 

Toplama kısmında ise alan üzerinde ne yapacağımızı belirledik. Sayı / ilgili kişi ile o firma üzerinde kaç adet ilgili kişi olduğunu hesaplatmak istedik. 

Oluşturmuş olduğumuz alanımızı firma varlığı üzerindeki formumuza ekleyip Yayımla diyelim test edelim. 

 

 

Firma kartına bağlı olan kayıtların toplamı form üzerindeki toplam çalışan sayısı alanında hesaplanmış olarak durmaktadır. 

İlgili alanımızın yanına geldiğimizde yeniden hesapla isminde bir butonun belirdiğini görebiliriz. Form üzerinde manuel olarak çalıştırabiliriz. 

Rollup field form üzerinde calculated fields da olduğu gibi sadece okunabilir olarak gelmektedir. 

Dynamics CRM 365 - Calculated Fields

Merhaba Arkadaşlar , 

Dynamics CRM 365 içerisinde getirdiği bir çok yenilik ile biz kod geliştiricilere kolaylık sağlamaya devam etmektedir. Bir önceki yazımızda Business Rules yapısında olduğu gibi form içeriside eskiden javascript ile yaptığımız bir çok işlemi şimdi calculated field teknolojisini kullanarak yapabiliyoruz.

Hangi Form Elemanlarında Calculated Field Kullanabilirim

  • Text
  • İkili Seçenek ( Evet / Hayır )
  • Picklist
  • Sayısal Alanlar
  • Currency
  • Tarih ve Saat

 

Calculated field yapısını kullanarak neler yapabiliriz

  • Form üzerinde olan bir alan ile yine form üzerinde olan bir başka alanı birleştirebilir veya üzerinde matematiksel işlemler gerçekleştirip hesaplanmış alanımızda gösterebiliriz. 
  • Form üzerinde olan bir lookup içerisinden değer seçtiğimiz zaman seçmiş olduğumuz değerimiz içerisindeki herhangi bir alana ulaşabilir istersek aynı şekilde kullanabilir istersek bazı işlemlerden ( sayısal veya birleştirme ) geçirebiliriz. 
  • Tarih saat işlemlerinde gün , hafta , yıl ekleme işlemlerini yapabiliriz. 

Not : Business rule yapısında olduğu gibi istersek bu olaylarımızı bir kritere bağlayıp ilgili şart sağlanıyorsa calculated field üzerinde yaptığımız işlemlerin geçerli olmasınıda sağlayabiliriz. 

Makalemizin sonlarına doğru bir örnek ile bunu açıklayacağız. 

Calculated Field Oluşturmak

  • Ayarlar - Özelleştirmeler veya Çözümler
  • Varlıklar - İşlem yapmak istediğimiz entity seçelim.
  • Seçmiş olduğumuz entity içerisinden işlem yapmak istediğimiz ( hesaplanmış alanı yerleştirmek istediğimiz form tasarımını açabilir veya alanlar kısmından işlem yapmaya devam edebiliriz. 
  • Yeni Alan oluşturmak için yeni tuşuna basalım. 
  • Karşımıza gelen yeni alan oluşturma formu üzerinde işlemlerimizi gerçekleştirelim
  • Alan Türü kısmından hesaplanan seçeneğini seçelim ve yan kısmında bulunan düzenle butonuna basalım.

 

  • Karşımıza gelen ekran üzerinden işlemlerimizi gerçekleştirebiliriz. 

Koşul ( İsteğe Bağlı ) 

Bu alanda işlem yapmadan önce oluşmasını istediğimiz bir veya birden fazla şartlarımız var ise onları belirleyebilir sonrasında işlemin oluşmasını isteyebiliriz. 

Eylem

Alan üzerinde yapılmasını istediğimiz işlemleri ayarladığımız kısımdır. Makalemizin sonlarına doğru bir örnek ile işlemlerimizi gerçekleştireceğiz. 

Örnek Kullanım 

Personel varlığımızın içerisindeki isim ve soyisim alanlarından faydalanarak personel kaydımızın otomatik olarak email adresini yazalım. 

  1. isim ve soyisim alanlarından faydalanıp personelin eposta adresini oluşturan alanımızı oluşturacağımız için bizim burada isim ve soyisim alanlarının dolu olmasını şart olarak istememiz gerekli olacağı için koşul kısmında isim ve soyisim veri içerir olmasını istedik.
  2. Eylem kısmında ise Concat methodunu kullanarak string birleştirme yaptık ve isim.soyisim@test.com şablonu ile otomatik olarak eposta adresinin oluşmasını sağlamış olduk.

 

Calculated Field lar form üzerinde kilitli olarak dururlar formumuzu kayıt ettiğimiz zaman ilgili alan eğer içerisinde bir koşul var ise sağlanmasını bekler , eğer şartlar sağlanmış ise eylem kısmındaki işlemlerini yapar ve değeri kendi üzerinde saklar. 

 

Dynamics CRM 365 - Business Rules

Merhaba Arkadaşlar , 

Business kurallar kullanıcıların herhangi bir yazılım bilgisi gerektirmeden formlar üzerinde javascript işlemleri yapabilmesine yarayan bir teknolojidir. Business kurallardan önce dynamics crm sistemlerinde form üzerinde bir alanın girilen bir değere göre zorunlu olması veya form üzerinde pasif olması gibi basit işlemler javascript bilgisi gerektiriyordu.

Business kurallar sayesinde bu tip işlemler biz yazılımcılar içinde zamandan tasarruf etmemize yardımcı olmaktadır.

Business Rules Oluşturmak 

  • Form editör kısmında bulunan Business Rules butonuna basıp sol alt kısımdaki " New Business Rule " butonunu kullanabilir 

  • Solutions içerisinden işlem yapmak istediğimiz entity seçip Business Rules kısmını seçebiliriz.

 

Yukarıda bahsettiğimiz iki yoldan birisi ile business rule oluşturma işlemine başlayabiliriz.

Business rule oluşturmak için karşımıza gelen ekran üzerindeki ; 

1 : Oluşturmak istediğimiz business rule için amacına uygun bir isim vermemiz gereklidir.
2 : Scope bölümünde oluşturmak istediğimiz business rules entity içerisindeki hangi formlarda etkin olacağını belirtiriz.

  •  Entity ( server ve client tüm formlarda )
  •  All forms (client tüm formlarında)
  •  Client tarafında oluşturduğumuz özel form üzerinde

Business Rule tanımına geçtiğimiz zaman ilk önce şartımızı sonrasında şartlarımıza uygun bir durum meydana gelirse yapılmasını istediğimiz işlemleri seçeriz.

Condition kısmında işlemin oluşması için gerekli olan şartlarımızı belirler action kısmında ise yukarıdaki şartlarımız sağlandığı zaman neler yapacağımızı ayarlarız. 

Business Rule İle Neler Yapabiliriz 

  •  Hata mesajı gösterebilir
  •  Alan veya Alanlara değer ataması yapabilir
  •  Alan veya Alanların gereksinim düzeyini değiştirebilir
  •  Alan veya Alanların form üzerinde gizleyebilir
  •  Alan veya Alanlara default değerlerini atayabilir
  •  Alan veya Alanları kitleyebilir veya kilitlerini açabiliriz

Business Rule tanımlamamızı yaptıktan sonra ilgili business rule kullanabilmek için active konumuna almamız gerekmektedir. Active konuma alınmayan business rule tanımları form üzerindeki atama alanlarında görünmeyecektir. 

Active olarak işaretlediğimiz business rule içerisinde herhangi bir değişiklik yapamayız. Eğer yayınladığımız business rule içerisinde düzenleme yapmak istiyorsak deactive konuma geri alıp gerekli düzenlemeleri tamamlayıp yeniden active konumuna almamız gerekmektedir. 

Tasarladığımız ve yayına aldığımız business rule tanımlarını geçerli oldukları form üzerindeki istediğimiz alanlarda çağırmamız gerekecektir. Form'un içerisine tanımlanmış ve hiç bir alana bağlanmamış business rule tanımları çalışmayacaktır. 

Bir örnek ile devam edelim 

Personel adında bir entity oluşturduk bu entity içerisinde Telefon I ve Telefon II adında iki tane zorunlu alanım var ,

Bir business rule tanımı yaparak ;

Eğer : Telefon I üzerinde bir data var ve Telefon II üzerinde data yok ise , Telefon II üzerindeki gereksinim düzeyini kaldırmak istiyorum .

Eğer : Telefon II üzerinde bir data var ve Telefon I üzerinde data yok ise , Telefon I üzerindeki gereksinim düzeyini kaldırmak istiyorum.

Yukarıda hazırlamış olduğumuz business  rule tanımını form üzerinde Telefon I ve Telefon II alanlarına vermemiz yeterli olacaktır.