Имя: Пароль:
1C
1С v8
Открытие формы при старте системы
0 АЛьФ
 
09.04.25
17:06
При открытии формы, помимо обработки рабочего стола, надо открыть еще две формы:

Процедура ПриНачалеРаботыСистемы()
    ОкноРабочегоСтола = Неопределено;
    Окна = ПолучитьОкна();
    Для Каждого Окно Из Окна Цикл
        Если Окно.Основное Тогда
            ОкноРабочегоСтола = Окно;
        КонецЕсли;
    КонецЦикла;
    Если ОкноРабочегоСтола <> Неопределено Тогда
        ОткрытьФорму("ОбщаяФорма.ДополнительныйРабочийСтол_1",,,, ОкноРабочегоСтола,,, РежимОткрытияОкнаФормы.Независимый);
        ОткрытьФорму("ОбщаяФорма.ДополнительныйРабочийСтол_2",,,, ОкноРабочегоСтола,,, РежимОткрытияОкнаФормы.Независимый);
    КонецЕсли;
КонецПроцедуры

Вроде как все работает нормально. Но! Если в ПриОткрытии в форме ОбщаяФорма.ДополнительныйРабочийСтол_1 вызвать ПоказатьПредупреждение, то вторая форма открывается, используя в качестве владельца это самое окно предупреждения.

Можно как-то побороть простыми методами?
1 ldo6
 
09.04.25
17:20
Обработчик ожидания повесь в форме 1 и на нем открывай, может сработает
2 АЛьФ
 
10.04.25
14:00
2(1) Спасибо за совет. Не очень для нас подходит обработчик ожидания.
3 Kigo_Kigo
 
10.04.25
14:23
ну тогда вызывай форму обработки и пиши там свое предупреждение- аля закос под предупреждение
4 АЛьФ
 
10.04.25
14:30
2(3) Как-то очень жестко для такой простой проблемы. Тогда уж отказаться от предупреждения и валить в Сообщить.
5 Kigo_Kigo
 
10.04.25
14:38
(4) Это я тебе сначало хотел и предложить, но ты мальчик взрослый, я думаю что тебя такой варик уже не устраивал и ты спросил на форуме, потому как бывают ситуации когда пользаку надо в лоб предупреждением дать, что бы он его заметил
6 АЛьФ
 
10.04.25
14:42
2(5) Все верно. Надо именно ткнуть в глаза и заставить отреагировать на предупреждение. Но только пользователя с определенной функцией. Т.е. очень узкая задача и проще отказаться от очевидного тыканья, чем городить специальную форму. Была еще мысль прям на форме сделать слой с предупреждением и переключаться на него.
7 Мультук
 
гуру
10.04.25
15:09
(2)

Разовый обработчик ожидания, буквально на 0,5 сек
Лишь бы вторая форма успела открыться.

Или "всё печально" ?
8 АЛьФ
 
10.04.25
15:12
2(7) Попробуем.
9 АЛьФ
 
10.04.25
15:16
В итоге плюнули и поменяли местами открытия форм. Во второй точно никаких предупреждений не будет.
Всем спасибо.
10 Kigo_Kigo
 
10.04.25
15:53
(9) А че так можно было? :)
11 Бычье сердце
 
10.04.25
17:17
(9)
Куда плюнули?
12 АЛьФ
 
11.04.25
11:53
2(10) Сам в шоке.
2(11) В душу разработчикам "восьмерки".
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший