1. Ana Sayfa
  2. Dynamics 365

Dynamics CRM 2011’de Türlerin Kullanımı


0

Microsoft Dynamics CRM 2011 ve Microsoft Dynamics CRM Online’da programlama modeli .NET’in temel türlerini kullanacak şekilde değiştirildi.

Bu tabloda beni en çok şaşırtan ise Customer, Lookup, Owner nesnelerinin artık EntityReference türünden sadece bir değer almaları. CRM’i yeni öğrenler için işler gerçekten kolaylaştırılmış. Artık kod yazarken CRM ile başlayan nesnelerimiz bulunmuyor.

Aşağıdaki tablo bize Microsoft Dynamics CRM 4.0 ile CRM 2011 arasındaki tür dönüşümünü göstermektedir.

Özellik AdıMicrosoft Dynamics CRM 2011 TürüMicrosoft Dynamics CRM 4.0 Türü
AttributeTypeCode.Booleanbool ya da System.BooleanCrmBoolean
AttributeType.CalendarRulesEntityCollectionDynamicEntity[] or calendarrule[]
AttributeType.CustomerEntityReferenceCustomer
AttributeType.DateTimeSystem.DateTimeCrmDateTime
AttributeType.Decimaldecimal ya da System.DecimalCrmDecimal
AttributeType.Doubledouble ya da System.DoubleCrmFloat
AttributeType.Integerint ya da  System.IntegerCrmNumber
AttributeType.InternalSystem.ObjectKayıtlarda KullanılmazKayıtlarda Kullanılmaz.
AttributeType.LookupEntityReferenceLookup
AttributeType.Memostring ya da System.String System.String
AttributeType.Money MoneyCrmMoney
AttributeType.OwnerEntityReferenceOwner
AttributeType.PartyList EntityCollection or ActivityParty[]activityparty[] or DynamicEntity []
AttributeType.PicklistOptionSetValuePicklist
AttributeType.PrimaryKeySystem.GuidKey
AttributeType.StringSystem.StringSystem.String
AttributeType.StateOptionSetValue yada oluşturulan enumeration kullanılmalıEntityNameStateInfo
AttributeType.StatusOptionSetValue ya da intStatus
AttributeType.UniqueidentifierSystem.GuidUniqueIdentifier
AttributeType.VirtualSystem.ObjectKayıtlarda KullanılmazKayıtlarda Kullanılmaz

 

Eski TürYeni Tür
CrmAttributeType Class (MetadataService)Microsoft.Xrm.Sdk.Metadata.AttributeTypeCode
Moniker Class (CrmService)Microsoft.Xrm.Sdk.EntityReference
SecurityPrincipal Class (CrmService)Microsoft.Xrm.Sdk.EntityReference

 

OptionSetValue

OptionSetValue’a değer atamak için ilk önce OptionSetValue türünden bir nesne oluşturmanız gerekmektedir.  Burada dikkat çekmek istediğim konu ise eğer state alanı ile çalışacaksanız (yani firma için aktif/pasif, teklif için açık/kazanıldı/kaybedildi gibi) early-bound sınıflarda bunlar için mutlaka bir enumaration oluşturulmakta. Ama late bound sınıflarda bu durumu programcı yönetmektedir.

Örnek olarak adres üzerindeki bir optionset alana değer atama aşağıdaki şekilde olmaktadır;

OptionSetValue osv = new OptionSetValue(1);

contact.Attributes[“address1_freighttermscode”] = osv;

EntityReference

CRM sisteminde iki entity’yi birbirine bağlamak için lookup nesnesini kullanmak zorundayız. Lookup’lar üzerinde programatik işlem yapabilmek için EntityReference nesnesini kullanmaktayız. Bu nesneye Lookup alana reference vermek istemiz nesnenin türü ve Id’sini vermemiz gerekmektedir.

Aşağıdaki örnekte parentAccountId atama yapılacak nesnenin guid cinsinden Id’si olmalı;

EntityReference parentaccountid = new EntityReference(“account”, parentAccountId));

accountEntity.Attributes[“parentaccountid”] = parentaccountid;

ioService.Update(accountEntity);

Null Değer Atama

CRM 4.0’dan farklı olarak .Net Type türleri kullanıldığı için null değer atama işlemi artık sadece alana değer vermekten ibaret oldu. İşte birkaç örnek;

Entity.IndustryCode = null;

Entity.AccountId = Guid.Empty;

Entity.AccountNumber =””;

Entity.Address1_Country = String.Empty;

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

Referanslar

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?

Yazar Hakkında

Barış Kanlıca firmalara CRM ve yazılım konusunda danışmanlık yapmaktadır ve yazılım eğitimleri vermektedir. Dynamics CRM alanında yaptığı çalışmalarından dolayı Microsoft kendisine bu alanda sadece 55 kişide olan MVP(Most Valuable Professional) unvanını ve ödülünü vermiştir. Barış Kanlıca birçok üniversite ve seminerde konuşmacı olmaktadır. Kendisi INETA topluluğunun bir konuşmacısıdır. Ayrıca www.yazgelistir.com, www.yazilimgunlugu.com ve www.nedirtv.com sitelerinde bölüm editörüdür.Uzunca bir süredir Londra'da yaşayan Barış Kanlıca ve kurucusu olduğu Mawens Business Solution'da danışmanlık hizmeti vermeye devam etmektedir.

Yorum Yap