Имя: Пароль:
1C
 
8.3 Не работает проверка, что форма открыта
0 Alex87r
 
02.03.19
20:04
Хай всем!

Использую такой код, чтобы форма всегда была открыта.
Код работает на 100% за исключением ситуации, когда в 1С открыта какая нибудь форма модально, которая блокирует весь интерфейс. Или когда открыто меню "Все функции". В данных ситуациях открывается еще одна форма обработки. И появляются проблемы(
Что можно сделать, кто подскажет?
Код в обработчике ожидания рабочего стола:

    Если Не ЗначениеЗаполнено(УИДФормыБанка) Тогда
        УИДФормыБанка = Новый УникальныйИдентификатор;
    КонецЕсли;    
    мФорма = ПолучитьФорму("Обработка.КлиентБанк.Форма",,ЭтаФорма,УИДФормыБанка);
    
    Если Не мФорма.Открыта() Тогда
        мФорма.Открыть();
    КонецЕсли;
1 Franchiser
 
гуру
02.03.19
20:09
Использовать параметры сеанса
2 Alex87r
 
02.03.19
20:56
(1) а что в параметрах сеанса хранить?
3 runoff_runoff
 
02.03.19
21:12
(2) в параметрах сеанса обычно хранятся параметры запросов RLS..
4 Alex87r
 
03.03.19
10:20
Я выкрутился вот так:

ОкнаПриложения = ПолучитьОкна();
    Для каждого ОкноПриложения Из ОкнаПриложения Цикл    
        Если Найти(ОкноПриложения.Заголовок, "Клиент банк") > 0 Тогда
            Возврат;        
        КонецЕсли;
    КонецЦикла;
Независимо от того, куда вы едете — это в гору и против ветра!