Ana içeriğe geç

Tekrarlanan Form Satırlarını İlişkisel Tabloda Kalıcılaştırma

Senaryo

Bir sürecin, form satırlarını ilişkisel veritabanına kaydedip daha sonra forma geri yükleyerek basit bir adres defteri tutması gerektiğinde bu örneği kullanın.

Neler Öğreneceksiniz

  • tekrarlanan form satırlarını kararlı bir tanımlayıcıyla modellemeyi
  • bu satırları şununla kalıcılaştırmayı ImportFromXml
  • kaydedilen satırları şununla forma geri yüklemeyi ExportToXml

Zorluk ve Tahmini Süre

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

Varsayılan Bilgiler

Tablo içerikli formlara, XML yollarına, iş öncesi ve iş sonrası komut dizilerine ve ilişkisel şemalara aşina olmanız gerekir.

Gerekli Okumalar

Ön Koşullar

  • süreç ve ilişkisel şema oluşturma izni
  • iş öncesi ve iş sonrası komut dizilerine erişim
  • tekrarlanan kişi satırlarını barındırabilen bir süreç formu

Adımlar

Dizini, Süreci ve Görevi Oluşturma

  1. örneğin bir uygulama dizini oluşturun Address Book.
  2. Bir süreç oluşturun ve düzenleme modunda açın.
  3. Başlangıç görevini şu şekilde yeniden adlandırın Definition.
  4. Şunları ekleyin: Update ve Cancel aksiyonlarını.

Adres defteri iş akışı için kullanılan tek görevli süreç.

Formu Oluşturma

  1. Form tasarımcısını açın.
  2. Örneğin sekmeli içerik denetimi ekleyin Contacts.
  3. Bu sekmenin içine tablo içerik denetimi ekleyin.
  4. Kişi satırları için ad ve telefon numarası gibi gerekli sütunları oluşturun.
  5. Telefon alanı türünü Telefon olarak ayarlayın..

Kişi satırları için sekmeli içerik ve tablo içeriği bulunan form tasarımcısı.

Veri Modelini Genişletme

Tekrarlanan kişi yapısının altına bir Id alanı ekleyerek her kişi satırının benzersiz biçimde tanımlanmasını sağlayın.

Kişi tanımlayıcı alanı eklemek için kullanılan veri modeli düzenleyicisi.

İlişkisel Veritabanını Tanımlama

  1. Sürecin veritabanı alanını açın.
  2. Örneğin bir şema oluşturun AddressBook.
  3. Örneğin bir tablo ekleyin Contacts.
  4. Kişi kimliği için benzersiz bir tanımlayıcı sütunu da içerecek şekilde gerekli alanları tanımlayın.

Kişiler tablosu ve türlenmiş alanları içeren ilişkisel şema düzenleyicisi.

Form Verilerini İş Sonrasında Kaydetme

Görevin iş sonrası komut dizisinde, gönderilen satırları ilişkisel veritabanına şunu kullanarak yazın: ImportFromXml:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
if ($WorkItem.SelectedAction == 'Update') {
    $Database.ImportFromXml({
        Parameters: {
            TargetSchema: "AddressBook",
            TargetTable: "Contacts"
        },
        XPath: "AddressBook/PersonalInformations/Personal",
        Map: function (xml) {
            this.Phone = xml.Evaluate("PhoneNumber")
        }
    });
}

Bu işlem, XML form verilerindeki satırları Contacts tablosunda kalıcılaştırır.

Kişi satırlarını veritabanına aktarmak için kullanılan görev iş sonrası komut dizisi.

Mevcut Kişileri İş Öncesinde Yükleme

Görevin iş öncesi komut dizisinde, kaydedilen satırları şunu kullanarak forma geri yükleyin: ExportToXml:

1
2
3
4
5
6
7
8
$Database.ExportToXml({
    TargetSchema : 'AddressBook',
    TargetTable : 'Contacts',
    XPath : 'AddressBook/PersonalInformations/Personal',
    Map : function (row) {
        row.SetValue("PhoneNumber", this.Phone)
    }
});

Bu sayede form yeniden açıldığında daha önce kaydedilen kişiler görünür.

Kaydedilen kişileri XML modeline geri aktarmak için kullanılan görev iş öncesi komut dizisi.

Adres Defterini Test Etme

  1. Süreç değişikliklerini kaydedin.
  2. Formu başlatın.
  3. Bir kişi satırı ekleyin.
  4. Kaydetmek için Update seçeneğini belirleyin.
  5. Formu yeniden açın ve kaydedilen kişinin tabloya geri yüklendiğini doğrulayın.

Tablo içerik denetimi aracılığıyla yeni bir satır eklenen adres defteri formu.

Sonuç

Süreç artık basit bir adres defteri gibi çalışıyor: tekrarlanan form satırlarını ilişkisel bir tabloya kaydediyor ve form yeniden açıldığında satırları geri yüklüyor.

Sonucu Doğrulama

İki satır kaydedin, görevi yeniden açın ve her iki satırın da değerlerini ve kararlı kimliklerini koruduğunu doğrulayın. Bir satırı düzenleyin ve yeniden eklenmek yerine güncellendiğini kontrol edin. Yinelenen yazma işlemlerini denetlemek için aksiyonu bir kez daha tekrarlayın.

Güvenlik ve Taşınabilirlik Notları

  • Geçerli kiracı ve süreç bağlamı için ilişkisel okuma ve yazma işlemlerine yetki verin.
  • Güncellemeler için kararlı birincil anahtarlar kullanın ve bu düzeni üretimde kullanmadan önce iş sonrası komut dizisinin yinelenen çalıştırmalarını güvenli hâle getirin.
  • Örnek veriler açıklama amaçlıdır; gerçek kişi verileri için hedef alanadının saklama ve gizlilik gereksinimlerini uygulayın.

Sırada Ne Öğrenmeli?