Ana içeriğe geç

Süreç Verilerini Vaka Profiliyle Eşitleme

Amaç

Geçerli vaka profilindeki düzenlenebilir verileri ilişkili bir sürece yükleyin ve onaylanan değişiklikleri aynı profile geri yazın.

Neler Öğreneceksiniz

  • iş öncesi komut dizisinde geçerli vaka profilini okuma
  • iş sonrası komut dizisinde yalnızca hedeflenen profil alt ağacını güncelleme
  • profil değişikliğinden sonra vaka çalışma zamanına bildirim gönderme

Zorluk ve Tahmini Süre

  • Zorluk: Orta
  • Tahmini süre: 20 dakika

Varsayılan Bilgiler

Kanalları, vakaları, ilişkili süreçleri, iş öncesini, iş sonrasını ve XML düğümlerini anlamanız gerekir.

Gerekli Okumalar

Ön Koşullar

  • vakaların etkinleştirildiği bir test kanalı
  • bu tanımın ilişkili süreç olarak eklenmiş olması
  • şunları içeren bir vaka profili TutorialProfile/Record

Örneğe Genel Bakış

Bir vaka işleyicisi görevi TutorialProfile/Record öğesini Recordyükler ve yetkili bir kullanıcının düzenlemesine izin verir Name ve Statusardından yalnızca o profil alt ağacını değiştirip değişikliği bildirir.

Adımlar

Profili İş Öncesinde Yükleme

1
2
var profile = $Case.Profile.SelectSingle('TutorialProfile/Record');
$Xml.SelectSingle('Record').InnerXml(profile.InnerXml());

Onaylanan Alanları İş Sonrasında Kaydetme

1
2
3
$Case.Profile.SelectSingle('TutorialProfile/Record')
    .OuterXml($Xml.SelectSingle('Record').OuterXml());
$Case.ProfileChanged();

Profilin tamamını değiştirmek yerine dar kapsamlı bir alt ağaç kullanın. Böylece diğer ilişkili süreçlerin sahibi olduğu veriler korunur.

Vakayı Yalnızca Açık Bir Aksiyonla Kapatma

Şunu ekleyin: Close Case zorunlu yorum içeren bir aksiyon; ardından geçerli vakayı yalnızca bu aksiyon seçildiğinde kapatın:

1
2
3
if ($WorkItem.SelectedAction == 'Close Case') {
    $Case.IsClosed = true;
}

Kapatma işlemini yalnızca bir form alanına bakarak çıkarsamayın. Açık aksiyon, denetlenebilir bir kullanıcı kararı sağlar ve geçerli bağlamda normal vaka yetkilendirmesinin çalışmasına olanak tanır.

Nasıl Çalışır

İlişkili süreç bir vaka bağlamında çalışır; bu nedenle $Case geçerli vakayı ifade eder. İş öncesi düzenlenebilir bir süreç kopyası oluşturur; iş sonrası ise seçilen alt ağacı açıkça profile kaydeder.

Sonucu Doğrulama

  1. Gerekli profil düğümlerini içeren bir test vakası oluşturun.
  2. İlişkili süreci başlatın ve formun mevcut değerleri yüklediğini doğrulayın.
  3. Şunu değiştirin: Status; gönderin ve vaka profilinin güncellendiğini doğrulayın.
  4. İlişkisiz profil düğümlerinin değişmeden kaldığını doğrulayın.
  5. Şunu seçin: Close Case; bir yorum girin ve vakanın yalnızca iş sonrası komut dizisi başarıyla çalıştıktan sonra kapatıldığını doğrulayın.

Hata ve Sınır Durumları

  • Beklenen profil alt ağacı olmadan başlatın ve sürecin denetimli bir yapılandırma hatası bildirdiğini doğrulayın.
  • Görevi yetkisiz bir kullanıcı olarak deneyin ve vaka izinlerinin uygulandığını doğrulayın.
  • Aynı profilde iki düzenleme çalıştırın ve çakışan güncellemelerin nasıl ele alınacağını tanımlayın.
  • Profil kalıcılığının başarısız olmasını sağlayın ve vakanın başarıyla kapatılmış olarak bildirilmediğini doğrulayın.

Güvenlik ve Taşınabilirlik Notları

  • $Case yalnızca vaka bağlamında geçerlidir; yoksa sessizce ilişkisiz veriler oluşturmayın.
  • Görev rolünü ve form alanlarını, kullanıcının görüntüleyip değiştirebileceği verilerle sınırlayın.
  • Yalnızca sahip olduğunuz alt ağacı kopyalayın ve kişisel profil verilerini günlüklere kaydetmekten kaçının.

İndirin ve Kendiniz Deneyin

Vaka profili eşitleme tanımını indirin.

Sorun Giderme

  • Profil boş: İlişkili sürecin bir vakadan çalıştığını ve profil yolunun var olduğunu doğrulayın.
  • Değişiklikler görünmüyor: Alt ağacı güncelledikten sonra iş sonrası komut dizisinin $Case.ProfileChanged() çağrıldığını doğrulayın.

Sırada Ne Öğrenmeli?