Skip to main content

Akış Durdurucu

Akışta, başka bir nesnede bekleyen bir onayı iptal etmek için kullanılan nesnedir. Akış bu adıma ulaştığında, hedef olarak gösterdiğiniz onay nesnesindeki açık onay isteği iptal edilir ve o kişiye düşmüş istek kapatılır.

Bu nesnenin bir değeri yoktur ve akış kodundan çağrılan kendine ait bir olayı ya da metodu yoktur. Tamamen tasarımcıda iki özelliğiyle yapılandırılan, geçişli (geçildiği anda işini yapan) bir prop-set adımıdır.

Ne zaman kullanılır?

Bir onay nesnesinde bekleyen istek artık geçersiz kaldığında kullanın. Örneğin akışın bir kolu sonuçlanınca, paralel olarak bekleyen başka bir onaycının isteğinin de kapatılması gerekiyorsa, bu nesneyle o bekleyen onayı iptal edebilirsiniz. Aynı tip, Onay İptal Edici adıyla da geçer.

Ayarlar

Akış Durdurucu nesnesi seçildiğinde tasarımcıda şu özellikler düzenlenir:

AyarTipAçıklama
TargetObjectNameStringOnayı iptal edilecek hedef nesnenin akıştaki adı.
CancellerTypeCancellarTypeİptal işleminin türünü belirleyen seçenek. Hedefteki hangi tür bekleyen isteğin kapatılacağını belirler.
Özellik adı ile enum adı farklı

Özelliğin adı CancellerType, fakat tipinin (enum) adı CancellarType. İkisi farklı yazılmıştır; bu beklenen durumdur, yanlış yazım değildir.

CancellerType seçenekleri

CancellerType özelliği CancellarType enum değerlerinden birini alır:

DeğerAnlamı
PositionHedefteki bir Pozisyon nesnesinde bekleyen onay isteğini iptal eder.
GroupHedefteki bir Pozisyon Grubu (Group) nesnesinde bekleyen onay isteğini iptal eder.
PauserHedefteki bir bekleten/durdurucu (Pauser) nesnede bekleyen isteği iptal eder.
AllHedef nesnedeki bekleyen tüm onay isteklerini iptal eder.

Akıştaki yeri

Akış Durdurucu, akışın gövdesinde geçişli (geçildiği anda işini yapan) bir adımdır: akış buraya ulaştığında TargetObjectName ile gösterdiğiniz onay nesnesindeki bekleyen istek, CancellerType ile seçtiğiniz türe göre iptal edilir ve akış bir sonraki adımdan devam eder. Genellikle bir onay nesnesinin paralel ya da koşullu olarak iptal edilmesi gereken senaryolarda, ilgili kolun üzerine yerleştirilir.

Akış kodu

Bu nesne tasarımcıda yapılandırılır; akış kodunda çağıracağınız kendine ait bir olay ya da metot yoktur. Akış buraya ulaştığında iptal işlemi otomatik olarak çalışır. Dolayısıyla Flow1.cs içinde bu nesneye karşı yazılacak bir kod bulunmaz.

İptal davranışını koşula bağlamak isterseniz, Akış Durdurucu adımını koşullu bir kola (ör. bir Koşul adımından sonra) yerleştirin; ayrı bir kod yazmanız gerekmez.

İpuçları

  • TargetObjectName alanına, iptal etmek istediğiniz onay nesnesinin (ör. bir Pozisyon ya da Pozisyon Grubu) akıştaki adını yazın.
  • CancellerType değerini hedef nesnenin türüne göre seçin: tek onaycılı bir Pozisyon için Position, çok onaycılı bir Pozisyon Grubu için Group. Hedefte birden çok bekleyen istek olabileceği durumlarda All ile hepsini kapatabilirsiniz.
  • Bu nesne yeni bir onay başlatmaz; yalnızca var olan bekleyen bir onayı kapatır. Hedef nesnede bekleyen bir istek yoksa iptal edilecek bir şey de olmaz.
  • Aynı tip iki adla sunulur: Akış Durdurucu ve Onay İptal Edici. İkisi de FlowApprovalCancellar sınıfını kullanır.
Doğrulanmış kod arayüzü (FlowApprovalCancellar)

Sınıf: FlowApprovalCancellar (FlowObjectDesigner<FlowApprovalCancellarProperties>)

Tasarımcı özellikleri:

  • TargetObjectName (String) — iptal edilecek hedef nesnenin akıştaki adı.
  • CancellerType (CancellarType) — iptal türü; enum değerleri: Position, Group, Pauser, All.

Mirastan gelen taban üyeler (standart, üzerinde script yazılmaz): Name (String), Key (String, salt okunur), Caption (Dictionary<String, String>), TypeCode (WorkflowItemTypeCode), CachedDMObjects (IRuntimeDMObjects), WorkflowCodeInstance (IWorkflowCode, salt okunur) ve Initialize() metodu.

Bu adımın kendine ait bir akış-kodu olayı ya da çalışma zamanı metodu yoktur; yalnızca yukarıdaki iki tasarımcı özelliğiyle yapılandırılır.

Kaynak: synergy-csp references/flow-objects.md (FlowApprovalCancellar) + Bimser.CSP.Workflow.Api.api.txt (sınıf, satır 387) + Bimser.Synergy.Entities.api.txt (CancellarType enum, satır 71953).