Doküman No Atama
Akıştaki bir dokümana, tanımlı bir numara şablonundan otomatik doküman numarası atayan nesnedir. Belgeye elle numara girmek yerine, akış bu adıma geldiğinde numara şablona göre üretilir ve hedef dokümana yazılır.
Ne zaman kullanılır?
Bir dokümanın akış sırasında sıralı ya da şablona dayalı bir numara alması gerektiğinde kullanın: gelen/giden evrak numarası, talep/sipariş numarası gibi. Numara üretimini bir variable üzerinden yönetmek istediğinizde ise Tekil No Üretici (FlowUniqueIdCreator) nesnesini değerlendirin.
Ayarlar
Doküman No Atama nesnesi seçildiğinde tasarımcıda şu özellikler düzenlenir:
| Ayar | Açıklama |
|---|---|
AssignType | Numaranın nasıl atanacağını belirleyen tür (SetDocumentIdType). |
TargetObjectName | Numaranın yazılacağı hedef doküman nesnesinin adı. |
TemplateId | Kullanılacak numara şablonunun kimliği. |
TemplateName | Numara şablonunun adı. |
VariableName | Üretilen numaranın okunacağı / aktarılacağı variable adı. |
Akıştaki yeri
Bu adım, dokümanın akış içinde işlendiği bir noktada yer alır: akış buraya ulaştığında hedef dokümana şablondan numara atanır ve akış bir sonraki adıma geçer. Bir Doküman Oluştur adımından sonra konumlandırıp yeni belgeye numara vermek yaygın bir senaryodur.
Bu adımın çalışma zamanı kullanım biçimi (idiom) örnekle doğrulanmadı; sınıf ve üyeleri reflection dökümünden gelir. Aşağıdaki kod arayüzü gerçek olsa da kullanım kalıbı TODO: doğrulanacak olarak işaretlenmiştir.
Kod örnekleri
Numara atama, nesnenin kendi metoduyla tetiklenir. Sunucu (akış) kodu turuncu çerçevelidir.
Şablondan numara atama
// Hedef dokümana ayarlardaki şablona göre numara ata
await p_DokumanNoAtama.SetDocumentId();
Belirli bir dokümana tekil no atama
// Eldeki FlowDocument nesnesine tekil numara ata
await p_DokumanNoAtama.SetUniqueId(p_Dokuman);
SetDocumentId() ve SetUniqueId(...) birer Task döndürür; yukarıdaki await kullanımı API imzasına dayanır. Çağrı kalıbının akış kodunda nasıl yazıldığı TODO: doğrulanacak.
İpuçları
- Hedefi
TargetObjectNameile akıştaki doğru doküman nesnesine yönlendirin; numara yanlış belgeye yazılmasın. - Şablonu ya
TemplateIdile kimlik üzerinden ya daTemplateNameile adıyla belirleyebilirsiniz. - Numarayı sonraki adımlarda kullanacaksanız
VariableNameile bir variable'a aktarıp oradan okuyun. - Numarayı bir doküman nesnesi yerine doğrudan variable'a üretmek istiyorsanız Tekil No Üretici nesnesi bu işe daha uygundur.
Doğrulanmış kod arayüzü (FlowSetDocumentId)
Taban: FlowObjectDesigner<FlowSetDocumentIdProperties>
Özellikler: AssignType (SetDocumentIdType), TargetObjectName (string), TemplateId (Int64), TemplateName (string), VariableName (string)
Metotlar: SetDocumentId() → Task, SetUniqueId(FlowDocument) → Task
Kaynak: synergy-csp references/flow-objects.md (FlowSetDocumentId, [dump-only: no confirmed usage idiom]). Çalışma zamanı kullanım biçimi IDE'de doğrulanacak.