Doküman Oluştur
Akış çalışırken yeni bir doküman oluşturan nesnedir. Hangi forma, sürece ve görünüme bağlı bir doküman üretileceğini bu nesnenin ayarlarında belirlersiniz; nesne çalıştığında ilgili formdan yeni bir doküman örneği oluşturulur. Var olan bir dokümana referans vermek için de kullanılabilir.
Ne zaman kullanılır?
Akışın bir noktasında, ana dokümandan ayrı yeni bir kaydın üretilmesi gerektiğinde kullanın: örneğin bir talep akışı ilerlerken bağlı bir alt forma ait yeni bir doküman açılması gibi. Akışa zaten bağlı olan dokümanın kontrollerine erişip değer okumak/yazmak istiyorsanız bunun yerine Doküman nesnesini kullanın; bu nesne yeni doküman üretmek içindir.
Ayarlar
Doküman Oluştur nesnesi seçildiğinde tasarımcıda şu başlıklar düzenlenir:
| Ayar | Açıklama |
|---|---|
FormName | Yeni dokümanın oluşturulacağı formun adı. |
ProcessName | Dokümanın bağlanacağı sürecin adı. |
ViewName | Doküman için kullanılacak form görünümünün adı. |
DocumentObjectName | Oluşturulan dokümanı taşıyan nesnenin adı. |
ParentDocument / ParentDocumentObjectName | Üst (bağlı olunan) doküman ve onu taşıyan nesnenin adı. |
CreatorObjectName | Dokümanı oluşturan nesnenin adı. |
OperationType | Oluşturma işleminin türü (CreateDocumentType). |
CreateIdentity | Oluşturma sırasında kimlik (identity) üretilip üretilmeyeceği. |
PathAssignType / PathType / PathValue | Dokümanın kaydedileceği yol için atama türü, yol türü ve yol değeri. |
PanelSize | Açılacak panelin boyutu. |
NodeCaption | Adımın çok dilli başlığı. |
ProcessId | Dokümanın bağlandığı sürecin kimliği (salt okunur). |
Akıştaki yeri
Doküman Oluştur, akış çalışırken devreye giren bir adımdır: önceki adım tamamlandığında ayarlarında tanımlı form/süreç/görünüm bilgisine göre yeni bir doküman üretir, sonra akış bir sonraki adıma geçer. Oluşturulan doküman, DocumentObjectName ile adlandırdığınız nesne üzerinden akışın ilerleyen adımlarında ele alınabilir.
Kod örnekleri
Nesnenin oluşturma metotları akış (sunucu) kodundan çağrılabilir. Sunucu kodu turuncu çerçevelidir.
// Yeni doküman oluştur (ayarlardaki form/süreç/görünüme göre)
await DokumanOlustur1.CreateDocument();
// Yeni bir doküman örneği üret
await DokumanOlustur1.CreateNew();
// Var olan bir dokümana referans oluştur
DokumanOlustur1.CreateExistingDocument();
Bu nesnenin sınıf üyeleri (FlowCreateDocument) API dökümünden doğrulanmıştır; yukarıdaki çağrı kalıbı (CreateDocument / CreateNew / CreateExistingDocument ayrımı ve await kullanımı) örnekle teyit edilmedi. Gerçek kullanımı IDE'de doğrulayın.
İpuçları
- Yeni doküman üretmek için Doküman Oluştur'u, akışa zaten bağlı dokümanın kontrollerine erişmek için Doküman nesnesini kullanın.
ViewNamedüz bir metin değeridir ve form görünümünün adını taşır; ayrı bir "View" nesnesi yoktur. AynıViewNameözelliği Doküman nesnesinde de bulunur, ikisi farklı adımlardır.ProcessIdsalt okunurdur: oluşturulan dokümanın bağlandığı sürecin kimliğini verir, elle atanmaz.- Üst doküman ilişkisini kurmak için
ParentDocument/ParentDocumentObjectNameayarlarını kullanın.
Doğrulanmış kod arayüzü (FlowCreateDocument)
Sınıf: FlowCreateDocument (FlowObjectDesigner<FlowCreateDocumentProperties>)
Metotlar: CreateDocument() → Task, CreateNew() → Task, CreateExistingDocument() → Void
Özellikler: Document (FlowDocument), DocumentObjectName (String), ParentDocument (FlowDocument), ParentDocumentObjectName (String), FormName (String), ProcessName (String), ViewName (String), CreatorObjectName (String), NodeCaption (Dictionary<String, String>), ProcessId (String, salt okunur), OperationType (CreateDocumentType), CreateIdentity (Boolean), PathAssignType (CreateDocumentPathAssignType), PathType (CreateDocumentPathType), PathValue (String), PanelSize (PanelSize).
Kaynak: synergy-csp references/flow-objects.md (FlowCreateDocument, [dump-only]) + Bimser.CSP.Workflow.Api.api.txt (L505, ViewName L526).