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.)
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.)
Döngü: Algoritmada koşul sağlanana kadar döngü oluşturulmak istenirse kullanılır.
Çalıştır: Algoritma içerisinde çalıştırılmak istenen işlemler için kullanılır.
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.
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.
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.