Ana içeriğe geç

Roller

Görevi kimin alacağını belirlemek için rolleri kullanın. Bir rol; bir kullanıcıyı, grup tabanlı bir kullanıcı kümesini, bir katılımcıyı veya karar tablosundan ya da betikten elde edilen dinamik bir sonucu çözümleyebilir.

Her rol için aşağıdaki özellikler yapılandırılabilir:

Ad: Rolün dahili tanımlayıcısı.

Başlık: Rolün kullanıcıya gösterilen adı. Yerelleştirmeyi destekler.

Atama Mantığı

Rol ataması iki yöntemden biriyle yapılır: Karar Tablosu veya İfade.

Karar Tablosu

Karar tablosu, kod gerektirmeden form verilerine dayalı atama kuralları tanımlar. Kurallar giriş bölümünde tanımlanır; ilgili atananlar ise çıktı bölümünde seçilir.

Ayrıntılar için Karar Tablosu.

Bir role atanacak kişileri belirlemek için kullanılan karar tablosu.

İfade (Rol Betiği)

Atanan kullanıcıları belirleyen JavaScript betiği.

Info

Rol betikleri en az bir kimlik döndürmelidir. Boş sonuç döndürülmesi veya herhangi bir kimliğin döndürülememesi hataya neden olur.

Sonraki Göreve İlerleme

Rol betiğinde bir eylem seçmek için $WorkItem.SelectedAction ayarlanması, görev bir kullanıcıya atanmadan süreci sonraki göreve ilerletir.

Betik Nesneleri

Bu betik Emakin'in arka uç bağlamında yürütülür ve erişilebilir bir tarayıcı DOM bağlamı yoktur; bu nedenle jQuery gibi navigator tabanlı JavaScript kitaplıkları kullanılamaz.

Aşağıdaki nesneler kullanılabilir:

  • $WorkItem İşlenmekte olan mevcut WorkItem öğe.
  • $Instance Mevcut iş akışı iş akışının Instance örneği.
  • $TestMode İş akışının test modunda çalışıp çalışmadığını belirtir. Test modunda şu değere true eşitlenir.
  • $Priority Mevcut iş akışı iş akışının iş akışı önceliği: 0 (en düşük) ile 5 (en yüksek)
  • $Initiator İş akışını başlatanı tanımlar. Bunun modül türündeki görevler için null geçerli olmayabileceğini unutmayın.
  • $Culture İş akışı iş akışının geçerli kültürü. Başlatanın kültüründen alınır ancak üzerine yazılabilir. Kültür şu biçimde languagecode2-country/regioncode2belirtilir. Örnek: (en-US veya tr-TR)
  • $Templates Havuz tanımında belirtilen şablonlara erişim sağlar. Metin içeriğini iş akışı iş akışının kültürüne göre oluşturmak için kullanılır.
  • $Xml Süreç veri modeline veya iş akışı verilerine erişim sağlar.
  • $Case İş akışı bir vaka üzerinde başlatıldıysa, iş akışı Case iş akışının örneği.
  • $poolVariable Ada göre özel tanımlanmış havuz değişkeni. Değişkenler Değişkenler
  • $Services JSON veya XML içerik türleriyle SOAP hizmetlerinin çağrılmasını sağlar.
  • $Decisions Süreç üzerinde karar tablolarını ve modelleri yürütmenizi sağlar.
  • $scriptModule Özel tanımlanmış betik modülü. Betik modülleri Betik Modülleri
  • $Domain Alanadı bilgilerine ve iş akışı başlatma veya yeni vaka oluşturma gibi ilgili yöntemlere erişim sağlar.
  • $ActivityStream Sistem tarafından oluşturulan aktivitelerin alanadı aktivite akışına eklenmesini sağlar.
  • $Membership Kullanıcılara ve organizasyon veritabanı nesnelerine erişim sağlar.
  • $Database İlişkisel veritabanı işlemlerini gerçekleştirmenizi sağlar.
  • $Crypto Karma oluşturma ve şifreleme gibi kriptografik işlevlere erişim sağlar.
  • $Rest JSON veya XML içerik türlerini kullanarak REST hizmetleriyle etkileşim kurulmasını sağlar.
  • $Calendar Takvim kurallarında tarih ekleme veya çıkarma gibi takvim işlevlerine erişim sağlar.
  • $Files Temel dosyalar için standart dosya deposuna erişim sağlar.
  • $Documents Belge arşivine erişim sağlar.
  • $Delegation Kullanıcılar arasındaki vekâletleri yönetmek için yöntemler sağlar.
  • $Messages Yeni e-postalar gönderme ve mevcut e-posta iletilerini ayrıştırma işlevi sağlar.
  • $XmlRepository İlişkisel olmayan XML deposu veritabanına erişim sağlar.

Örnek Rol Betikleri

Sihirbaz yaygın rol tanımlarını basitleştirse de aşağıdaki örnekler özel rol betiklerini gösterir:

Belirli Bir Kimliğe Atama:

Gerçek kimlik numarasıyla 'd3b1fe89-6873-4438-8762-164ed73a9054' değiştirin.

1
$Membership.Get('d3b1fe89-6873-4438-8762-164ed73a9054');

Veri Modeli Alanına Göre Atama:

Kullanıcı tarafından doldurulan bir veri modelinde bir formun bulunduğunu ve bu formda "Employee" alanının yer aldığını varsayalım::

1
$Xml.Evaluate('Employee');

Birden Fazla Kullanıcıya Atama:

JavaScript dizisi kullanarak:

1
[$Xml.Evaluate('Employee'), $Membership.Get('d3b1fe89-6873-4438-8762-164ed73a9054')]

Alternatif olarak noktalı virgül kullanarak:

1
$Xml.Evaluate('Employee') + ';' + 'd3b1fe89-6873-4438-8762-164ed73a9054'

Bir Yöneticiye Atama:

Bu betik, rolü önceki görevi tamamlayan kullanıcının yöneticisine atar:

1
$Membership.FindManager($WorkItem.Previous.CompletedBy);

Sonraki Göreve İlerle

Onay gerekmiyorsa otomatik olarak sonraki göreve ilerleyin.

1
2
3
if (!$Xml.Evaluate('ApproveRequired')) {
    $WorkItem.SelectedAction = 'Approve';
}