Nedir?Salesforce

Salesforce Validation Rules Nedir? Nasıl Kullanılır?

Salesforce ortamınızda veri kalitesini korumak, doğru iş kararları almanın ve müşterilerinize değer sunmanın temelidir. Salesforce Validation Rules, kullanıcıların sisteme girdiği bilgilerin belirlediğiniz standartlara uygun olmasını sağlayan güçlü bir araçtır. Kayıt işlemi öncesinde otomatik kontroller yaparak hatalı verilerin sisteme girmesini engelleyen bu özellik, iş süreçlerinizin sağlıklı işlemesi için kritik öneme sahiptir. Veri doğrulama kurallarını etkili şekilde kullandığınızda raporlarınızın güvenilirliği artar, iş akışlarınız kesintisiz çalışır ve ekibiniz doğru verilerle çalışarak daha verimli hale gelir.

Salesforce Validation Rules Nedir?

Kullanıcıların girdiği verilerin kayıt işlemi öncesinde belirli kriterlere uyup uymadığını kontrol eden otomatik kurallar olarak tanımlanabilir. Bu kurallar, evet/hayır mantığıyla çalışan formül ifadeleri şeklinde yapılandırılır ve kaydetme işlemi sırasında otomatik olarak devreye girer.

Temel çalışma prensibi oldukça basittir: Kural “True” (Doğru) değerini döndürdüğünde kullanıcının girdiği verinin geçersiz olduğu anlamına gelir. Böyle bir durumda sistem kullanıcıya bir hata mesajı gösterir ve kaydın düzeltilmeden kaydedilmesini engeller.

Formül veya mantıksal ifadeler içeren bu kurallar, bir ya da birden fazla alanı değerlendirerek sonuç üretir. Örneğin bir e-posta adresinin doğru formatta olup olmadığını kontrol edebilir ya da bir tarih alanının geçmişte bir tarihe ayarlanmasını engelleyebilirsiniz.

Validation Rules Ne Zaman Kullanılır?

Veri doğrulama kurallarının kritik önem taşıdığı çeşitli senaryolar bulunur:

  • Veri Formatı ve Standartları: Telefon numaraları, posta kodları, e-posta adresleri gibi alanların belirli bir formatta girilmesini sağlar. Özellikle uluslararası operasyonlarda ülkeye özgü format kontrolü yapmanız gerekebilir.
  • Zorunlu Alan Yönetimi: Kritik bilgilerin mutlaka doldurulmasını garanti eder. Ancak standart “Required” özelliğinden farklı olarak koşullu zorunluluk tanımlayabilirsiniz. Örneğin bir fırsat “Closed Lost” durumuna geçiyorsa kaybedilme sebebinin belirtilmesini zorunlu kılabilirsiniz.
  • İş Süreçleri ve Yaşam Döngüsü: Kayıtlar Salesforce’ta bir yaşam döngüsünden geçer ve her aşamada belirli alanlar zorunlu hale gelebilir veya yalnızca belirli değerler kullanılmalıdır. Validation Rules bu süreç kontrolünü otomatikleştirir.
  • Uyumluluk ve Regülasyon Gereksinimleri: Sağlık ve finans gibi düzenlenmiş sektörlerde faaliyet gösteren organizasyonlar için validation rules, sektör standartlarına uygunluğu sağlamada önemli rol oynar.
  • Veri Tutarlılığı: Birbiriyle ilişkili alanlar arasında mantıksal tutarlılık sağlar. Örneğin başlangıç tarihinin bitiş tarihinden sonra olmamasını garanti eder.

Salesforce Validation Rules Oluşturma Adımları

Validation rule oluşturma süreci belirli bir yapıya sahiptir. Aşağıda adım adım nasıl oluşturacağınızı görebilirsiniz:

1. Object Manager’a Erişim

Setup menüsünden Object Manager’a gidin ve kural oluşturmak istediğiniz nesneyi (Account, Contact, Opportunity vb.) seçin. Sol taraftaki menüden “Validation Rules” seçeneğine tıklayın.

2. Yeni Kural Oluşturma

