Ana içeriğe geç

Yorum

Akışı, verdiğiniz bir süre dolana ya da beklenen bir olay gerçekleşene kadar duraklatan nesnedir. Akış bu adıma ulaştığında olduğu yerde bekler; süre dolduğunda veya tanımlı olay tetiklendiğinde bir sonraki adıma geçer.

Tasarımcı adı ile sınıf adı

Tasarımcıda bu nesnenin etiketi Yorum'dur; arka plandaki sınıf ise Bimser.CSP.Workflow.Api.Steps.Pauser (bir bekleme/süre aşımı adımı) sınıfıdır. Yani "Yorum", Pauser sınıfının Türkçe tasarımcı etiketidir; ikisi aynı nesnedir.

Ne zaman kullanılır?

Akışı bir kullanıcı eylemi gerektirmeden bekletmek istediğinizde kullanın: belirli bir süre sonra otomatik ilerleme, bir dış olayın gerçekleşmesini bekleme ya da iki adım arasında zamanlanmış bir gecikme koymak gibi.

Ayarlar

Yorum nesnesi seçildiğinde tasarımcıda şu başlıklar düzenlenir:

AyarTipAçıklama
TimeoutDay / TimeoutHour / TimeoutMinuteInt32Beklemenin süresi (gün / saat / dakika).
TimeoutDurationTimeSpanBekleme süresinin tek bir zaman aralığı olarak karşılığı.
TimeoutOptionsIFlowTimeoutOptionsSüre aşımına ilişkin ek seçenekler.
CalculateUsingHolidaysBooleanSüre hesabında resmi tatiller dikkate alınır; true ise tatil günleri süreden sayılmaz.
CalculateUsingWorkingHoursBooleanSüre yalnızca mesai saatleri üzerinden işletilir; true ise mesai dışı saatler süreye dahil edilmez.
EventsIReadOnlyList<IEvent>Beklenen olayların listesi (salt okunur).
ShowInFlowHistoryBooleanAdımın akış geçmişinde görünüp görünmeyeceği.

CalculateUsingHolidays ve CalculateUsingWorkingHours, bekleme süresinin takvim saatine göre mi yoksa iş takvimine (tatiller ve mesai saatleri hariç tutularak) göre mi sayılacağını belirler. Örneğin 1 günlük bir bekleme, CalculateUsingWorkingHours açıkken yalnızca mesai saatlerini sayarak birden çok takvim gününe yayılabilir.

Akıştaki yeri

Yorum, akışın ortasında bir bekleme noktasıdır: önceki adım tamamlanınca akış bu nesneye gelir ve burada durur. Tanımlı süre dolduğunda ya da beklenen olay gerçekleştiğinde akış bir sonraki adıma yönlenir. Bir onay ya da kullanıcı kararı için değil, zaman/olay temelli bekleme için kullanılır.

İpuçları

  • Bekleme süresini TimeoutDay / TimeoutHour / TimeoutMinute alanlarıyla gün, saat ve dakika olarak ayrı ayrı verebilirsiniz; bunların toplam karşılığı TimeoutDuration (TimeSpan) üzerinden okunur.
  • Bekleme bir iş günü mantığıyla işlesin istiyorsanız CalculateUsingHolidays ve CalculateUsingWorkingHours ayarlarını true yapın; bu durumda tatiller ve mesai dışı saatler süreden düşülür.
  • Adımın akış geçmişinde görünmesini istemiyorsanız ShowInFlowHistory ayarını false yapın.
  • Events salt okunur bir listedir; beklenen olaylar tasarımcı üzerinden tanımlanır, koddan eklenmez.
uyarı

Bu nesnenin çalışma zamanı kod kullanımı (örneğin süreyi koddan ayarlama) kaynaklarda örnekle doğrulanmamıştır. Ayarlar ve üyeler API dökümünden gelir; tasarımcıdaki tam davranış ve süre/olay ilişkisinin çalışma zamanı detayları için TODO: doğrulanacak.

Doğrulanmış kod arayüzü (Pauser)

Tip: Bimser.CSP.Workflow.Api.Steps.Pauser : FlowObjectDesigner<PauserProperties> — akışı bir süre aşımına / olaya kadar duraklatır.

Özellikler:

  • EventsIReadOnlyList<IEvent> (salt okunur)
  • ShowInFlowHistoryBoolean
  • TimeoutDay / TimeoutHour / TimeoutMinuteInt32
  • TimeoutDurationTimeSpan
  • TimeoutOptionsIFlowTimeoutOptions
  • CalculateUsingHolidaysBoolean
  • CalculateUsingWorkingHoursBoolean

Paylaşılan temel üyeler: Caption (Dictionary<String, String>), Name (String), Key (String, salt okunur), TypeCode (WorkflowItemTypeCode), Initialize().

TODO: doğrulanacak — çalışma zamanı kullanım idiomu kaynaklarda teyit edilmemiştir (dump-only).

Kaynak: synergy-csp references/flow-objects.md (Pauser, dump-only) + Bimser.CSP.Workflow.Api.api.txt (CLASS Bimser.CSP.Workflow.Api.Steps.Pauser).