8.х Видимость формы

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем spiteful41, 13 окт 2008.

  1. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    Как програмно видимость у формы поставить = ложь? Можно как-нибудь это сделать?
  2. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    А как это интерактивно сделать? В чем смысл открытия невидимой формы? Имхо, в 1С вообще у форм нет такого свойства. Наверняка есть другие решения поставленой задачи.
    Например, если нужно что-то выполнить так, чтобы форму было не видно, можно использовать событие "ПередОткрытием"

    Код:
    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    //Тут делаем чего нам нужно
    Отказ = Истина;
    КонецПроцедуры
    
    
    И форму мы не увидели.
    Или в другой форме или модуле:
    Код:
    НужнаяФорма = ОбъектСНужнойФормой.ПолучитьФорму(ИмяФормы);
    
    Пока не выполним метод
    Код:
    НужнаяФорма.Открыть();
    
    Форму не видим, но получаем доступ ко всем свойствам и методам формы и ее реквизитов.
  3. GRUV
    Offline

    GRUV Опытный в 1С

    Регистрация:
    7 ноя 2007
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    Форма.Закрыть();
    Форма.Открыть();
  4. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    У формы есть в свойствах Видимость. но вот как программно эту галочку убрать?)) Мне это нужно, потому что работает метод оповестить.
  5. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Свойство Видимость в форме не имеет отношения к самой форме. Посмотрите описание свойства внимательно.

    Этот флаг управляется программно так:
    Код:
    ЭтаФорма.ТекущийЭлемент.ТекущаяСтраница.Видимость = Ложь;
    ЭтаФорма.ТекущийЭлемент.ТекущаяСтраница.Видимость = Истина;
    
    
    При этом форма будет открыта, но все элементы формы, расположенные на вышеописанной старнице, будут не видны.
  6. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    А-а-а-а! Вот в чем фишка!Блин(((((((LxS, спасибо тебе,все время мне дельные советы даешь))блин,а как же можно ее скрыть? Уже пробывал длину и ширину в нулевое значение ставить(Придется процедуру переписывать? Других способов нет?
  7. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Опиши, зачем тебе это надо, подробно.
    Есть процедура формы ПередОткрытием().
    Ты в нее можешь запихнуть код. Пока процесс выполнения кода будет жить в этой процедуре, форма не откроется.

    Соответственно, если в итоге тебе не надо ее будет открывать, тогда Отказ = Истина.
  8. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    Всё я понял)))Так и сделаю. Я просто думал мож тут как и в других языках у формы есть видимость)

Поделиться этой страницей