Nedir?Salesforce

Salesforce Record Type Nedir?

Salesforce Record Type aynı nesne altında farklı iş süreçlerini yönetmenizi sağlayan güçlü bir yapılandırma aracıdır. Doğru şekilde kullanıldığında veri kalitesini artırır, kullanıcı deneyimini iyileştirir ve süreç verimliliğini yükseltir. Ancak yanlış uygulandığında gereksiz karmaşıklığa ve düşük sistem benimsemesine yol açabilir. Bu rehberde, Salesforce Record Type’ın ne zaman kullanılacağını, nasıl oluşturulacağını, yaygın hataları ve Dynamic Forms gibi modern alternatifleri detaylı şekilde inceleyeceğiz.

Salesforce Record Type Nedir?

Salesforce Record Type, aynı nesne altında farklı iş süreçlerini yönetmeyi sağlayan bir konfigürasyon aracıdır. Bir nesne içindeki kayıtları mantıksal gruplara ayırarak, her grup için özelleştirilmiş sayfa düzenleri, picklist değerleri ve zorunlu alan tanımlamaları sunma imkanı verir. Standard ve custom nesnelerin tümünde kullanılabilen bu özellik, organizasyonların veri yapısını iş süreçlerine göre şekillendirmesine olanak tanır.

Temel olarak Record Type, aynı kavramsal çerçeve içinde yer alan ancak farklı yürütme gerektiren kayıtları yönetmek için tasarlanmıştır. Örneğin Opportunity nesnesi altında “Yeni İş”, “Yenileme” ve “Çapraz Satış” gibi farklı süreçler bulunabilir. Her birinin aynı satış fırsatı konseptini temsil etmesine rağmen, gerektirdikleri bilgiler, adımlar ve validasyon kuralları birbirinden farklıdır.

Record Type’ların gücü, kullanıcılara sadece ilgili alanları gösterme ve ilgisiz bilgileri gizleme kapasitesinden gelir. Bu yaklaşım veri girişi sırasında bilişsel yükü azaltırken, veri kalitesini artırma ve manuel hataları azaltma konusunda ölçülebilir faydalar sağlar. Validation rules, formula fields ve Flow gibi otomasyon araçlarında da Record Type criteria olarak kullanılabilir, bu sayede iş mantığı daha hassas bir şekilde uygulanabilir.

Master Record Type ve Business Process İlişkisi

Her Salesforce nesnesi bir Master Record Type ile başlar. Master Record Type, hiçbir özel konfigürasyon içermeyen temel yapıdır ve tüm kullanıcılar için varsayılan olarak erişilebilir durumdadır. Yeni Record Type’lar oluşturulduğunda, Master Record Type hala mevcut kalır ve bazı senaryolarda yedek seçeneği olarak işlev görebilir.

Opportunity, Lead ve Case nesneleri için Record Type oluştururken Business Process kavramı devreye girer. Business Process, nesnenin ana durum alanını (Stage, Status) kontrol eden yapıdır. 

Her Record Type, kendine özel bir Business Process ile eşleştirilmelidir. Bu eşleştirme sayesinde, farklı satış süreçleri farklı stage değerlerine sahip olabilir. Örneğin “Yeni İş” Opportunity’leri için “Discovery → Proposal → Negotiation” aşamaları varken, “Yenileme” süreçlerinde “Renewal Review → Contract Update → Close” gibi farklı aşamalar tanımlanabilir.

Record Type Kullanım Senaryoları ve Avantajları

Record Type’ların en etkili olduğu senaryolar, aynı konseptsel kategori altında yer alan ancak operasyonel detayları farklılaşan kayıtları yönetmektir. Campaign nesnesi tipik bir örnektir. “Fuar”, “Web Semineri” ve “E-posta Kampanyası” türleri, hepsi pazarlama aktivitelerini temsil eder ancak bir fuarın lokasyon ve stand maliyeti gibi fiziksel detaylara ihtiyacı varken, e-posta kampanyası için bu alanlar gereksizdir.

Case nesnesi de Record Type kullanımının değerini gösterir. “Teknik Hata” ve “Ürün Sorusu” türleri farklı SLA’lara, destek ekiplerine ve süreçlere tabi olabilir. Teknik hata için hata yeniden oluşturma adımları önemli olsa da, ürün sorusu için sadece açıklama yeterlidir.