“New” butonuna tıklayarak yeni bir validation rule oluşturmaya başlayın. Karşınıza çıkan formda doldurmanız gereken alanlar şunlardır:

  • Rule Name: Kuralınıza anlamlı bir isim verin. İsimlendirmede tutarlı bir yapı kullanmak önemlidir.
  • Description: Kuralın amacını ve ne zaman tetikleneceğini açıklayan detaylı bir açıklama yazın. Bu alan özellikle ekip değişikliklerinde ve bakım süreçlerinde kritik önem taşır.
  • Error Condition Formula: Kuralın mantığını tanımladığınız formül alanıdır. Formül kutusunun üzerindeki butonlar arasında “Insert Field” butonu alan listesini açar ve hataların büyük bir kısmının alan isimlerinin yanlış yazılmasından kaynaklandığı düşünüldüğünde bu butonu kullanmak önemlidir.
  • Error Message: Kural ihlal edildiğinde kullanıcıya gösterilecek mesajdır. Mesajınız açık, anlaşılır ve kullanıcıya sorunu nasıl çözeceği konusunda yol gösterici olmalıdır. Örneğin “Hesap numarası 8 karakter uzunluğunda olmalıdır” gibi.
  • Error Location: Hata mesajının nerede görüneceğini belirler. Kural tek bir alanla ilgiliyse mesajı o alanın üzerinde göstermek kullanıcı deneyimi açısından daha iyidir. Birden fazla alan içeren kurallarda ise sayfa üstünde gösterimi tercih edebilirsiniz.

3. Formül Doğrulama

“Check Syntax” butonu formülün doğru yazılıp yazılmadığını kontrol eder ve Salesforce size hatanın ne olduğunu bile söyler. Yaygın hatalar arasında eksik parantez, yanlış yazılmış alan isimleri veya uygun olmayan fonksiyon kullanımı yer alır.

4. Aktivasyon ve Test

Kuralınızı oluşturduktan sonra “Active” kutucuğunu işaretleyerek aktif hale getirin. Ancak production ortamında aktif etmeden önce mutlaka sandbox veya test ortamında kapsamlı testler yapın.

Salesforce Validation Rules Örnekleri

Gerçek hayatta sıkça kullanılan validation rules örneklerini inceleyelim:

Örnek 1: Hesap Numarası Uzunluk Kontrolü

AND(

  NOT(ISBLANK(AccountNumber)),

  LEN(AccountNumber) != 8

)

Bu kural hesap numarası doldurulduğunda tam olarak 8 karakter olmasını garanti eder. ISBLANK fonksiyonu alanın boş olup olmadığını, LEN fonksiyonu ise karakter sayısını kontrol eder.

Örnek 2: E-posta veya Telefon Zorunluluğu

AND(

  ISBLANK(Email),

  ISBLANK(Phone)

)

İletişim kaydında en az bir iletişim bilgisinin bulunmasını sağlar. Her iki alan da boşsa kural tetiklenir ve kullanıcıdan en az birini doldurması istenir.

Örnek 3: Fırsat Kapanış Tarihinin Geçmişte Olmaması

AND(

  CloseDate < TODAY(),

  NOT(ISNEW())

)

Satış temsilcilerinin kapanış tarihini geçmişe ayarlamasını engeller. ISNEW() fonksiyonu yeni kayıtlarda bu kontrolün atlanmasını sağlar.

Örnek 4: Kapalı Kayıtlarda Durum Değişikliği Engelleme

AND(

  ISCHANGED(Status),

  NOT(ISPICKVAL(PRIORVALUE(Status), “New”)),

  ISPICKVAL(Status, “New”)

)

Açık durumdaki case kayıtlarının tekrar “New” durumuna döndürülmesini engeller. PRIORVALUE fonksiyonu önceki değeri kontrol ederken ISPICKVAL picklist değerlerini karşılaştırır.

Örnek 5: Web Sitesi Uzantı Kontrolü

AND(

  LEN(Website) > 0,

  NOT(

    OR(

      RIGHT(Website, 4) = “.com”,

      RIGHT(Website, 4) = “.net”,

      RIGHT(Website, 4) = “.org”,

      RIGHT(Website, 3) = “.tr”

    )

  )

)

Web sitesi URL’inin geçerli uzantılardan biriyle bitmesini sağlar. RIGHT fonksiyonu string’in son karakterlerini kontrol eder.

Örnek 6: Tarih Aralığı Kontrolü

AND(

  NOT(ISBLANK(End_Date__c)),

  NOT(ISBLANK(Start_Date__c)),

  End_Date__c < Start_Date__c

)

Bitiş tarihinin başlangıç tarihinden önce olmamasını garanti eder. Bu tür mantıksal tutarlılık kontrolleri veri bütünlüğü için kritiktir.

