Değişken
Akış boyunca bir değeri taşıyan nesnedir. En sık iki iş için kullanılır: bir Karşılaştır ya da dallanma adımının okuyacağı bir yönlendirme kodu tutmak ve bir e-posta gövdesine yerleştirilecek mesaj içeriğini taşımak. Değişkenler genellikle v_gorus, V_RETNEDEN gibi adlarla anılır.
Ne zaman kullanılır?
- Akışın bir noktada verdiği kararı (ör. "0" / "1" ya da "1".."7" gibi bir kod) sonraki bir karşılaştırma adımının okuması gerektiğinde. Karar değerini bir değişkene yazarsınız, dallanma adımı bu değişkeni okuyup yolu seçer.
- Bir onay/ret gerekçesi, hesaplanmış bir tutar ya da çok dilli bir metni e-posta gövdesine taşımak istediğinizde.
Değer object tipindedir; pratikte yönlendirme kodları metin olarak ("0"/"1") saklanır ve karşılaştırma nesnesinin eşleştirmesine bırakılır.
Ayarlar
Değişken nesnesinde tasarımcıda ve kodda şu üyeler kullanılır:
| Ayar | Açıklama |
|---|---|
Value | Değişkenin taşıdığı değer (object). Yönlendirme kodları metin olarak saklanır. |
Text | Değerin metin karşılığı. |
TextML | Değerin çok dilli karşılıkları (salt okunur sözlük). |
ValueType | Değişkenin değer tipi. |
IsHtml | true yapıldığında, değer bir e-posta gövdesine HTML olarak yerleştirilir. |
IsPublic | Değişkenin dışa açık olup olmadığı. |
Akıştaki yeri
Değişken, akışta bir bekleme noktası değildir: bir Fonksiyon adımı ya da bir nesnenin _Execute bloğu değişkene bir değer yazar, akış akmaya devam eder ve sonraki bir Karşılaştır veya dallanma adımı bu değeri okuyarak yolu belirler. Aynı değer bir e-posta nesnesinin gövdesinde de kullanılabilir.
Kod örnekleri
Değişkene değer, akış kodunda nesnenin adıyla yazılır. Sunucu (akış) kodu turuncu çerçevelidir.
Değer atama
// Doğrudan özellik ataması
V_gorus.Value = "5";
// Metot biçimi (aynı etkiyi yapar)
v_gorNedeni.SetConstantValue(sebep.Value);
// Hesaplanmış bir değeri metne çevirip ata
v_aktarilan.SetConstantValue(Total.ToString());
// Çok dilli bir argümandan Türkçe değeri ata
V_RETNEDEN.SetConstantValue(args.Reason["tr-TR"].ToString());
Değeri e-postada HTML olarak kullanma
// Ret gerekçesini taşı ve mail gövdesinde HTML olarak işlensin
v_gorNedeni.SetConstantValue(sebep.Value);
v_gorNedeni.IsHtml = true;
Yolu seçtirmek için ayrı bir değişkene değer yazın (v_x.Value = "...") ve sonraki karşılaştırma/dallanma adımının bu değişkeni okumasına bırakın. Karar değerini doğrudan betik nesnesi üzerinden değil, kendi değişkeni üzerinden taşıyın.
İpuçları
Valueözelliğiobjecttipindedir; sayısal bir sonucu saklarkenTotal.ToString()gibi metne çevirerek atayın.Value = ...doğrudan ataması ileSetConstantValue(...)metodu aynı etkiye sahiptir; okunabilirliğine göre birini seçin.- Değeri bir e-posta gövdesine HTML olarak gömecekseniz
IsHtml = trueyapın. SetFromPosition,SetFromVariable,SetFromDepartment,SetFromProfession,SetFromProjectName,Increment(),Decrement()veUnlinkObject()üyeleri tanımlıdır ve derlenir; ancak örnek akışlarda çalıştırılarak doğrulanmamıştır.
Doğrulanmış kod arayüzü (Variable)
CLASS Bimser.CSP.Workflow.Api.Steps.Variable : FlowObjectDesigner<VariableProperties>
Özellikler: Value (object), Text (string), TextML (salt okunur), ValueType, ValueSourceType, IsHtml, IsLinked (salt okunur), IsPublic, LinkedObjectName, LinkedDocumentObjectName
Metotlar: SetConstantValue(object), Increment(), Decrement(), SetFromVariable(Variable, string), SetFromPosition(FlowPosition), SetFromDepartment(FlowDepartment), SetFromProfession(FlowProfession), SetFromProjectName(), UnlinkObject(), ToLiquid()
Örnekle doğrulanmış kullanım: Value = ... / SetConstantValue(...) ile değer atama ve IsHtml = true. Diğer SetFrom* metotları ile Increment/Decrement derlenir ancak çalışma zamanında doğrulanmamıştır.
Kaynak: synergy-csp references/flow-objects.md (Variable, örnekle doğrulanmış) + _harvest/flow-knowledge.md (Akış Değer / Değişken).