Ana içeriğe geç

Kişilerinizi Adres Defterine Kaydedin

Senaryo

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

Önkoşullar

  • Süreç ve ilişkisel şema oluşturma izni
  • prework ve postwork betiklerine erişim
  • Yinelenen kişi satırlarını barındırabilen bir süreç formu

Adımlar

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

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

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

Formu Oluşturun

  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. Ad ve telefon numarası gibi kişi satırları için gereken sütunları oluşturun.
  5. Telefon alanı türünü Telefon.

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

Veri Modelini Genişletin

Yinelenen kişi yapısının altına bir Id alanı ekleyin; böylece her kişi satırı benzersiz biçimde tanımlanabilir.

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

İlişkisel Veritabanını Tanımlayın

  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çeren gerekli alanları tanımlayın.

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

Form Verilerini Postwork'te Kaydedin

Görevin postwork bölümünde gönderilen satırları şu öğeyle ilişkisel veritabanına 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ı olarak saklar.

Kişi satırlarını veritabanına aktarmak için kullanılan görev postwork'ü.

Mevcut Kişileri Prework'te Yükleyin

Görevin prework bölümünde kaydedilmiş satırları şu öğeyle 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)
    }
});

Böylece form yeniden açıldığında daha önce kaydedilmiş kişiler görünür.

Kaydedilmiş kişileri XML modeline geri aktarmak için kullanılan görev prework'ü.

Adres Defterini Test Edin

  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 hafif bir adres defteri gibi çalışır: yinelenen form satırlarını ilişkisel bir tabloya kaydeder ve form yeniden açıldığında bu satırları geri yükler.