Имя: Пароль:
1C
 
Не открывать формы если уже есть открытая форма
0 Dmitri446
 
07.12.17
19:56
Подскажите как сделать такую штуку, если открыта форма допустим ФормаЭлемента справочника и мы пытаемся открыть эту же форму не открывать еще одну такую же форму а просто переключаться на уже открытую?
1 Lexey_
 
07.12.17
20:25
(0) должен быть одинаковый ключ уникальности
2 Tateossian
 
07.12.17
20:25
Если Форма.Открыта() Тогда
Форма.Активизировать() Иначе
Форма.Открыть()
КонецЕчли
3 Lexey_
 
07.12.17
20:25
(0) А вообще, это поведение платформы по умолчанию
4 Cyberhawk
 
07.12.17
20:27
Видимо уже открытая форма открыта через *овнокод, либо новую форму открываешь через оный
5 Cyberhawk
 
07.12.17
20:27
Ну а отвечая на вопрос - используй везде метод ОткрытьФорму
6 Dmitri446
 
07.12.17
21:49
(2) Форма = ПолучитьФорму("ОбщаяФорма.Форма");
    Форма.РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
    
    Если Форма.Открыта() Тогда
        Форма.Активизировать();
    Иначе
        ОткрытьФорму(Форма);
        КонецЕсли;

Не работает, сразу идет в ветку иначе
7 runoff_runoff
 
07.12.17
22:29
(6) ну, правильно.. форма-то еще не открыта.. а только получена..
8 runoff_runoff
 
07.12.17
22:30
на самом деле ПриПовторномОткрытии, либо Окна
9 Dmitri446
 
07.12.17
22:39
(8) я форму открываю в общем модуле
10 Dmitri446
 
07.12.17
22:45
(8) понял о чем вы, но ПриПовторномОткрытии почему то не срабатывает
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший