You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

2- General Commands

Variable Operations Command (Set)

OperationUsageDescriptionExampleVersion

Assigning multiple values to the variable

Set(variable,

value)

It is used to assign a value to a variable. A fixed value or another variable can be given as a parameter.

Set(@barcode, "B0001")

Set(@sonLot,@lot)

1.0

Assigning multiple values to the variable

Set(variable,

JSON)

It is used to keep multiple values in the breakdown of a variable. The value to be assigned is written between the { } characters

and in a valid JSON format.

The arrays in JSON format are supported. If an array is given, the variable values are indexed as one row each.

If an object is not defined for array elements, the index number is used.

A fixed text or variable can be used in JSON.

Set(@stok,{"stk_kodu":1,"stk_name":"@materialname","stk_id":1})

Usage: @stok.stk_kodu

Set(@companies,{["A company", "B company", "C company"]})

Usage: @companies.0

Set(@liste,{"Lines" : [{"name": "Ali", "surname" : "Demir"}, {"name": "Ali",

"surname" : "Demir"}]});

Usage: @liste.Linelar.0.name

1.0

Text

combining

Set(variable,

text1+

text2)

It is used to combine two texts. Texts should be written between double quotes. A fixed text or variable can be written.

Set(@namesurname, "Ali " + "Kaya")

Set(@barcode, "P"+"@code")
1.0

Arithmetic

Operations

Set(variable,

number1+-/*

Supported operations: Addition (+ ), Subtraction ( - ), Multiplication (*), Division (/), Mode(%)

If a variable is to be used in operations, it is assumed that the variable is a number value.

If the result of the operation is incorrect, the value of the result variable is "ERR".

Set(@result,45 + 9)

Set(@result,@sayi1 - @sayi2)

Set(@result,@sayi % 5)

1.0

Style Operations

Set(@Style.

variable,

JSON)

This creates a style for the Text, ShowMessage, PopupView, TableView, MenuItem commands used to display information on the handheld terminal screen. Styles are defined as a variable under the @Style object.

Types of styles that can be used :

  • color : Text color - Background color (separated by line mark ( - ) with Telnet color names)

List of colors available for Android: https://docs.microsoft.com/trtr/dotnet/api/xamarin.forms.color?view=xamarin-forms

  • effect : Bold/Underline/Blink (Bold-Underline-Blink options can be used by separating them with a hyphen sign ( - ))
  • border : Border (For Telnet only. If this option is defined, at least 3 lines of space are used on the screen.)
    • None: No border
    • Single : Single line
    • Double: Double line
    • Dashed: Dashed line
    • Thick: Thick pattern
  • size : Text size (Only for Android) (Values that can be used: 1-Tiny, 2-Small, 3-Normal, 4-Large) If this feature is not used, the default value is considered as 2.

Default style values:

@Style.default.text (Default text style) : {"color" : "White-Black"}

@Style.default.border (Default frame style) : {"border" : "Single"}

@Style.default.title (Default title style, for commands that use a title) : {"color" : "White-Black"}

@Style.default.button1 (Default 1st left button style, for ShowMessage) : {"color" : "Black-White"}

@Style.default.button2 (Default 2nd left button style, for ShowMessage) : {"color" : "Black-White"}

@Style.default.button1 (Default 3rd left button style, for ShowMessage) : {"color" : "Black-White"}

@Style.default.menu (Default menu option style) : : {"color" : "White-Black"}

@Style.default.menuhover (Default selected menu option style) : {"color" : "Black-White"}

@Style.default.ColumnHeader (Default table column headers style) : : {"color" : "White-Black"}

These values are assigned with the values above when logged in, they can be changed by the user.

A style can be defined for each field shown in the TableView/PopupView command. The fields field added to the @Style variable is used for this job. In the PopupView/TableView definition, a style can be defined according to the number of field indexes under the fields element for each field to be displayed.

Set(@Style.Error, {"color" : "Black-White", "effect" : "Bold-Blink"})

Set(@Style.default.text, {"color" : "White-Red"})

Usage: Text(1,13, @MESAJ2,{"style":"@Style.Error"})



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


Text and Date Commands

Command Name

Usage

Description

ExampleVersion

Left

Left(text, number of characters, result variable)

Assigns the specified number of characters to the result variable starting from the left of the given text.

Left(@barcode,5,@materialcode)

1.0

Right

Right(text, number of characters, result variable)

Assigns the specified number of characters to the result variable starting from the right of the given text.

Right(@barcode,5,@materialcode)

1.0

Mid

Mid(text, start, length, result variable)

Assigns the specified number of characters to the result variable starting from the initial character of the given text.

Mid(@barcode,5,4, @materialcode)

1.0

Pos

Pos(searched value, json array or text, result variable)

Assigns the position of the searched value in a text or JSON array to the result variable.

If searching is performed in the text, it shows the character position, if searching is performed in the JSON array, it shows which elements of the array it is. In the JSON object, the array name is expected to be "param".

If the searched value is not found, "-1" returns as the result, if the operation is incorrect, the result is "ERR".

Pos("001","P001",

@result)

Result: 2

Pos("K03",{"param":

["K01","K02","K03"]},

@result)

Result:3

1.0

TrimLeft

TrimLeft(text,length, result variable)

Deletes the specified length from the left of the given text.

TrimLeft(@barcode,5,@materialcode)

1.0

PadRight

PadRight(text, length, character, result variable)

Adds the requested character in the specified length to the end of the given text.

PadRight("K01",5,"0",

@result)

Result: K0100000

1.0

Split

Split(text, bracket, result variable)

Divides the given text into parts by using the specified characters as brackets. Places the values in the breakdowns of the given result variable.

Split(@barcode, "-",

@codes)

Usage: @codes.1

1.0

SplitForm at

SplitFormat(text,format, result variable)

Divides the text into variables according to the given format. When defining the format, the numbers 1-9 represent the child elements of the variable to be generated. It transfers the parts marked as 1 to the 1st child element.

- character refers to sections that will not be included in the result.

* character is used at the beginning or at the end. If it is used, the remainder of the format length is transferred to the 10th lower element. If it is used at the beginning, the part of the text in the specified format on the right is processed. The remaining is transferred to the 10th child element.

SplitFormat

("NS140271.98",

"--111111-22",

@result)

@result.1 = 140271

@result.2 = 98

SplitFormat

("123456999",

"111222*",@result)

@result.1 = 123

@result.2 = 456

@result.10 = 999

1.0
SplitRegex

 SplitRegex(text, regex format, result variable)

Divides the given text into result variables according to the requested Regular Expression.

The used Regular Expression must be defined correctly.

Each parenthesis used in the Regular Expression outputs a child element of the variable.

SplitRegex("SNO-AAA-

001","SNO-([A-Z]{3})[-.]

(\d+)",@result)

@result.1 = AAA

@result.2 = 001

https://regex101.com

/r/klWTkq/2

1.0

Değişken.

IsNumber

variable.IsNumber

Specifies whether the given variable is a number. If it is a number, it returns 0; if not, it returns -1.

If(@code.IsNumber="0",

Goto(Detay),Goto

(Error))

1.0

Değişken.

IsDate

variable.IsDate

Specifies whether the given variable is a date. If it is in date format, it returns 0; if it is not, -1.

If(@code.IsDate="0",

Goto(Detay),Goto

(Error))

1.0

Değişken.

IsAlpha

variable.IsAlpha

Specifies whether the given variable (consisting of letters and numbers) is an alphanumeric value. If the format is appropriate it returns 0; if not, -1.

If(@code.IsAlpha="0",

Goto(Detay),Goto

(Error))

1.0

Değişken.

Base64

variable.Base64

Converts the value of the given variable to Base64.

Text(1,1,

@materialcode.

Base64)

1.2

Today

Today(date format, result variable)

Assigns the current date to the result variable in accordance with the given format. This document can be used for date formats that can be used.

Today("dd.MM.yyyy", 

@today)

1.0

Now

Now(date format, result variable)

Assigns the current date and time information to the result variable in accordance with the given format. This document can be used for date formats that can be used.

Now("hh:mm",@now)

1.0

FormatDate

FormatDate(day,month,year,format,result variable)

Creates a date in the specified format with the given day/month/year values. If the appropriate values for the date are not given, the -1 value returns.

FormatDate(1,1,2000,"

yyyy-MM-dd",@date)

1.0

FormatDateTime

FormatDateTime(day, month, year,hour, minute, second,format,result variable)

Creates a date in the specified format with the given day/month/year/minute/second values. If the appropriate values for the date are not given, the -1 value returns.

FormatDateTime 

(1,1,2000,12,12,0,"

yyyy-MM-dd hh:mm",

@date)

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)
kullanılabilir. (Ör. Goto(etiket), ClrScr(), Beep(), GoForm(form), CallForm(form))
Atanmış olan tuşların işlevi form boyunca geçerli kalır.

KeyFunction("ESC",GoForm(SiparisKabul))

1.0

GotoGoto(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 info JSON biçiminde tanımlanır.

CaseGoto(@result,{"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(Error)) 1.0 If(@result > 5 AND @result < 10,Goto(Sec), Goto(Sil))

If(@fisturu=1,Goto(Error)) // v1.2 den itibaren

If(@result=1)

Text(1,1,"Error")

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]_name)

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",

"@AR/APquery"]}) // sadece belli değişkenleri

boşaltır

ResetVariables({ "except" : ["@AR/APquery",

"@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

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,"document_no" : "@documentno"})

1.0

Sql

Sql(metin olarak query,sonuç

değişkeni)

Sql({"report": "query raporu

adı", "param1" :"değer1" },

sonuç değişkeni)

Veritabanında belirtilen metin ya da rapor querysunu çalıştırır. Dönen değerleri sonuç

değişkenine yazar.

İki şekilde kullanılabilir:


1- Metin querylar : query 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 info bulunur:

rowCount : querydan dönen kayıt sayısı

rows: querydan 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",@LineNumber)

Sql({"report":"LotControl","TrackingNumber":"

@LotNo"},@result)

If(@result.rowCount = 0)

Goto(Error)

Else()

Text(1,1,"@result.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
LogoutLogout() Uygulamada açık olan kullanıcı oturumunu kapatmak için kullanılır.Logout()1.0
Http

Http(metot, url, headerJSON

bodyJSON, @result)

Script içinden REST API çağrısı yapılmasını sağlar.

metot : GET, POST, PUT değerlerini alır.

url: Bağlanılacak API adresinin infosi. 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 infosi olarak gitmesi istenen info JSON biçiminde girilir. Basic authentication ya da JWT token gibi info için kullanılabilir.

bodyJSON: Http isteğine değer olarak gönderilecek info JSON biçiminde girilir.

sonuc: Yapılan isteğin sonucunda dönen info 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 Error infosi yazılır.

Set(@userinfo, "@username:@password")

Set(@header, {"Content-Type":"application

/json", "Authorization":"Basic @userinfo.

base64"})

Set(@body, {"firmno":"@company", "sessionId":"

@id"})

Http("POST","http://server.com/api/v1

/token", @header,@body,@result)

//Query string

Http("GET","http://server.com/api/v1/Items?

code=@code", @header,,@result)

1.0