Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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(@lastLot,@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(@stock,{"stk_code":1,"stk_name":"@materialname","stk_id":1})

Usage: @stock.stk_code

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

Usage: @companies.0

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

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

Usage: @list.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,@number1 - @number2)

Set(@result,@number % 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@MESSAGE2,{"style":"@Style.Error"})



Set(@Style.title, {"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(@list.rows,{"mode":"card","title":"Customer List"," fields":["Code|Code|10|L","Title|Title|20|L","City|City|10|L"], "style":"@Style.popup"},@selection

1.0

1.2 for Android

...

Command Name

Usage

Description

Example

Version

BeginForm /EndForm

BeginForm(Form name) EndForm()

It is used to define a new form(section) in the script. Turkish characters are not used in the form name.

BeginForm(Entry)

Text(1,1,"Welcome")

EndForm()

1.0

GoForm

GoForm(Form name)

Directs the operation of the script to the specified form. The next flow should be described in the target form.

GoForm(OrderAcceptance)

1.0

CallForm 

ReturnForm

CallForm(Form name)

ReturnForm()

It redirects the script to the specified form, and when it encounters the ReturnForm() line in the form, it returns to the last line in the calling form.

CallForm(control)

Text(1,1,@controlresult)

BeginForm(control)

Set(@controlresult, 1+1)

ReturnForm()

EndForm()

1.0

SetReturnLine

ReturnLine

SetReturnLine()

ReturnLine()

It is used to change the operation of the script in a form. The line where the SetReturnLine() command is given is marked, and after redirecting the operation to another location in the form, it returns to the marked line when it encounters the ReturnLine() command.

SetReturnLine()

if(@controlresult="",Goto(control),Goto

(cont.))

...

control:

Set(@controlresult, 1+1)

ReturnLine()

1.0

KeyFunction

KeyFunction(button name, command)

It is used to assign commands to the keys on the keyboard.

As a key parameter, the function keys or the ESC, TAB, DEL keys can be written between double quotes.

(For example: "F1", "TAB","ESC","DEL")

As a command parameter, all simple STC commands (without parameters or with one parameter) can be used.

(For example: Goto(tag), ClrScr(), Beep(), GoForm(form), CallForm(form))
The function of the assigned keys remains valid throughout the form.

KeyFunction("ESC",GoForm(OrderAcceptance))

1.0

GotoGoto(tag name)It is used to redirect the operation in a form to the specified tag.if(@value="1",Goto(control),Goto(cont.))1.0

CaseGoto

CaseGoto(variable name,JSON)

Navigates to the specified tag by the value of the given variable. The value of the variable and the info of the target tag are defined in JSON format.

CaseGoto(@result,{"0":"LotEntry","1":" 1.0 QuantityEntry"})

1.0

If/Else/EndIf

If(condition, command, command)

If(condition, command)

If(condition)

Else()

EndIf()

It maintains the running by the specified condition. The condition section contains the AND/OR operators and supports > < >= <= != signs.

It can be used as follows:

1- When used in a single line, both the condition and the commands to be executed are specified.

An STC command that does not contain parameters or contains a single parameter can be written in the command sections. The GOTO command is used to go to tags.

2- When used with Else and EndIf, the operations to be performed can be written between the related code blocks.

The nested If blocks can be created.

The type, which works on a single line with a single command parameter (if, command) was added in version 1.2.

If(@sliptype=1,Clrscr(),Goto(Error)) 1.0 If(@result > 5 AND @result < 10,Goto(Sec), Goto(Delete))

If(@sliptype=1,Goto(Error)) // from v1.2 

If(@result=1)

Text(1,1,"Error")

Else()

Text(1,1,"OK")

EndIf()

1.0

For/Next

For(variable name, start,

end, increase)

Next()

It allows operation with a loop.

The specified variable automatically receives values according to the specified increase during the cycle. When the loop ends, the variable is deleted.

If the For command is defined in a script, all commands by the Next() command are repeated the specified number of times.

The nested FOR loops can be created.

For(@i,1,10)                                   

Text(1,@i,@[email protected]_name)

Next()

1.0

ResetVariables

ResetVariables()

ResetVariables(JSON)

Resets variables in the memory. It can reset all memory variables or just the requested variables, the requested variables can be excluded.

This command does not reset the variables that should be valid throughout the session. (For example: @@Style)

The following keys can be used for parameters in JSON format:

name: Especially, the name of the variable to reset

except: Variables to exclude

For both keys, both a single value and an array can be given.

ResetVariables() // Resets all variables.

ResetVariables({"name": "@CurrentItem"}) //

Resets a single variable.

ResetVariables({"name": ["@CurrentItem",

"@AR/APquery"]}) // Resets the specified variables.

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

"@depo"] }) //Resets the variables except the specified variables.

LogVariables()

1.0

LogVariables

LogVariables()

The terminal writes all the variables of the user session in the server memory to the log table/file in JSON format. Which user session the variables belong to is also included in the log.

LogVariables()1.0

Print

Print(report name,printer sequence number,number of copies, parameters)

Prints the defined report files via the printer.

Report name : The name of the user-defined report

Printer sequence number: This is the sequence number of the printer in the Printer Definitions in SYS. If 0 is written, the user-defined printer is selected. 

Number of copies: Number of copies of the report

Parameters: The part where the values of the parameters used in the report are sent. it is written in JSON format.

Print("Slip_Report",0,1, {"Slip_id": @fisid,"document_no" : "@documentno"})

1.0

Sql

Sql(text query, result

variable)

Sql({"report": "query report

name", "param1" :"value1" },

result variable)

Runs the text or report queries specified in the database. It writes the returning values to the result variable. 

It can be used as follows:

1- Text queries: The query text is written between double quotes.

2- User-defined reports: The report to be executed in JSON format and the parameters sent to the report are defined.

The result variable has the following info:

rowCount: the number of records returned from the query

rows: list of records returned from the query. In this list, row values starting from 1 can be accessed.

Sql("SELECT COUNT(*) as NUMBER 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ıuser name, şifrepassword)

It is used to log in to the application. It should only be used on Telnet handheld terminals and when necessary. If the "user authorization" feature is turned on in the terminal parameters, it will not perform an operation.

Login("ali", "1")1.0
LogoutLogout()It is used to close the user session that is open in the application.Logout()1.0
Http

Http(metot, url, headerJSON

bodyJSON, @result)

It allows a REST API call in the script.

method: GET, POST, PUT values.

url: Info of the API address to be connected. It can start with http or https. If the operation to be executed involves the use of "url query string", the related parameter values are given in the url.

headerJson : The information for the header information of the http request is entered in JSON format. It can be used for information such as basic authentication or JWT token.

bodyJSON: The information to be sent as the value of the http request is entered in JSON format.

result: The information returned as a result of the request is written to this variable.

When the result of the command is 200, the result value is written as 0, in other cases, it is -1. The Error information given as the Message value is written.

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

...