Skip to content
js
ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "СКРЫТЬОКНОПРИЛОЖЕНИЯ" );

СКРЫТЬОКНОПРИЛОЖЕНИЯ/HIDEMAINWINDOW - скрывает окно приложения
ПОКАЗАТЬОКНОПРИЛОЖЕНИЯ/SHOWMAINWINDOW показывает окно приложения
УБРАТЬСТИЛЬОКНА/REMOVEWINDOWSTYLE - убирает стиль окна WindowStaysOnTop = 0x00040000
ДОБАВИТЬСТИЛЬОКНА/ADDWINDOWSTYLE - добавляет стиль окна
ДЕАКТИВИРОВАТЬ/DISABLE - делает окно неактивным
АКТИВИРОВАТЬ/ENABLE - возвращает активность окна

Позже добавлено - ПОЛУЧИТЬСТИЛИОКНА Возвращает переменную _СТИЛИОКНА

Проверка наличия модальности IF ( _СТИЛИОКНА & 262144 ) или ЕстьСтиль = ( _СТИЛИОКНА & 262144 ) != 0;

js
ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "ПОЛУЧИТЬСТИЛИОКНА" );
ЕстьМодальныйРежим = ( _СТИЛИОКНА & 262144 ) != 0;

//до (проверка модальности)
IF ( ЕстьМодальныйРежим )
{
	ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "УБРАТЬСТИЛЬОКНА", 262144 );
	ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "ПОКАЗАТЬОКНОПРИЛОЖЕНИЯ" );
}

//после (восстановление модальности, если был установлен)
IF ( ЕстьМодальныйРежим )
{
	ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "ДОБАВИТЬСТИЛЬОКНА", 262144 );
	ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "ПОКАЗАТЬОКНОПРИЛОЖЕНИЯ" );
}

Пример в модуле оплаты по Сберу: //перед оплатой

js
ЭТОРМК = ПЕРЕМЕННАЯ( "_МРП", "0" ) == "2";
ЕстьМодальныйРежим = false;

IF ( ЭТОРМК )
{
	//получим стили окна РМК
	ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "ПОЛУЧИТЬСТИЛИОКНА" );
	ЕстьМодальныйРежим = ( _СТИЛИОКНА & 262144 ) != 0; //проверка включен ли вывод поверх всех окон
	
	IF ( ЕстьМодальныйРежим )
	{
		//если импользуется вывод поверх всех окон, то уберем модальный режим перед оплатой
		ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "УБРАТЬСТИЛЬОКНА", 262144 );
		ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "ПОКАЗАТЬОКНОПРИЛОЖЕНИЯ" );
	}
}

//после (восстановление модальности)

//если был включен вывод поверх всех окон, то возвращаем его
IF ( ЭТОРМК AND ЕстьМодальныйРежим )
{
	ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "ДОБАВИТЬСТИЛЬОКНА", 262144 );
	ОТПРАВИТЬСООБЩЕНИЕ( _ГЛАВНОЕОКНОПРИЛОЖЕНИЯ, _СООБЩЕНИЕВЫПОЛНИТЬКОМАНДУ, "ПОКАЗАТЬОКНОПРИЛОЖЕНИЯ" );
}

//готовый вариант для БФ ФР

РЕЖИММОДАЛЬНОСТИ = false;
ФР.РМКОтключитьРежимМодальности( @РЕЖИММОДАЛЬНОСТИ );

//если был включен вывод поверх всех окон, то возвращаем его
ФР.РМКВключитьРежимМодальности( РЕЖИММОДАЛЬНОСТИ );