0
Новичок111
16.02.12
✎
16:53
|
В УП есть метод Активизировать(), применяется как к форме, так и к окну, описание в СП предельно короткое для обоих случаев: одно предложение в 4 и 3 слова соотв-но.
Но как это работает, совершенно непонятно.
Например, создаю команду для открытия объекта и модуле прописываю:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
// Вставить содержимое обработчика.
Форма = ПолучитьФорму("ЖурналДокументов.Закупки.ФормаСписка",,,, ВариантОткрытияОкна.ОтдельноеОкно);
Если Форма.Открыта() Тогда
Форма.Окно.Активизировать();
Иначе
Форма.Открыть();
КонецЕсли;
КонецПроцедуры
При 1 срабатывании форма открывается в отдельном окне Windows, щелкаю мышкой на свободном пространстве вне этого окна, оно исчезает с экрана, но при повторном срабатывании команды, когда уже выполняется условие Если Форма.Открыта(), ничего не активизируется, т.е. не показывается на экране.
если заменяю код на
Форма.Активизировать();
- то же самое.
Так как мне активизировать уже открытое окно, причем открытое в варианте ОтдельноеОкно?
|
|
1
jump if zero
16.02.12
✎
17:33
|
как то так получилось
&НаКлиенте
Процедура Команда1(Команда)
Форма = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента",,,,ВариантОткрытияОкна.ОтдельноеОкно);
Если НЕ Форма.Открыта() Тогда
Форма.Открыть();
Иначе
Для каждого Окно Из ПолучитьОкна() Цикл
Содержимое = Окно.ПолучитьСодержимое();
Если Содержимое = Неопределено Тогда
Продолжить;
КонецЕсли;
Если Содержимое.ИмяФормы = "Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента" Тогда
Окно.Активизировать();
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
|
|
2
Новичок111
16.02.12
✎
18:18
|
(1) неа, не прокатило
сдается мне этот вариант
ВариантОткрытияОкна.ОтдельноеОкно
еще не отлажен в платформе (сейчас у меня 8.2.14.528), в типовых решениях вы его не встретите, а вот заказчику захотелось...
|
|