Перейти к основному содержимому
Версия: 7.0

Оператор CLOSE FORM

Оператор CLOSE FORM - создание действия, которое закрывает открытые в интерактивном представлении формы, названные заданным адресом.

Синтаксис​

CLOSE FORM formAddress

Где formAddress - одно из:

[formLabel =] formName [WINDOW windowName]
formLabel [WINDOW windowName]
WINDOW windowName

Описание​

Оператор CLOSE FORM создаёт действие, которое закрывает у пользователя все открытые формы, названные адресом (в виде запроса клиенту). Действие не имеет параметров и не использует контекст. Закрытие - это запрос: форма с несохранёнными изменениями спрашивает пользователя и может остаться открытой. Если адрес не называет ни одной открытой формы, действие не имеет эффекта.

Адрес называет форму любым сочетанием метки, с которой она была открыта, её имени и окна, в которое она была открыта; хотя бы одно из трёх должно быть указано, а неуказанная часть адрес не сужает.

Параметры​

  • formLabel

    Строковый литерал - метка, с которой форма была открыта оператором SHOW. Одну и ту же метку могут нести несколько открытых форм, и закрываются все они. Если не указана, формы закрываются с любой меткой.

  • formName

    Имя формы. Составной идентификатор. Если не указано, закрываются формы с любым именем.

  • windowName

    Имя окна FORMS, в которое была открыта форма. Составной идентификатор. Если не указано, форма ищется во всех окнах. Мобильный веб-клиент и десктоп-клиент, которые рисуют одно окно System.forms, эту часть не учитывают.

Примеры​

FORM orders
OBJECTS o = Order
PROPERTIES(o) number, customer
;

// открытие формы с идентификатором экземпляра
openOrders () {
SHOW 'ordersInstance' = orders NOWAIT;
}

// закрытие ранее открытой формы по её метке
closeOrders () {
CLOSE FORM 'ordersInstance';
}

WINDOW workspace FORMS;

// все открытые orders, с любой меткой
closeAllOrders () {
CLOSE FORM orders;
}

// всё, что открыто в окне, - так окно очищается
clearWorkspace () {
CLOSE FORM WINDOW workspace;
}