Özel nesnelerde de Record Type faydalıdır. “Açık Pozisyonlar” nesnesinde giriş seviyesi ve yönetici pozisyonları için gereken bilgiler radikal farklılık gösterir.

Veri Kalitesini Artırma

Record Type kullanımının veri kalitesine etkisi, doğru alanları doğru zamanda zorunlu kılma yeteneğinden gelir. Kullanıcılar ilgisiz alanları doldurmaya zorlanmadıklarında, kritik bilgilere odaklanırlar.

Picklist value kontrolü de önemlidir. Aynı picklist, farklı Record Type’larda farklı değerler sunabilir. “Öncelik” alanı, “Teknik Hata” için “Kritik-Yüksek-Orta-Düşük” seçeneklerine sahipken, “Ürün Sorusu” için sadece “Normal-Düşük” gösterebilir.

Kullanıcı Deneyimini İyileştirme

Kullanıcı deneyimi açısından Record Type’lar, bilgi yükünü azaltır. Salesforce form yapıları Record Type ile sadeleştirildiğinde benimseme oranları artar. Page layout farklılaştırması sadece alan görünürlüğüyle sınırlı değildir; related lists ve field sections da Record Type bazında özelleştirilebilir.

Salesforce Record Type Nasıl Oluşturulur?

Record Type oluşturma süreci, teknik uygulamadan önce kapsamlı planlama gerektirir. Organizasyondaki ihtiyaçları Record Type yapısına doğru aktarmak, başarılı uygulamaya yardımcı olur.

Ön Planlama ve Dokümantasyon

Planlama aşaması son kullanıcılarla derinlemesine görüşmelerle başlar. Hangi alanların hangi süreçlerde gerekli olduğunu, hangi picklist değerlerinin hangi senaryolarda kullanıldığını haritalamak gerekir.

Her planlanan Record Type için required fields, picklist values ve dependencies matrix oluşturulmalıdır. Field history tracking etkinleştirilirse, kullanıcıların hangi alanları gerçekten kullandığına dair nesnel veri sağlar.

Teknik Kurulum Adımları

Record Type oluşturma sürecinde test ortamı kullanmak zorunludur. Teknik kurulum aşamaları:

  • Custom field oluşturma: Tüm Record Type’larda kullanılacak alanları oluşturmak ilk adımdır.
  • Business Process tanımlama: Opportunity, Lead veya Case için her Record Type’a ayrı Business Process oluşturulmalıdır.
  • Page layout hazırlama: Her Record Type için özel page layout oluşturulur.
  • Record Type oluşturma: Setup → Object Manager → Record Types yolundan oluşturulur. Description alanı mutlaka doldurulmalıdır.
  • Profile ataması: Hangi profile’ların bu Record Type’ı görebileceği belirlenir.
  • Picklist value ataması: Her Record Type için hangi picklist değerlerinin görüneceği tanımlanır.
  • Test ve tekrar: Test ortamında her Record Type’ın beklenen davranışı doğrulanır.

Dağıtım için Change Set veya metadata deployment araçları kullanılır. Record Type’lar dağıtılırken, ilişkili page layout’lar ve Business Process’ler de aynı Change Set içinde olmalıdır.

Record Type Türleri ve Farklılıkları

Salesforce Record Type’ları nesne tipine göre farklı özellikler sunar. Aşağıdaki tablo, yaygın kullanılan nesnelerde dikkat edilmesi gereken kritik noktaları özetlemektedir:

Nesne Türü Business Process Tipik Kullanım Önemli Notlar
Opportunity Gerekli Yeni İş, Yenileme Stage ve Forecast Category farklılaşması önemli
Lead Gerekli Gelen, İş Ortağı Status değerleri ve dönüşüm haritalama kritik
Case Gerekli Teknik Destek, Satış Priority/SLA tanımları, Atama kuralları
Campaign Gerekmez Etkinlik, Dijital Üye durum değerleri, Bütçe takibi
Account Gerekmez Nadiren gerekli Type picklist ile yönetilebilir
Contact Gerekmez Genellikle gereksiz Contact role tercih edilmeli

Account ve Contact nesnelerinde Record Type kullanımı konusunda dikkatli olunmalıdır. “Müşteri Account” ile “Partner Account” için required field’lar genellikle aynıdır. İlişki türü bilgisi, Record Type yerine Type picklist field’ında saklanabilir.

Record Type Kullanırken Yapılan Yaygın Hatalar

