Версия для печати темы (https://pro1c.org.ua/index.php?s=a74bd2a6ac28334832a91482a77a5d86&showtopic=67006)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Обычные формы: как открытое ранее окно сделать активным

Автор: kserg2012 22.06.22, 10:23

Добрый день
"Управление производственным предприятием для Украины", редакция 1.2
Разработка конфигурации: "ABBYY Ukraine", 2005-2007 (1.2.6.7)

Имеем:
- при запуске в процедуре ПриНачалеРаботыСистемы у пользователя в зависимости от условий может открываться общая форма ФормаНапоминания для вывода напоминания о имеющемся назначенном Событии
- также ниже в коде открывается дополнительная обработка типа "Рабочее место менеджера" (свойство СостояниеОкна = Обычное)

Получается, после запуска предприятия у пользователя открыто 2 окна, причем активным является "Рабочее место"

Подскажите, как сделать, чтобы после старта открывшееся окно Напоминания было активным ?

kserg2012 @ Сегодня, 11:14 * ,
что пробовал:

-поменять места вызов открытия форм (вначале Рабочее место, затем форму Напоминалки) - не помогло

-пытался изменить для формы напоминания свойство СостояниеОкна - не помогло

    Если РольДоступна("Менеджер") Тогда
        ЭтаФорма.РазрешитьСостояниеСвободное=Истина;
        ЭтаФорма.СостояниеОкна = ВариантСостоянияОкна.Свободное;
    КонецЕсли;

Автор: volodya1122 22.06.22, 13:40

kserg2012 @ Сегодня, 11:23 * ,

Взагалі то не повинно бути такого. Тільки що перевірив- форми відкриваються в тому порядку як завів в процедурі ПриНачалеРаботыСистемы

Що можна ще перевірити:
1. Чи дійсно в конфігураторі вказана правильна послідовність виклику форм. Можливо нижче по коду ще раз викликається форма
2. Можливо одна форма відкривається довше іншої, і тому активно. стає не та що потрібно. Попробувати після виклику відкриття першої форми поставити невеличку паузу - для перевірки цієї версії.

Автор: volodya1122 23.06.22, 10:36

ще так можна спробувати зробити

Отч1=Отчеты.Отчет1.Создать();
Отч1.ПолучитьФорму("ФормаОтчета").Открыть();

Отч2=Отчеты.Отчет2.Создать();
Отч2.ПолучитьФорму("ФормаОтчета").Открыть();

НужнаяАктивнаяФорма=Отч1.ПолучитьФорму();
НужнаяАктивнаяФорма.Активизировать();

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua