Kolay Mod ile Örnek Akış Tasarımı

Tanım

Değişken, aktivite, veri kaynakları gibi birçok noktadan ihtiyaca göre kullanılabilen ve içerisine formül yazılabilen ekrandır. Dokümanlar içerisinde kodlama/ rosyln olarak da ifade edilmektedir. Örneğin; form yüklenirken şu işlemler çalıştırılsın, form onaya gönderildikten sonra tablo satırlarında dönülerek mail gönderim işlemi gerçekleştirilsin, form üzerindeki tabloda seçili satır değiştikçe formdaki bilgiler güncellensin gibi senaryolarda ilgili bölümlerden açılan formül sihirbazı kullanılır.

Kolay Mod ve Gelişmiş Mod şeklinde iki bölümden oluşur.

Formül sihirbazı varsayılan olarak Kolay Mod ekranı otomatik açık gelecek şekilde açılmaktadır. Kolay Mod üzerinde oluşturulan algoritma Gelişmiş Mod bölümüne geçildiğinde otomatik olarak koda(script) dönüştürülür. Kullanıcı isterse Gelişmiş Mod üzerinden çalışmalarına devam edebilir. Gelişmiş Mod üzerindeyken bir değişiklik yapıldığı ve kaydedildiği durumda formül sihirbazı Gelişmiş Mod açık bir şekilde gelecektir.  

Gelişmiş Mod üzerinde değişiklik yapıldıktan sonra tekrar Kolay Mod ekranına geçildiği durumda; Kolay Mod üzerindeki algoritma kullanılacak olup; Gelişmiş Mod üzerinde yapılan düzenleme geçerli olmayacaktır. Bu bölümler arasındaki geçişler kullanıcıyı bilgilendirecek ve kabul ederse uygulanacak şekilde kurgulanmıştır.

1.73 versiyonu ile birlikte formül sihirbazında bulunan Tasarım Modu özelliği kaldırılmıştır. Ancak bu modu herhangi bir akış tasarımında kullanan ortamlarda o akış özelinde görüntülenebilir olarak gelecektir.

Kolay Mod

Herhangi bir kod yazmadan sistemin sunduğu aksiyonlar ve metotlar üzerinden ihtiyaca göre tanımların oluşturulduğu bölümdür. Algoritma; çalıştırılmak istenen senaryonun tanımlandığı alan, Yerel Değişkenler ise -akış değişkeni olmayan- algoritma içerisinde ihtiyaç duyulan değişkenlerin tanımlandığı alandır. 

Yerel değişen tanımında kullanılabilecek tipler; string, int, bool, double, datetime, datetimeoffset,VariableScriptDTO, ServiceResult, Dictionary<string, object>, LUserInfoReadOnly, Guid, NGuid(Guid?)GridResult<Dictionary<string, object>>

Eklenen bir yerel değişkeni silmek için; ilgili değişken satırının üzerine gelinip sağ tık→ satırı sil işlemi yapılmalıdır.

Koşul: Algoritmada eğer' li bir ifadeye yer verilmek isteniyorsa kullanılır. (Eğer; izin türü= Yıllık İzin, başlangıç tarihi= bugün, toplam tutar>100  vb.) 

 Kullanım Görseli

Atama: Algoritmada herhangi bir akış veya tanımlı yerel değişkene atanmak istenen bir değer varsa kullanılır. (Yıllık İzin Hakkı= 14, İzin Türü Başlık Rengi= Red, Toplam Tutar= Tablonun tutar kolonlarının toplamı vb.)

 Kullanım Görseli

Döngü: Algoritmada koşul sağlanana kadar döngü oluşturulmak istenirse kullanılır. 

 Kullanım Görseli

Çalıştır: Algoritma içerisinde çalıştırılmak istenen işlemler için kullanılır. 

 Kullanım Görseli

Try/Catch: Oluşturulacak algoritmanın güvenli bir şekilde çalıştırılmasını sağlar. Hatalı bir durum olduğunda işlemi durdurur ve catch bloğundan devam eder. 


 Kullanım Görseli

Sil: Ana düğüm altına eklenmiş olan tanımlardan algoritma içerisinden çıkarılmak istenen tanımın silinmesi işlemini gerçekleştirir. Silinmek istenen satır altında farklı alt düğümler tanımlandıysa ilgili blok tamamen silinir.

Düzenle: Algoritma içerisine eklenmiş olan tanımda düzenleme işlemine imkan tanır. Tanımdaki aksiyona göre açılan ekran farklılaşır.

Eklenen tanımlarda; kes, kopyala, yapıştır, sürükle-bırak ile yer değiştir işlemleri gerçekleştirilebilir. Altında düğüm olan tanımlarda ilgili tanımı kopyalama dışında blok halinde kopyalama özelliği de mevcuttur.

Algoritma kurgusu içerisinde iç içe tanımlar oluşturulabilir. (Koşul> Döngü> Çalıştır gibi) Ancak Atama ve Çalıştır işlemlerinin aksiyonlarına alt düğüm eklenemez, taşınamaz ve kopyalanamaz.

→ 'Catch' aksiyonu silinemez, kopyalanamaz, kesilemez ve taşınamaz. 'Try' aksiyonu kopyalanamaz. Bloğu kopyala yapılabilir. 'Try' ve 'Catch' aksiyonu düzenlenemez. Try ve Catch aksiyonları altına diğer aksiyonlar eklenebilir. 'Try' eklenirken formül editörü açılmaz. Kullanıcı hangi aksiyonları eklemek istiyorsa satırı seçip ekleyebilir.

→ Açılan formül editör ekranlarındaki sol değer dönüşü bool ise; operatör olarak && veya || işlemleri de listede gelmektedir.

→ LfLowUtils ve Context üzerinden erişilebilen tüm metotlar kullanılabilir. Ek olarak; Tablo, Tablo(Liste), Açılır Pencere, Kullanıcı Listesi değişkenleri üzerinde işlem yapmak için kullanılan gelişmiş mod metotlarına kolay mod üzerinden de erişilebilir. 

→ SQL Select işlemi için Database_Select metodu kullanılabilir. Select işleminden dönen veri listesi; SetGridResultValueToGrid metodu ile tablo değişkenine atanabilir. GetGridResultValueElementAt() metodu ile liste içerisindeki verilere indexler bazında erişilebilir.

→ CommonExtensions altındaki metotlar "Ortak Metotlar" klasörü altında listelenmektedir. 

Kolay mod içerisinde kullanılmak üzere listelenen metotların ne amaçla kullanıldığı bilgileri ilgili ekranların alt bölümünde bilgi olarak gösterilmektedir. 

 Görsel

Gelişmiş Mod

Akıştaki ihtiyaca göre kod yazarak geliştirme yapılması için kullanılan bölümdür. Kullanıcı direk bu mod üzerinden geliştirmelerini yapabildiği gibi; Kolay Mod üzerinde algoritmasını oluşturup bu moda geçtiğinde kodun otomatik oluşturulmasını sağlayabilir ve üzerine geliştirmeye devam eder.

Geliştirme dil bilgisi: C#

Ekranda yazmış olduğunuz scriptleri düzenlemek adına aşağıdaki kısayolları kullanabilirsiniz:

  • Ctrl + K => Girintileri düzenler.
  • Ctrl + F => Folding oluşturur/günceller.
  • Gelişmiş Mod ilk açıldığında girintiler otomatik düzenlenir. 
  • Folding kalıcı değildir. 

İçerisinde bulundurduğu metotları yanı sıra Özelleştirilmiş Fonksiyon özelliği ile Visual Studio ortamında kurgulanan fonksiyonların akış içerisine dahil edilmesine ve kullanılmasına imkan tanır.

Gelişmiş Mod üzerinde ihtiyaç duyulabilen ve doküman bölgesinde yer verdiğimiz kaynaklara bu linkten erişebilirsiniz.

1.89 Versiyonu ile birlikte Kolay Mod araçlarının Gelişmiş Mod bölümünde kullanılabilmesi sağlanmıştır. Gelişmiş Mod'un formül yazma ekranında, sağ klik menüsünden Kolay Mod araçlarına erişilebilir. 

 Sağ Klik Menüsü

Koşul: Kod içerisinde eğer'li bir ifadeye yer verilmek isteniyorsa kullanılır. Sağ klik menüsünden Koşul seçimi yapıldığında kullanıcının önüne Formül editörü açılır. Editör üzerinden Sol ve Sağ değer seçimleri yapılarak koşul tanımlanır. Tamam butonuna basıldığında koşul ifadesi Gelişmiş Mod üzerinde otomatik olarak koda dönüştürülür. Kod üzerindeki if/else bloklarının içi kullanıcının önüne boş olarak gelir. Alınacak aksiyonlar için yeniden Kolay mod araçları kullanılabilir ya da kod üzerinde manuel olarak geliştirmeye devam edebilir.

 Koşul | Formül Editörü

 Koşul | Kod Dönüşümü

Atama: Kod içerisinde herhangi bir akış değişkenine atanmak istenen bir değer varsa kullanılır. Sağ klik menüsünden Koşul seçimi yapıldığında kullanıcının önüne Formül editörü açılır. Bu ekran üzerinden Atama yapılacak değişken ve atanacak değer seçimleri yapılır. Tipi Atama olan Formül Editörü penceresinde ek olarak Güvenli Mod seçimi bulunmaktadır. Güvenli mod açıldığında atama işlemi try/catch bloğunun içerisinde koda dönüştürülür.

 Atama | Formül Editörü

 Atama | Kod Dönüşümü

Döngü: Kod içerisinde koşul sağlanana kadar döngü oluşturulmak istenirse kullanılır. Sağ klik menüsünden döngü seçimi yapıldığında Formül editörü açılır, koşul seçimi yapılıp Tamam butonuna basıldığında döngü ifadesi Gelişmiş Mod üzerinde otomatik olarak koda dönüştürülür. Kod üzerindeki while bloğunun içi kullanıcının önüne boş olarak gelir. While bloğu içerisinde yapılacak işlem için yeniden Kolay mod araçları kullanılabilir ya da kod üzerinde manuel olarak geliştirmeye devam edebilir.

 Döngü | Formül Editörü

 Döngü | Kod Dönüşümü

Çalıştır: Kod içerisinde çalıştırılmak istenen işlemler için kullanılır. Formül Editorü üzerinde çalıştırılmak istenen işlem Yordam kısmından seçilir. Yordam kısmında kullanılmak istenen metodlar kendi isimleriyle ya da türkçe açıklamalarıyla olarak aranabilir. Çalıştır işlemi için de Güvenli mod desteği bulunmaktadır. Güvenli mod açıldığında çalıştırılacak işlem try/catch bloğunun içerisinde koda dönüştürülür.

 Çalıştır | Formül Editörü

 Çalıştır | Kod Dönüşümü

Try/Catch: Oluşturulacak kodun güvenli bir şekilde çalıştırılmasını sağlar. Hatalı bir durum olduğunda işlemi durdurur ve catch bloğundan devam eder. Sağ klik menüsünden seçim yapıldığında Try/Catch ifadesi otomatik olarak koda dönüştürülür. 

 Try/Catch | Kod Dönüşümü