Validation Rules Kullanımında İpuçları ve En İyi Uygulamalar

Aşağıda validation rules kullanırken dikkat etmeniz gereken önemli noktaları bulabilirsiniz:

Basitlik ve Anlaşılırlık

Mümkün olduğunca basit ve anlaşılır kurallar oluşturun. Karmaşık kurallar bakım süreçlerini zorlaştırır ve hata ayıklamayı güçleştirir. Çok kompleks bir mantık gerekiyorsa birden fazla kural kullanmayı düşünün.

Kapsamlı Test Senaryoları

Pozitif ve negatif test senaryoları oluşturun, farklı kullanıcı profilleriyle test edin ve bulk veri yüklemelerinde kuralların nasıl davrandığını değerlendirin. Test verileriniz gerçek dünya senaryolarını yansıtmalıdır.

Hata Mesajı Kalitesi

Kullanıcı dostu ve yönlendirici hata mesajları yazın. Sadece “Hatalı veri” demek yerine “E-posta adresi geçerli bir format içermelidir” gibi açıklayıcı mesajlar kullanın.

Dokümantasyon

Tüm validation rules’larınızı dokümante edin. Description alanını eksiksiz doldurun ve organizasyonunuzda ayrı bir dokümantasyon sistemi kullanıyorsanız orada da kayıt tutun. Bu özellikle ekip değişikliklerinde hayati önem taşır.

Performans Düşünceleri

Çok fazla sayıda validation rule performansı etkileyebilir. Gereksiz kurallardan kaçının ve mümkünse birden fazla kontrolü tek bir kurala birleştirin. Ancak bu birleştirme işlemi anlaşılabilirliği azaltmamalıdır.

Sıralama ve Yürütme Düzeni

Validation rules tetikleyiciler ve flow’lar çalıştıktan sonra yürütülür. Bu nedenle otomasyon araçlarınızın validation rules ile çakışmadığından emin olun. Otomasyonunuz validation rules’ı ihlal eden bir değer set ediyorsa kullanıcılar kayıt edemez hale gelir.

Düzenli Gözden Geçirme

İş süreçleri değiştikçe validation rules’larınızı da gözden geçirin. Artık kullanılmayan kuralları devre dışı bırakın ve yeni gereksinimlere göre güncellemeler yapın.

Kullanıcı Eğitimi

Yeni validation rules eklerken kullanıcılarınızı bilgilendirin. Değişiklikleri dokümante edin ve gerekirse eğitim oturumları düzenleyin. Kullanıcılar kuralların amacını anladığında daha az direnç gösterirler.

Profile ve Record Type Bazlı Kontroller

Gerektiğinde profil veya Record Type bazlı koşullu kurallar oluşturun. Her kullanıcı grubunun aynı kısıtlamalara tabi olması gerekmeyebilir.

Validation Rules İle İlgili Yaygın Hatalar ve Çözümleri

  • Çok Kısıtlayıcı Kurallar: Aşırı katı kurallar kullanıcı deneyimini olumsuz etkiler. İş süreçlerinizi analiz ederek gerçekten gerekli kısıtlamaları belirleyin.
  • Yetersiz Test: Production ortamında beklenmedik sorunlarla karşılaşmamak için sandbox ortamında çeşitli senaryoları test edin. Özellikle data migration ve bulk update işlemlerini simüle edin.
  • Belirsiz Hata Mesajları: Teknik jargon kullanmaktan kaçının ve kullanıcıların anlayabileceği bir dil kullanın. Çözüm önerisi de sunmaya çalışın.
  • Bakım Eksikliği: Eski ve kullanılmayan kurallar sistem karmaşıklığını artırır. Düzenli temizlik yapın ve aktif olmayan kuralları kaldırın.

Validation Rules ile İleri Seviye Fonksiyonlar

REGEX Kullanımı

Düzenli ifadeler (Regular Expressions) karmaşık format kontrollerinde son derece güçlüdür. Örneğin Türk telefon numarası formatını kontrol etmek için:

AND(

  NOT(ISBLANK(Phone)),

  NOT(REGEX(Phone, “^(05)[0-9]{9}$”))

)

PRIORVALUE ile Değişim Takibi

Alan değerlerinin nasıl değiştiğini takip etmek için PRIORVALUE fonksiyonu kullanılır. Bu özellikle durum geçişlerini kontrol etmekte işe yarar.

ISCHANGED ile Güncelleme Kontrolü

