Page History
2- Genel Komutlar
Değişken işlemleri Komutu (Set)
İşlem | Kullanım Şekli | Açıklama | Örnek Kullanım | Eklendiği Sürüm |
---|---|---|---|---|
Değişkene değer atama | Set(değişken, değer) | Bir değişkene değer atamak için kullanılır. Parametre olarak sabit bir değer ya da başka bir değişken verilebilir. | Set(@barkod, "B0001") Set(@sonLot,@lot) | 1.0 |
Değişkene çoklu değer atama | Set(değişken, JSON) | Bir değişkenin alt kırılımında birden çok değer tutmak için kullanılır. Atanacak değer bölümü { } karakterleri arasında ve geçerli JSON formatında yazılır. JSON formatı dizileri de destekler. Dizi verildiği durumda, değişken değerleri birer satır gibi indeksli olarak kaydedilir. Eğer dizi elemanları için bir nesne tanımlanmamışsa index numarası kullanılır. JSON içinde sabit metin ya da değişken kullanılabilir. | Set(@stok,{"stk_kodu":1,"stk_adi":"@malzemeadi","stk_id":1}) Kullanım: @stok.stk_kodu Set(@firmalar,{["A firması", "B firması", "C firması"]}) Kullanım: @firmalar.0 Set(@liste,{"satirlar" : [{"adi": "Ali", "soyadi" : "Demir"}, {"adi": "Ali", "soyadi" : "Demir"}]}); Kullanım: @liste.satirlar.0.adi | 1.0 |
Metin birleştirme | Set(değişken, metin1 + metin2) | İki metni birleştirmek için kullanılır. Metinler çift tırnak içinde yazılmalıdır. Sabit metin ya da değişken yazılabilir. | Set(@adsoyad, "Ali " + "Kaya") Set(@barkod, "P"+"@kod") | 1.0 |
Aritmetik İşlemler | Set(değişken, sayı1 +-/* | Desteklenen işlemler: Toplama ( + ), Çıkarma ( - ), Çarpma ( - ), Bölme ( / ), Mod(%) İşlemlerde değişken kullanılacaksa, değişkenin sayı değeri olduğu varsayılır. İşlemin sonucu hatalıysa, sonuç değişkeninin değeri "ERR" olur | Set(@sonuc,45 + 9) Set(@sonuc,@sayi1 - @sayi2) Set(@sonuc,@sayi % 5) | 1.0 |
Stil İşlemleri | Set(@Style. değişken, JSON) | El terminali ekranında bilgi göstermekte kullanılan Text, ShowMessage, PopupView, TableView, MenuItem komutları için bir stil oluşturmayı sağlar. Stiller @Style nesnesi altında bir değişken olarak tanımlanır. Kullanılabilecek stil türleri :
Android için kullanılabilecek renk listesi: https://docs.microsoft.com/tr-tr/dotnet/api/xamarin.forms.color?
Varsayılan stil değerleri: @Style.default.text (Varsayılan metin stili) : {"color" : "White-Black"} @Style.default.border (Varsayılan çerçeve stili) : {"border" : "Single"} @Style.default.title (Varsayılan başlık stili, başlık kullanan komutlar için) : {"color" : "White-Black"} @Style.default.button1 (Varsayılan soldan 1. düğme stili, ShowMessage için) : {"color" : "Black-White"} @Style.default.button2 (Varsayılan soldan 2. düğme stili, ShowMessage için) : {"color" : "Black-White"} @Style.default.button3 (Varsayılan soldan 3. düğme stili, ShowMessage için ) : {"color" : "Black-White"} @Style.default.menu (Varsayılan menü seçeneği stili ) : : {"color" : "White-Black"} @Style.default.menuhover (Varsayılan seçili menü seçeneği stili ) : {"color" : "Black-White"} @Style.default.columnHeader (Varsayılan tablo sütun başlıkları stili ) : : {"color" : "White-Black"} Bu değerler oturum açıldığında üstteki değerlerle atanır, kullanıcı tarafından değiştirilebilir. TableView/PopupView komutunun içinde gösterilen her bir alan için stil tanımlanabilir. @Style değişkenine eklenen fields alanı bu iş için kullanılır. PopupView/TableView tanımı sırasında, gösterilecek her bir alan için fields elemanı altında, alan indeks sayısına göre bir stil tanımlanabilir. | Set(@Style.hata, {"color" : "Black-White", "effect" : "Bold-Blink"}) Set(@Style.default.text, {"color" : "White-Red"}) Kullanım: Text(1,13, @MESAJ2,{"style":"@Style.hata"}) Set(@Style.baslik, {"color" : "Red-Black","effect" : "Bold-Blink", "size":"4"}) // Android Set(@Style.popup.fields.1, {"color" : "Green", "effect" : "Bold", "size":"2"}) Set(@Style.popup.fields.2, {"color" : "Red", "effect" : "Bold", "size":"1"}) PopupView(@liste.rows,{"mode":"card","title":"Müşteri Listesi"," fields":["Code|Kodu|10|L","Title|Ünvanı|20|L","City|Şehir|10|L"], "style":"@Style.popup"},@secim | 1.0 Android için 1.2 |
Metin ve Tarih Komutları
Komut Adı | Kullanım Şekli | Açıklama | Örnek Kullanım | Eklendiği Sürüm |
---|---|---|---|---|
Left | Left(metin, karakter sayısı, sonuç değişkeni) | Verilen metnin solundan itibaren belirtilen sayıda karakteri sonuç değişkenine atar. | Left(@barkod,5,@malzemekodu) | 1.0 |
Right | Right(metin, karakter sayısı, sonuç değişkeni) | Verilen metnin sağından itibaren belirtilen sayıda karakteri sonuç değişkenine atar. | Right(@barkod,5,@malzemekodu) | 1.0 |
Mid | Mid(metin, başlangıç, uzunluk, sonuç değişkeni) | Verilen metnin başlangıç karakterinden itibaren belirtilen sayıda karakteri sonuç değişkenine atar. | Mid(@barkod,5,4, @malzemekodu) | 1.0 |
Pos | Pos(aranan değer, json array ya da metin, sonuç değişkeni) | Bir metnin ya da JSON dizisinin içinde aranan değerin bulunduğu pozisyonu sonuç değişkenine atar. Metin içinde arama yapılıyorsa karakter konumunu, JSON dizisinde arama yapılıyorsa, dizinin kaçıncı elemanı olduğunu gösterir. JSON nesnesinde dizi adının "param" olması beklenir. Aranan değer bulunamazsa "-1", işlem hatalıysa "ERR" sonucu döner. | Pos("001","P001", @sonuc) Sonuç: 2 Pos("K03",{"param": ["K01","K02","K03"]}, @sonuc) Sonuç:3 | 1.0 |
TrimLeft | TrimLeft(metin,uzunluk, sonuç değişkeni) | Verilen metnin solundan itibaren belirtilen uzunluk kadarını siler. | TrimLeft(@barkod,5,@malzemekodu) | 1.0 |
PadRight | PadRight(metin,uzunluk, karakter, sonuç değişkeni) | Verilen metnin sonuna, istenen karakterden belirtilen uzunlukta ekler. | PadRight("K01",5,"0", @sonuc) Sonuç: K0100000 | 1.0 |
Split | Split(metin, ayraç karakteri,sonuç değişkeni) | Verilen metni, belirtilen karakterleri ayraç olarak olarak kullanarak parçalara böler. Verilen sonuç değişkeninin alt kırılımlarındaki değerlere yerleştirir. | Split(@barkod, "-", @kodlar) Kullanım: @kodlar.1 | 1.0 |
SplitForm at | SplitFormat(metin,biçim, sonuç değişkeni) | Metni verilen biçime göre değişkenlere böler. Biçim tanımlanırken 1-9 arası sayılar, oluşacak değişkenin alt elemanlarını temsil eder. Yani, 1 olarak işaretlenmiş kısımları sonuç değişkeninin 1. alt elemanına atar. - karakteri sonuca dahil edilmeyecek bölümleri ifade eder. *karakteri başta ya da sonda kullanılır. Sonda kullanıldıysa, biçim uzunluğundan kalan kısım 10. alt elemana atılır. Başta kullanıldıysa, metnin sağdan belirtilen biçim kadar kısmı işlenir, öncesi 10. alt elemana atılır. | SplitFormat ("NS140271.98", "--111111-22", @sonuc) @sonuc.1 = 140271 @sonuc.2 = 98 SplitFormat ("123456999", "111222*",@sonuc) @sonuc.1 = 123 @sonuc.2 = 456 @sonuc.10 = 999 | 1.0 |
SplitRegex | SplitRegex(metin, regex biçimi, sonuç değişkeni) | Verilen metni, istenen Regular Expression ifadesine göre sonuç değişkenlerine böler. Kullanılan Regular Expression ifadesi doğru tanımlanmalıdır. Regular Expression ifadesinde kullanılan her parantez, değişkenin alt elemanı olarak çıktı verir. | SplitRegex("SNO-AAA- 001","SNO-([A-Z]{3})[-.] (\d+)",@sonuc) @sonuc.1 = AAA @sonuc.2 = 001 | 1.0 |
Değişken. IsNumber | değişken.IsNumber | Verilen değişkenin sayı olup olmadığını belirler. Sayı ise 0 değilse -1 değerini döner | If(@kod.IsNumber="0", Goto(Detay),Goto (Hata)) | 1.0 |
Değişken. IsDate | değişken.IsDate | Verilen değişkenin tarih biçiminde olup olmadığını belirler. Tarih biçiminde ise 0 değilse -1 değerini döner. | If(@kod.IsDate="0", Goto(Detay),Goto (Hata)) | 1.0 |
Değişken. IsAlpha | değişken.IsAlpha | Verilen değişkenin (harflerden ve sayılardan oluşan) alfanumerik bir değer olup olmadığını belirler. Biçimi uygun ise 0 değilse -1 değerini döner | If(@kod.IsAlpha="0", Goto(Detay),Goto (Hata)) | 1.0 |
Değişken. Base64 | değişken.Base64 | Verilen değişkenin değerini Base64 olarak dönüştürür. | Text(1,1, @malzemekodu. Base64) | 1.2 |
Today | Today(tarih biçimi, sonuç değişkeni) | Günün tarihini verilen biçime uygun olarak sonuç değişkenine atar. Kullanılabilecek tarih biçimleri için şu dokümana başvurulabilir. | Today("dd.MM.yyyy", @bugun) | 1.0 |
Now | Now(tarih biçimi, sonuç değişkeni) | Şu anki tarih ve saat bilgisini verilen biçime uygun olarak sonuç değişkenine atar. Kullanılabilecek tarih biçimleri için şu dokümana başvurulabilir. | Now("hh:mm",@suan) | 1.0 |
FormatDate | FormatDate(gün,ay,yıl,biçim,sonuç değişkeni) | Verilen gün/ay/yıl değerleri ile belirtilen biçimde tarih oluşturur. Eğer tarih için uygun değerler verilmemişse geriye -1 değeri döner. | FormatDate(1,1,2000," yyyy-MM-dd",@tarih) | 1.0 |
FormatDateTime | FormatDateTime(gün,ay,yıl,saat, dakika, saniye,biçim,sonuç değişkeni) | Verilen gün/ay/yıl/saat/dakika/saniye değerleri ile belirtilen biçimde tarih oluşturur. Eğer tarih için uygun değerler verilmemişse geriye -1 değeri döner. | FormatDateTime (1,1,2000,12,12,0," yyyy-MM-dd hh:mm", @tarih) | 1.0 |
İşleyiş Komutları
Komut Adı | Kullanım Şekli | Açıklama | Örnek Kullanım | Eklendiği Sürüm |
---|---|---|---|---|
BeginForm /EndForm | BeginForm(Form adı) EndForm() | Script içinde yeni bir form(bölüm) tanımı yapmak için kullanılır. Form adında Türkçe karakterler kullanılmaz. | BeginForm(Giris) Text(1,1,"Hoşgeldiniz") EndForm() | 1.0 |
GoForm | GoForm(Form adı) | Scriptin işleyişini belirtilen forma yönlendirir. Sonraki akış gidilen formun içinde tarif edilmelidir. | GoForm(SiparisKabul) | 1.0 |
CallForm ReturnForm | CallForm(Form adı) ReturnForm() | Scriptin işleyişini belirtilen forma yönlendirir ve gidilen formda ReturnForm() satırını gördüğünde, çağıran formda kalınan satıra geri döner. | CallForm(Kontrol) Text(1,1,@kontrolsonucu) BeginForm(Kontrol) Set(@kontrolsonucu, 1+1) ReturnForm() EndForm() | 1.0 |
SetReturnLine ReturnLine | SetReturnLine() ReturnLine() | Bir formun içinde scriptin işleyişini değiştirmek için kullanılır. SetReturnLine() komutunun verildiği satır işaretlenir, form içinde başka bir yere işlem yönlendirildikten sonra ReturnLine() komutunu gördüğünde işaretlenmiş satıra döner. | SetReturnLine() if(@kontrolsonucu="",Goto(kontrol),Goto (devam)) ... kontrol: Set(@kontrolsonucu, 1+1) ReturnLine() | 1.0 |
KeyFunction | KeyFunction(tuş adı, komut) | Klavyedeki tuşlara komut atama yapmak için kullanılır. Tuş parametresi olarak, fonksiyon tuşları ya da ESC,TAB,DEL tuşları çift tırnak içinde yazılabilir. (Ör. "F1", "TAB","ESC","DEL") Komut parametresi olarak, basit STC komutlarının tamamı (parametresiz ya da tek parametreli) | KeyFunction("ESC",GoForm(SiparisKabul)) | 1.0 |
Goto | Goto(etiket adı) | Bir form içinde işleyişi belirtilen etikete yönlendirmek için kullanılır. | if(@deger="1",Goto(kontrol),Goto(devam)) | 1.0 |
CaseGoto | CaseGoto(değişken adı,JSON) | Verilen değişkenin değerine bağlı olarak belirtilen etikete gidilmesini sağlar. Değişkenin değeri ve gidilecek etiketin bilgileri JSON biçiminde tanımlanır. | CaseGoto(@sonuc,{"0":"LotGiris","1":" 1.0 MiktarGiris"}) | 1.0 |
If/Else/EndIf | If(koşul, komut, komut) If(koşul, komut) If(koşul) Else() EndIf() | Belirtilen koşula bağlı olarak işleyişi yönlendirir. Koşul bölümü AND/OR operatörlerini ve > < >= <= != işaretlerini destekler. İki şekilde kullanılır: 1- Tek satırda kullanıldığında, hem koşul hem de işletilecek komutlar belirtilir. Komut bölümlerinde parametre içermeyen ya da tek parametre içeren herhangi bir STC komutu yazılabilir. Etiketlere gitme özelliği GOTO komutuyla yapılır. 2- Else ve EndIf ile birlikte kullanıldığında yapılacak işlemler ilgili kod blokları arasına yazılabilir. İç içe If blokları oluşturulabilir. Tek satırda, tek komut parametresiyle çalışan şekli (if,komut) 1.2 sürümüyle eklenmiştir. | If(@fisturu=1,Clrscr(),Goto(Hata)) 1.0 If(@sonuc > 5 AND @sonuc < 10,Goto(Sec), Goto(Sil)) If(@fisturu=1,Goto(Hata)) // v1.2 den itibaren If(@sonuc=1) Text(1,1,"HATA") Else() Text(1,1,"TAMAM") EndIf() | 1.0 |
For/Next | For(değişken adı, başlangıç, bitiş, artış) Next() | Döngü ile işlem yapılmasını sağlar. Verilen değişken, döngü sırasında belirtilen artışa göre otomatik olarak değer alır. Döngü bittiğinde, değişken silinir. Eğer bir scriptte For komutu tanımlandıysa, Next() komutuna kadar bütün komutlar belirtilen sayıda tekrarlanır. İç içe FOR döngüleri oluşturulabilir. | For(@i,1,10) Text(1,@i,@[email protected]_adi) Next() | 1.0 |
ResetVariables | ResetVariables() ResetVariables(JSON) | Hafızadaki değişkenleri temizler. Tüm hafıza değişkenlerini ya da sadece istenen değişkenleri boşaltabilir, istenen değişkenler hariç tutulabilir. Bu komut, oturum boyunca geçerli olması gereken değişkenleri boşaltmaz. (Ör: @@Style) JSON biçimindeki parametrelerde aşağıdaki anahtarlar kullanılabilir: name : Özellikle temizlenmek istenen değişkenin adı except : Hariç tutulacak değişkenler Her iki anahtar için de, hem tek değer hem de bir dizi verilebilir. | ResetVariables() // tüm değişkenleri boşaltır ResetVariables({"name": "@CurrentItem"}) // tek bir değişkeni boşaltır ResetVariables({"name": ["@CurrentItem", "@carisorgu"]}) // sadece belli değişkenleri boşaltır ResetVariables({ "except" : ["@carisorgu", "@depo"] }) //belli değişkenler dışındakileri boşaltır LogVariables() | 1.0 |
LogVariables | LogVariables() | Terminal sunucu hafızasındaki kullanıcı oturumuna ait tüm değişkenleri log tablosuna/dosyasına json biçiminde yazar. Değişkenlerin hangi kullanıcı oturumuna ait olduğu da logda yer alır. | LogVariables() | 1.0 |
Print(rapor adı,yazıcı sıra no,kopya sayısı, parametreler) | Tanımlanmış rapor dosyalarının yazıcıdan yazdırılmasını sağlar. Rapor adı : Kullanıcı tanımlı raporun adı Yazıcı sıra no: SYS'de Yazıcı Tanımlarında yazıcıya ait sıra numarasıdır. 0 yazılırsa kullanıcıya tanımlı yazıcı seçilir. Kopya sayısı: Raporun kopya sayısı parametreler: Rapor içinde kullanılan parametrelere değerlerinin gönderildiği kısım. json formatında yazılır. | Print("Fis_Rapor",0,1, {"fis_id": @fisid,"belge_no" : "@belgeno"}) | 1.0 | |
Sql | Sql(metin olarak sorgu,sonuç değişkeni) Sql({"report": "sorgu raporu adı", "param1" :"değer1" }, sonuç değişkeni) | Veritabanında belirtilen metin ya da rapor sorgusunu çalıştırır. Dönen değerleri sonuç değişkenine yazar. İki şekilde kullanılabilir: 1- Metin sorgular : Sorgu metni çift tırnak içinde yazılır. 2- Kullanıcı tanımlı raporlar : JSON biçiminde çalıştırılacak rapor ve rapora gönderilecek parametreler tanımlanır. Sonuç değişkeninde aşağıdaki bilgiler bulunur: rowCount : Sorgudan dönen kayıt sayısı rows: Sorgudan dönen kayıtların listesi. Bu listede, 1 den başlayarak satır değerlerine ulaşılabilir. | Sql("SELECT COUNT(*) as SAYI from WorkOrderLine With(NOLOCK) where SlipId=@@WorkOrder.Id",@SatirSayisi) Sql({"report":"LotKontrol","TrackingNumber":" @LotNo"},@sonuc) If(@sonuc.rowCount = 0) Goto(Hata) Else() Text(1,1,"@sonuc.rows.1.Name") EndIf() | 1.0 |
Login | Login(kullanıcı adı, şifre) | Uygulamaya giriş yapmak için kullanılır. Sadece Telnet el terminallerinde ve gerekli olduğu durumlarda kullanılmalıdır. Terminal parametrelerinde "kullanıcı yetkilendirmesi" özelliği açıksa, bir işlem yapmaz. | Login("ali", "1") | 1.0 |
Logout | Logout() | Uygulamada açık olan kullanıcı oturumunu kapatmak için kullanılır. | Logout() | 1.0 |
Http | Http(metot, url, headerJSON bodyJSON, @sonuc) | Script içinden REST API çağrısı yapılmasını sağlar. url: Bağlanılacak API adresinin bilgisi. http ya da https ile başlayabilir. Çalıştırılacak işlem "url query string" kullanımını içeriyorsa, ilgili parametre değerleri url içinde verilir. headerJson : Yapılacak http isteğinin başlık bilgisi olarak gitmesi istenen bilgiler JSON biçiminde girilir. Basic authentication ya da JWT token gibi bilgiler için kullanılabilir. bodyJSON: Http isteğine değer olarak gönderilecek bilgiler JSON biçiminde girilir. sonuc: Yapılan isteğin sonucunda dönen bilgiler bu değişkene yazılır. Komutun sonucunda 200 cevabı geldiğinde result değeri olarak 0, diğer durumlarda -1 değeri yazılır. Message değeri olarak verilen hata bilgisi yazılır. | Set(@kullanicibilgi, "@kullaniciadi:@sifre") Set(@header, {"Content-Type":"application /json", "Authorization":"Basic @kullanicibilgi. base64"}) Set(@body, {"firmno":"@firma", "sessionId":" @id"}) Http("POST","http://server.com/api/v1 /token", @header,@body,@sonuc) //Query string Http("GET","http://server.com/api/v1/Items? code=@kod", @header,,@sonuc) | 1.0 |