Skip to main content

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:

AyarAçıklama
ValueDeğişkenin taşıdığı değer (object). Yönlendirme kodları metin olarak saklanır.
TextDeğerin metin karşılığı.
TextMLDeğerin çok dilli karşılıkları (salt okunur sözlük).
ValueTypeDeğişkenin değer tipi.
IsHtmltrue yapıldığında, değer bir e-posta gövdesine HTML olarak yerleştirilir.
IsPublicDeğ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;
Yönlendirme nasıl yapılır?

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ği object tipindedir; sayısal bir sonucu saklarken Total.ToString() gibi metne çevirerek atayın.
  • Value = ... doğrudan ataması ile SetConstantValue(...) metodu aynı etkiye sahiptir; okunabilirliğine göre birini seçin.
  • Değeri bir e-posta gövdesine HTML olarak gömecekseniz IsHtml = true yapın.
  • SetFromPosition, SetFromVariable, SetFromDepartment, SetFromProfession, SetFromProjectName, Increment(), Decrement() ve UnlinkObject() ü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).