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