Record Type uygulama sürecindeki hatalar, genellikle özelliğin ne zaman ve nasıl kullanılacağına dair yanlış anlamalardan kaynaklanır. Bu hatalar veri kalitesini düşürebilir, kullanıcı benimsemesini engelleyebilir ve sistem performansını olumsuz etkileyebilir.

Gereksiz Record Type Oluşturma

En yaygın hata, asgari farklar için çoklu Record Type oluşturmaktır. Opportunity nesnesinde beş farklı Record Type olmasına rağmen hepsinin aynı page layout’u, aynı picklist value’ları ve aynı required field’ları kullandığını gözlemlemek şaşırtıcı derecede yaygındır. Bu durumda Record Type’ların varlığı, kullanıcıya ekstra bir seçim adımı eklemekten başka bir işe yaramaz.

Record Type’ların kritik bir sınırlaması da görünürlük kontrolü yapamamasıdır. Bir profile’a Record Type atanması, sadece o kullanıcının yeni kayıt oluştururken o Record Type’ı seçebilmesini sağlar. Ancak kullanıcı, kendisine atanmamış Record Type’lardaki kayıtları da görüntüleyebilir ve düzenleyebilir. Veri güvenliği için Record Type’a değil, Organization-Wide Defaults ve sharing rules’a güvenilmelidir.

List view’larda satır içi düzenleme kullanımı da Record Type varlığında kısıtlanır. Çoklu Record Type içeren bir nesnede, satır içi düzenleme yapabilmek için list view’ın tek bir Record Type’a filtrelenmesi zorunludur. Bu, kullanıcıların hızlı veri güncellemesi yapma yeteneklerini sınırlar ve ek adımlar gerektirir.

“Her durum için bir Record Type” mentalitesi tuzağından kaçınmak gerekir. Eğer iki süreç arasındaki fark sadece bir-iki picklist value ise veya farklılık page layout yerine otomasyon ile yönetilebiliyorsa, Record Type kullanmamak daha temiz bir çözüm olabilir. Örneğin, Opportunity tutarı belli bir eşik değerin üstünde ise ekstra onay gerekiyorsa, bunu yeni bir Record Type ile değil approval process ile yönetmek daha sürdürülebilir bir yapı sağlar.

Profile ve Permission Yönetimi Hataları

Record Type ve Profile ilişkisi sıklıkla yanlış anlaşılan bir alandır. Bir profile’a Record Type atamak, o profile’daki kullanıcılara kayıt oluşturma sırasında o Record Type’ı seçme yeteneği verir. Ancak bu görünürlük ile eş anlamlı değildir.

Varsayılan Record Type ayarı da kafa karışıklığı yaratabilir. Profile’da bir Record Type varsayılan olarak işaretlendiğinde, kullanıcı kayıt oluştururken o değer önceden seçilmiş gelir ancak diğer erişilebilir Record Type’ları da seçebilir. Kullanıcının sadece belirli bir Record Type kullanmasını uygulatmak için, profile’da sadece o Record Type’ı etkin bırakmak gerekir.

Record Type ve Otomasyon Araçları Entegrasyonu

Record Type, Salesforce’un otomasyon ekosisteminde güçlü bir kriter olarak kullanılabilir. Flow’da kullanıcının seçtiği Record Type’a göre farklı ekranlar göstermek veya karar öğelerinde Record Type kontrolü yaparak flow yollarını dinamik yönlendirmek mümkündür.

Validation rules’da Record Type kriteri kullanmak, kuralları belirli bağlamlara sınırlar. Örneğin “Tutar alanı $10,000’dan büyükse İndirim Nedeni zorunludur” kuralı sadece “Kurumsal Anlaşma” Record Type’ı için uygulanabilir olabilir.

Apex trigger’larda sabit kodlanmış Record Type ID’leri yerine geliştirici adı kullanmak en iyi uygulamadır. 

Schema.SObjectType.Opportunity.getRecordTypeInfosByDeveloperName().get(‘New_Business’).getRecordTypeId() yaklaşımı, organizasyonlar arası taşınabilirlik sağlar.

Record Type’ın Modern Alternatifi: Dynamic Forms

Winter ’21 sürümü ile sunulan Dynamic Forms, Record Type ihtiyacını azaltan bir özelliktir. Lightning App Builder’da, aynı Lightning Record Page üzerinde farklı alanları görünürlük kuralları ile kontrol etme imkanı sunar.

Dynamic Forms’un temel avantajı, page layout ve Record Type olmadan alan görünürlüğü kontrolü yapabilmesidir. Örneğin tek bir Opportunity sayfasında, Record Type bazlı farklı alanlar gösterilebilir. Bu, geleneksel yaklaşımda iki ayrı Record Type gerektiren senaryoyu, tek bir Lightning Page ile çözer.

Ancak bazı sınırlamaları vardır. Şu anda sadece Account, Contact, Person Account, Opportunity, Lead ve Case’te kullanılabilir. Campaign ve çoğu özel nesnede desteklenmez. Ayrıca, Dynamic Forms picklist value’ları Record Type bazında farklılaştıramaz. Farklı picklist değerleri gerekiyorsa, Record Type hala gereklidir.

Record Type ve Dynamic Forms birlikte kullanılabilir. Record Type’lar picklist kontrolü, Dynamic Forms alan görünürlüğü için kullanılabilir.

Mevcut Record Type’ları Optimize Etme

Zamanla organizasyonel ihtiyaçlar değişir ve başlangıçta mantıklı görünen Record Type kurulumları kullanılmaz hale gelebilir. Periyodik Record Type denetimi, sistem sağlığı bakımının önemli bir parçasıdır.

Optimize etme süreci şu adımları içerir:

  • Kullanım analizi: Record Type bazında kayıt sayılarını gösteren raporlar, hangi Record Type’ların aktif kullanıldığını ortaya koyar.
  • Kullanıcı görüşmeleri: Son kullanıcılara her Record Type’ın amacını sormak, algılanan değer ile gerçek değer arasındaki farkı gösterir.
  • Picklist karşılaştırma: Her Record Type’ın picklist yapılandırması karşılaştırılarak, özdeş olan kurulumlar tespit edilir.
  • Otomasyon bağımlılık kontrolü: Silmeden önce Flow, Apex ve validation rule’larda o Record Type’a referans olup olmadığı kontrol edilmelidir.
  • Veri taşıma: Silinecek Record Type altındaki mevcut kayıtlar, doğru Record Type’a taşınmalıdır.

Temizleme süreci Sandbox ortamında test edildikten sonra canlı ortama dağıtılmalıdır. Field History Tracking ve Data Loader “Tümünü Dışa Aktar” yedek oluşturmak için kritiktir.

Salesforce Record Type Hakkında Sıkça Sorulan Sorular

Record Type değiştirmek mevcut kayıtları etkiler mi?

Evet, bir kaydın Record Type’ı değiştirildiğinde, yeni Record Type’ın page layout’u ve picklist value’ları uygulanır. Mevcut picklist değerleri yeni Record Type’da mevcut değilse, o alanlar boş kalır. Bu nedenle toplu güncellemelerde veri kaybı riski vardır.

Record Type olmadan çalışan bir nesneye Record Type eklemek riski var mı?

Mevcut kayıtlar otomatik olarak Master Record Type’a atanır. Picklist değerleri özelleştirilmişse, mevcut kayıtlardaki değerlerin yeni Record Type’larda da mevcut olduğu kontrol edilmelidir. Validation rule’lar ve otomasyonlar kesintilere yol açabilir.

Lightning Experience’ta Record Type seçimi farklı çalışır mı?

Çoklu Record Type varsa, kullanıcı “New” butonuna bastığında açılır pencere açılır ve Record Type seçimi ister. Description alanı burada görüntülenir. Lightning’da varsayılan Record Type, kullanıcının profile ayarına göre önceden seçilmiş gelir.

Record Type raporlamada nasıl kullanılır?

Record Type, standart bir alan olarak raporlarda filtre, gruplama ve sütun kriteri olarak kullanılabilir. Gösterge panellerinde Record Type bazlı segmentasyon yapmak, farklı süreçlerin performansını ayrı ayrı izlemeyi sağlar. Çapraz filtrelerde de Record Type kullanılabilir, örneğin “X Record Type’ında en az bir Opportunity’si olan Account’lar” gibi. Birleştirilmiş raporlarda farklı Record Type’lar farklı bloklarda gösterilebilir ve karşılaştırmalı analiz yapılabilir. Record Type alanını segment alanı olarak kullanmak da mümkündür.

Bir önceki yazımıza da göz atın: “Salesforce Solution Architect Nedir? Nasıl Olunur?

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu