# Операторы управления скриптом

Скрипт Qlik Sense состоит из ряда операторов. Оператор может быть обычным оператором скрипта или оператором управления скриптом.

Операторы управления обычно используются для управления ходом выполнения скрипта. Каждое предложение оператора управления должно находиться в пределах одной строки скрипта и может завершаться точкой с запятой или концом строки.

Префиксы никогда не применяются к операторам управления, за исключением префиксов when и unless, которые могут использоваться с несколькими конкретными операторами управления.

Все ключевые слова скрипта можно вводить в любом сочетании символов нижнего и верхнего регистра.

Пользуйтесь информацией из раскрывающегося списка по каждой функции, чтобы увидеть краткое описание и синтаксис каждой функции. Дополнительную информацию можно получить, если щелкнуть имя функции в описании синтаксиса.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/script-control-statements.htm)

#### Call

Оператор управления call вызывает подпрограмму, которую необходимо задать с помощью предыдущего оператора sub.

[**Call**](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/Call.htm) name ( [ paramlist ])

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/script-control-statements.htm)

#### Do..loop

Оператор управления do..loop является компонентом итерации скрипта, который выполняет один или несколько операторов до выполнения логического условия.

[**do**](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/do.htm) [ ( while | until ) condition ] [statements]  
[exit do [ ( when | unless ) condition ] [statements]  
loop [ ( while | until ) condition ]

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/script-control-statements.htm)

#### Exit script

Этот оператор управления останавливает выполнение скрипта. Его можно вставить в любое место скрипта.

[**exit script**](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/exit%20script.htm)[ (when | unless) condition ]

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/script-control-statements.htm)

#### Exit error

Оператор Exit error завершает выполнение скрипта и вызывает пользовательскую ошибку скрипта.

[**exit error**](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/exit%20error.htm) expression [ (when | unless) condition ]

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/script-control-statements.htm)

#### For each ..next

Оператор управления for each..next является компонентом итерации скрипта, который выполняет один или несколько операторов для каждого значения в списке, разделенном запятой. Операторы внутри цикла, заключенного с помощью for и next, выполняются для каждого значения списка.

[**For Each**](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/For%20Each.htm) var in list

[statements]

[exit for [ ( when | unless ) condition ]

[statements]

next [var]

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/script-control-statements.htm)

#### For..next

Оператор управления for..next представляет собой компонент итерации скрипта со счетчиком. Операторы внутри цикла, которые находятся между разделами for и next, будут выполняться для каждого значения переменной счетчика в пределах указанных минимального и максимального значений.

[**For**](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/For.htm)counter = expr1 to expr2 [ stepexpr3 ]

[statements]

[exit for [ ( when | unless ) condition ]

[statements]

Next [counter]

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/script-control-statements.htm)

#### If..then

Оператор управления if..then является компонентом выбора скрипта, который позволяет выполнять скрипт по различным путям в зависимости от одного или нескольких логических условий.

Примечание к информацииПоскольку оператор if..then является оператором управления и, как таковой, завершается точкой с запятой или концом строки, каждое из его четырех возможных предложений (if..then, elseif..then, else и end if) не должно пересекать границу строки.

[**If**](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/If.htm) condition then

[ statements ]

{ elseif condition then

[ statements ] }

[ else

[ statements ] ]

end if

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/script-control-statements.htm)

#### Sub

Оператор управления sub..end sub определяет подпрограмму, которая должна вызываться оператором call.

[**Sub**](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/Sub.htm) name [ ( paramlist )] statements end sub

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/script-control-statements.htm)

#### Switch

Оператор управления switch является компонентом выбора скрипта, который позволяет выполнять скрипт по различным путям в зависимости от значения выражения.

[**Switch**](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/Switch.htm) expression {case valuelist [ statements ]} [default statements] end switch