1. Ana Sayfa
  2. Dynamics CRM
  3. Dynamics 365 SDK ‘Notlar’ Kaydını Güncellemede Yaşanan Hata

Dynamics 365 SDK ‘Notlar’ Kaydını Güncellemede Yaşanan Hata

Dynamics CRM - Dynamics 365

Yine bir bug-fix ile karşınızdayım

Neden bu kadar çok bug-fix makalesi hazırladığımı merak edenler için şimdiden söyleyeyim. Amerika’yı tekrar keşfetmeyin diye.

Çok eskiden bir hocam bir gün ders esnasında bir fıkra – hikaye anlattı. Aynısını sizlere de anlatmak istiyorum.

“Bir gün Amerikalılar Ay’a çıkıyorlar. Orada not almak için tükenmez kalem ve kâğıt götürüyorlar yanlarında. Ancak hava basıncı olmadığı için tükenmez kalem yazmıyor. Geri dönüyorlar ve Ay’da yazabilen kalem icat ediyorlar. Tabi milyon dolarlar harcayarak.
Tabi bunları gören Ruslar ise, Yanlarına tükenmez kalem yerine kurşun kalem alarak Amerika Uzayda yazan kalemi icat edemeden gidip notlarını alıp geliyorlar.”

Tabi hikâyenin sallama olduğu çok belli Ama burada önemli olan konu hikâyenin sallama olup olmaması değil, hikayedeki ana fikir.

Şimdi konumuza gelelim isterseniz.

On-Premise versiyonunda geçen gün bir plug-in geliştirirken bir varlığa “Annotation” yani not eklemek istedik. Ancak bir hata ile karşılaştık.

Dynamics 365’te notlar eklenirken hata almayı hiç düşünmezdim doğrusu 🙂

 

Aldığımız hata ise,

‘bnt_pushnotification’ with ID XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX does not exists

Kullanmış olduğumuz kodun örneği ise şu şekilde.

var entAnnotation=new Entity(“annotation”);
entAnnotation.Attributes[“objectid”] = new EntityReference(“bnt_pushnotification”,”{GUID}”);
crmService.Create(entAnnotation);

Biz burada “annotation” varlığındaki “objectid” alanını güncellemeye çalışıyoruz. Ancak bize, sistemdeki “bnt_pushnotification” varlığında “{GUID}” id’si ile bir kaydın olmadığını belirtiyor. Ama var
Hatta ilgili Id bilgisi plugin contextinden bize ulaştırılıyor

Peki sorunu nasıl çözdük?

Annotation varlığı üzerinde bulunan ‘objecttypecode’ alanını, bizim bu uygulamamızda set etmeye çalıştığımız entity ismini verdik. Normal şartlarda, objectid alanına bir entityreference ilettiğimiz için bunu kendisinin otomatik update anında ayarlıyor olması gerekiyordu. Ama sanırım küçük bir bug mevcut.

Kodumuzun son hali aşağıdaki gibi oldu.

var entAnnotation=new Entity(“annotation”);
entAnnotation.Attributes[“objectid”] = new EntityReference(“bnt_pushnotification”,”{GUID}”);

entAnnotation.Attributes[“objecttypecode”] = “new_myentity“;
crmService.Create(entAnnotation);

Sorun biraz can sıkıp biraz zaman alsa da çözüme ulaştık.
Dediğim gibi Amerika’yı keşfetmeyin

Herkese huzurlu, mutlu ve MSHOWTO’lu günler diliyorum.

Bu konuyla ilgili sorularınızı http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: , dynamics 365, , , ,

 

Yorum Yap

Yazar Hakkında

11 yılı aşkın bir süredir Yazılım sektörünün içerisindeyim. Yazılım ile alakalı farklı eğitimleri ve sertifikasyonlarını alarak bu sektör içerisinde son 9 yıldır profesyonel olarak çalışmaktayım. Yazılım sektöründe kurumsal firmalarda, pek çok farklı pozisyonda görev aldım. Şu an Vakıf Emeklilik şirketinde DBAdmin - CRM Danışmanı olarak çalışmaktayım. MCP, MCPD, MCSE, MCITP ve MCT sertifikalarına sahibim. Halen aktif olarak bireysel yazılım eğitimleri vermeye devam etmekteyim.

Yorum Yap