Bir alanın değişip değişmediğini kontrol ederek yalnızca güncelleme sırasında devreye giren kurallar oluşturabilirsiniz.

Çoklu Koşul Kombinasyonları

AND, OR, NOT gibi mantıksal operatörleri kombine ederek sofistike kurallar oluşturabilirsiniz. Ancak formül karmaşıklaştıkça okunabilirliğe dikkat edin.

Performans ve Limitler

Salesforce Edition’ınıza göre farklı validation rule limitleri vardır. Essentials ve Professional sürümlerinde 20, Enterprise ve Developer sürümlerinde 100, Unlimited ve Performance sürümlerinde ise 500 validation rule kullanabilirsiniz.

Her validation rule her save işleminde değerlendirilir, bu nedenle çok sayıda kural performansı etkileyebilir. Gereksiz kurallardan kaçının ve mümkünse birden fazla kontrolü tek kuralda birleştirin.

Validation Rules Kısıtlamaları

Validation rules güçlü bir araç olmasına rağmen bazı kısıtlamaları vardır:

  • Çapraz Kayıt Kontrolleri: Validation rules bir kaydın kendi alanlarını kontrol edebilir ancak başka kayıtlarla ilişkili doğrulamalar yapamaz. Bu tür durumlar için Apex trigger kullanmanız gerekebilir.
  • Mass Transfer İşlemleri: Toplu kayıt sahiplik değişikliklerinde validation rules tetiklenmeyebilir. Kayıtlar tek tek değiştirildiğinde kurallar düzgün çalışır.
  • Lead Conversion: Lead dönüşüm sürecinde bazı validation rules atlanabilir. Örneğin lead’in kendisi dönüşse bile görevler için validation rules çalışmayabilir.
  • Quick Create: Quick Create özelliği ile kayıt oluştururken validation rules uygulanmaz.
  • Campaign Hierarchies: Kampanya hiyerarşilerinde veya belirli özel süreçlerde validation rules beklendiği gibi çalışmayabilir.

Salesforce Validation Rules Hakkında Sık Sorulan Sorular

Validation Rules ve Formula Field Arasındaki Fark Nedir?

Formula Field, diğer alanları kullanarak otomatik olarak hesaplanmış bir değer gösterir ve veritabanında fiziksel olarak saklanmaz. Validation Rule ise kullanıcının girdiği veriyi belirli kriterlere göre kontrol eder ve uygun değilse kaydın kaydedilmesini engeller. Formula field veri üretirken validation rule veri kalitesini korur.

Validation Rules Entegrasyonları Nasıl Etkiler?

Entegrasyonlar üzerinden gelen verilerde validation rules sorun yaratabilir. Örneğin marketing otomasyonu entegrasyonundan gelen lead kayıtlarında telefon numarası zorunlu bir kural varsa ve entegrasyon bu alanı doldurmuyorsa kayıtlar başarısız olur. Bu durumda ya entegrasyonu güncellemeli ya da kullanıcı profillerine göre koşullu kurallar oluşturmalısınız. Integration user’ı kuraldan muaf tutmak için formülde $Profile.Name != “Integration User” gibi bir koşul ekleyebilirsiniz.

Mevcut Kayıtlarda Validation Rules Nasıl Test Edilir?

Yeni bir validation rule eklemeden önce mevcut kayıtları etkileyip etkilemeyeceğini kontrol etmelisiniz. Sandbox ortamında kuralı aktif ettikten sonra Data Loader ile mevcut kayıtları güncelleyerek test edebilirsiniz. Eğer birçok kayıt kurala uymuyorsa önce verileri düzeltmeli sonra kuralı aktif etmelisiniz. Alternatif olarak kuralınıza ISNEW() fonksiyonu ekleyerek sadece yeni kayıtlarda çalışmasını sağlayabilir ve mevcut kayıtları kademeli olarak güncelleyebilirsiniz.

Validation Rules CPU Limit’i Etkiler Mi?

Validation rules, workflow rules ve assignment rules CPU limitini doğrudan etkilemez. CPU limitini etkileyen asıl faktörler Apex trigger’ları ve flow’lardır. Ancak çok sayıda validation rule olması genel işlem süresini uzatabilir çünkü her save işleminde tüm aktif kurallar değerlendirilir. Performans sorunları yaşıyorsanız öncelikle trigger ve flow optimizasyonlarına odaklanmalısınız.

Bir önceki yazıya göz atın: “Salesforce İş Analisti 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