Komut Dizisi Bağlamları¶
Bir komut dizisinde kullanılabilen nesneler ve XML kapsamı, komut dizisinin yürütüldüğü yüzeye ve çağırana bağlıdır. Başka bir komut dizisindeki kodu yeniden kullanmadan önce her ikisini de kontrol edin. Düzenleyicideki otomatik tamamlama listesinde yararlı olabilecek bir API yer alabilir; ancak bu, nesnenin her çağrıda bulunduğunu göstermez. Kullanılabilir bir sunucu proxy'si, kiracı ve kullanıcı yetkilendirme kurallarını yine de uygular.
Görev Komut Dizileri ve İfadeleri¶
Görev iş öncesi, iş sonrası, otomasyon ve değerlendirme aksiyon komut dizileri sunucuda şu nesnelerle çalışır: $WorkItem, $Instance ve $Xml. Göreli XML yolları, iş adımının veri kökünden (DataRoot) başlar. Yol seçmeden önce seçili havuzu ve veri kökünü inceleyin.
Rol kimliği ifadeleri, aksiyon otomatik seçim kuralları ve rota kuralları iş adımı bağlamını kullanır. Dönüş değerleri farklıdır: rol ifadesi kimlikler döndürür; aksiyon ve rota koşulları, gerektiğinde, boolean döndürür. true Yaşam döngüsü ve otomasyon komut dizileri işlemlerini bağlam üzerinden gerçekleştirir; boolean döndürmek aksiyon seçimi anlamına gelmez. Diğer JavaScript ifadeleri, ait oldukları yere bağlıdır ve çağrıldıkları yerde kontrol edilmelidir.
Havuz Yaşam Döngüsü Komut Dizileri¶
Havuz açılış, kapanış ve sonlandırma komut dizileri; $Instance, $Initiator, $Templates ve dahil olmak üzere iş akışı bağlamını alır. $Xml.
XML düğümü, iş akışını başlatan, tamamlayan veya sonlandıran iş adımından gelir. Göreli yollar bu iş adımının veri kökünden başlar. $Xml Komut dizisi bir havuza ait diye bunun XML belge kökünü gösterdiğini varsaymayın. $Case yalnızca iş akışının ilişkili bir vakası olduğunda bulunur.
Ekran Başlatma¶
Ekranın başlatma komut dizisi, verileri tarayıcıya gönderilmeden önce sunucuda çalışır. Ekran verilerini, yapılandırılmış RootElement, $ActiveUser, $Culture ve süreç hizmetlerinde alır. $Instance veya $WorkItemalmaz. XML değişiklikleri ilk ekran verilerini hazırlar; tarayıcıda zaten açık olan bir formda değişiklik yapmaz.
Form Komut Dizileri ve Aksiyon Seçimi¶
Form ve ekran istemci komut dizileri, sağlanan form verisi düğümüne bağlı $Xml ile tarayıcıda çalışır. İstemci yardımcıları arasında $Calendar, $Calendar2, $Rest, $Services ve eşzamansız modül işlevleri bulunur. Bunların uygulamaları ve imzaları sunucu proxy'lerinden farklı olabilir. $Database ve sunucu $WorkItem proxy'si istemci komut dizisi çalışma ortamında sağlanmaz. $ActiveUsergibi ek değerler formun sağladığı değişkenlere bağlıdır.
Aksiyon seçim komut dizisi, aksiyon doğrulamasından sonra ve aksiyon seçilmeden önce çalışır. undefined veya truthy bir dönüş değeri seçime izin verir; başka bir falsy değer seçimi iptal eder.
Canlı öğe bağlarını koruyan, desteklenen XML yardımcı güncellemelerini kullanın. Bağlı içeriği InnerXml(value), OuterXml(value) ile değiştirmek veya ham DOM alt ağaç işlemleri yapmak, denetimlerin ayrılmış öğelere başvurmasına neden olabilir. XML'in doğru serileştirilmiş olması, formun geçerli düğümleri görüntülediğini veya düzenlediğini kanıtlamaz.
Doğrulama ve Biçimlendirme Kuralları¶
$Xml kuralın bağlı widget düğümünü temsil eder. RowRulesiçin geçerli satırı temsil eder. Bu, form kökü olmak zorunda değildir. Doğrulama sonucunun truthy olması bir ihlal bildirir; biçimlendirme sonucunun truthy olması yapılandırılmış özellikleri uygular. Bu koşulları gözlemsel tutun; bunlardan form verisini değiştirmeyin.
Satır Oluşturma Komut Dizileri¶
Tablo İçeriği ve Tekrarlanan İçerik satır komut dizileri yeni bir satırı başlatır. $Xml denetimin bağlı kapsayıcısını; $NewChild yeni satırı temsil eder. $NewChildkullanarak yeni satıra göreli yollar kullanın; $Xml öğesinin zaten orayı gösterdiğini varsaymayın.
Sorgu satırı komut dizileri ayrıca $Row, kaynak sorgu kaydını alır. $NewChild yeni eşlenmiş XML satırıdır; $Xml sorgu hedef düğümüdür. Bu komut dizileri satırları başlatır; dönüş değerleri doğrulama sonucu değildir. Satır oluşturma komut dizileri ile validation/formatting RowRules farklı XML kapsamlarına sahiptir.
Olay Komut Dizileri¶
Hem Event hem de EventListener işleme komut dizileri sunucu iş adımı bağlamıyla çalışır; ancak ek girdileri farklıdır:
| Yüzey | Ek nesne | Anlamı |
|---|---|---|
| Olay tetikleyicisi | $Handlers | İşleyen iş adımı kimliklerinden oluşan dizi; boş olabilir. |
| EventListener | $Input | Olay yükü XML'i; girdi olmadığında boş bir root öğe sağlanır. |
$Input dinleyicinin $Xmlöğesinin yerini almaz. Olay yükü ve iş akışı verileri ayrı XML bağlamlarıdır.
Modül İşlevleri ve RPC¶
Bir komut dizisi modülü doğrudan sunucu çağrısının bağlamını devralır. Bu işlevi iş öncesi komut dizisinden çağırmak $Xml ve $WorkItemsağlayabilir; tarayıcıda Module.FunctionAsync(...) üzerinden çağırmak bu nesneleri sağlamaz.
Web modülü yürütmesi süreç sürümü, iş akışı veya içerik türü bağlamı seçer. İş akışı kimliği olsa bile canlı form XML'ini, $Xml, $WorkItem veya kaydedilmemiş form düzenlemelerini almaz. Gerekli değerleri bağımsız değişken olarak geçirin ve istemcinin desteklenen form API'leri aracılığıyla uygulayacağı verileri döndürün. İş akışı bağlamı $Instancesağlayabilir; yalnızca süreç sürümü içeren bağlam sağlayamaz. İçerik türü bağlamında ayrıca süreç tanımına özgü hizmetler bulunmaz.
Form verisinden bağımsız olarak metin ayrıştırırken bağımsız sunucu XML fabrikasını kullanın:
1 2 3 4 | |
Xml.parse küçük harfli parsekullanır. $Xml gerektirmez ve süreç şemaları veya varsayılanları sağlamaz. Sözdizimi doğrulaması, bir globalin çalışma zamanında mevcut olduğunu göstermez. Paylaşılan işlevleri amaçlanan her çağrı yolu üzerinden doğrulayın; başarılı bir kanca çağrısı tek başına RPC davranışını doğrulamaz.