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ı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:
| Ayar | Tip | Açıklama |
|---|---|---|
TimeoutDay / TimeoutHour / TimeoutMinute | Int32 | Beklemenin süresi (gün / saat / dakika). |
TimeoutDuration | TimeSpan | Bekleme süresinin tek bir zaman aralığı olarak karşılığı. |
TimeoutOptions | IFlowTimeoutOptions | Süre aşımına ilişkin ek seçenekler. |
CalculateUsingHolidays | Boolean | Süre hesabında resmi tatiller dikkate alınır; true ise tatil günleri süreden sayılmaz. |
CalculateUsingWorkingHours | Boolean | Süre yalnızca mesai saatleri üzerinden işletilir; true ise mesai dışı saatler süreye dahil edilmez. |
Events | IReadOnlyList<IEvent> | Beklenen olayların listesi (salt okunur). |
ShowInFlowHistory | Boolean | Adı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/TimeoutMinutealanları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
CalculateUsingHolidaysveCalculateUsingWorkingHoursayarlarınıtrueyapı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
ShowInFlowHistoryayarınıfalseyapın. Eventssalt okunur bir listedir; beklenen olaylar tasarımcı üzerinden tanımlanır, koddan eklenmez.
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:
Events→IReadOnlyList<IEvent>(salt okunur)ShowInFlowHistory→BooleanTimeoutDay/TimeoutHour/TimeoutMinute→Int32TimeoutDuration→TimeSpanTimeoutOptions→IFlowTimeoutOptionsCalculateUsingHolidays→BooleanCalculateUsingWorkingHours→Boolean
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).