Dynamics 365 - Createdon ve Overriddencreatedon

CRM servslerini kullanarak veri aktarma işlemlerinde CreatedOn alanına değer veremeyiz. 

Bu aktarma işlemlerimde aşağıdaki yöntemleri kullanırız.

-- C# kod kullanılarak CRM içerinde veri oluşturma
-- CRM Veri Yönetimi kullanılarak txt/csv/xml dosyaları ile 

Bu yöntemlerde createdon tarihine değer veremezsiniz ve bu alan otomatik olarak kayıdın oluşturulduğu tarihi alır .

 Veri aktarımı yapılacağı zaman  gereksinimlerden biri de  CRM'deki kayıt oluşturma tarihinin eski sistemdeki kayıt oluşturma tarihiyle aynı olmasıdır..

Bunu CRM dekı baska bir alanda tutmak yerine sadece create için kullanılan OverrideCreatedOn  alanında tutacağız.  Bu durumda CRM tarafı OverrideCreatedOn alanını kullanacaktır .

Örnek Kod:

Entity account = new Entity("account");
account.Attributes["overriddencreatedon"] = new DateTime(2012, 2, 22);
account.Attributes["name"]=overriddencreatedon;

crmService.Create(item);

SQL Görünümü





Dynamics 365 - Durum Açıklaması Alanının Değerini Verme veya Güncelleme (How to update or set custom values for status code in CRM 2011/CRM 2013/CRM 2015 and CRM 2016 from UI)

CRM üzerindekı alan bilgileirnden statuscode alanı için değer değişimi yapamazsınız  . Bunun için customization.xml yöntemini kullanarak  alanların değerlerini verebilirz veya güncelleyebiliriz.



Öncelikle , kullanacağımız yöntem Microsoft tarafından desteklenmediği için (unsupported) işlemlerimize başlamadan önce yedek almamız gerekir. Aksi bir durumda yedekten geri yükleme yapabilelim.

Öncelikler hangi varlık üzerinde çalışacaksak ; o kayıt için bir çözüm oluşturalım ve alanlar kısmından statuscode değerini seçelim. Oluşturduğumuz bu çözümü dışarıya aktaralım.





Ben burada teklif varlığı için Lost , Canceled ve Revised alanlarını ekleyeceğim . Normalde CRM in default alanı olmasına rağmen bir müşterimizde kaldırılmıştı . Var olan value sunu kullanmak için bu yöntemi kullandık.



Aşağıdaki ekran görüntüsünde görüldüğü üzere Closed durumu için Lost , Canceled ve Revised durum açıklamaları alanımızın değerlerinde bulunmuyor.



Dışarıya aktarılan dosya .zip uzantılı olduğundan bu dosyayı dışarı çıkaralım.



Klasör içerisindeki customization.xml adlı dosyayı herhangi bir XML editörde açalım . Ben burada Visual Studio yu kullanacağım.



Daha sonra Entities tagı altından Entity kısmına gelerek hangi varlık için çalışma yapacaksak o alanı bulalım.Varlığımıza ait bilgilerin olduğu kısmı bulduysak ; attibutes tagının altından statuscode olan yeri bulalım.



Daha sonra aşağıdaki ekran görüntüsündekı gibi seçenekler bilgilerinin yer aldığı kısmı açalım.


Aşağıdaki ekran görüntüsündekı gibi seçeneklerimizin bilgilerini girelim.



Not : Burada hangi Durum için Durum Açıklaması gireceksek bunu state olan kısımda belirtmeliyiz.

Burada value değerini kendimiz verebiliyoruz.CRM üzerinden bu alan açsaydık bu değerleri değiştiremiyoruz veya istediğimiz bir value değeri veremiyoruz.

Değerlerimizi girdikten sonra xml dosyamızı kaydedelim ve programımızı kapatalım.

Bir sonraki adımda geriye dosyalarımıı yükleyeceğimiz için dışarıya çıkarttığımız dosyaları tekrar zip dosyası haline getirmeliyiz.




CRM import yoluyla çözümümüzü CRM e geri yükleyelim.

Yapılan işlemler sonucunda hata alınmazsa işlemimiz başarılı bir şekilde gerçekleşti demektir. Gidip CRM üzerinden kontrol edelim.

Aşağıdaki ekran görüntsünde görüldüğü gibi alanlarımızı başarılı bir şekilde ekledik.




Dynamics CRM in keyfini çıkarın.

Dynamics 365 Outlook - Hata "Sayfanın CRM sunucusundan alınması bekleniyor." (Waiting for a page to be retrieved from a CRM server")



Hata

Microsoft Outlook üzerinden Microsoft Dynamics 365 kullanırken  organizasyonun bilgilerinin bulundugu klasörler üzerine gelinildiğinde ; görünüm de hiçbir veri gelmez ve "Sayfanın CRM sunucusundan alınması bekleniyor."  şeklinde bir uyarı verilir . Beklenildiğinde de hiçbir zman veriler gelmez.

Sebep

Microsoft Outlook Ekim 2017 güvenlik güncelleştirmesi sonucunda , uygulama ile ilgili önemli bir güvenlik açığını gidermek üzere outlook dolaşımı devre dışı bırakır ve bu nedenle eklentinin başarısız olmasına neden olur .

Çözüm

Bu hatanın düzeltilmesi için Regedit ten bir key eklemek gerekiyor.




Aşağıdaki kayıt defteri anahtarı, Microsoft Outlook'un yüklü sürümüne bağlıdır


Microsoft Outlook 2016:
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security] "EnableRoamingFolderHomepages"=dword:00000002 Microsoft Outlook 2013: [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Security] "EnableRoamingFolderHomepages"=dword:00000002 Microsoft Outlook 2010: [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Security] "EnableRoamingFolderHomepages"=dword:00000002



Daha fazla bilgi için ilgili makaleyi inceleyebilirsiniz.