Имя: Пароль:
1C
 
Как найти открытую форму?
0 Bobroff
 
08.08.06
14:51
Отрываю формы, которая имеет уникальный идентификатор. Только что-то не нашёл функции поиска уже открытой формы. Как найти?
1 Волшебник
 
08.08.06
14:52
ПолучитьФорму()
2 Bobroff
 
08.08.06
15:00
(1) спасибо... чего-то я ступил...
3 Bobroff
 
08.08.06
15:14
правда, чего-то не пашет... Есть код, который открывает форму:
ФормаПодбора = Обработки.ПодборНоменклатурыИВрача.ПолучитьФорму("ОсновнаяФорма",ЭтаФорма,"ФормаПодбораВрачаИНоменклатурыИзРозничнойПродажи");
ФормаПодбора.СписокНоменклатурыДляПодбора=СписокНоменклатуры;
ФормаПодбора.ЗакрыватьПриВыборе = Ложь;
ФормаПодбора.Открыть();

Дальше идёт код, который должен её искать:
Форма=Обработки.ПодборНоменклатурыИВрача.ПолучитьФорму(,,"ФормаПодбораВрачаИНоменклатурыИзРозничнойПродажи");

Если Форма.Открыта() Тогда
   Форма.Открыть();
КонецЕсли;

Но, он не находит эту форму? Почему?
4 Bobroff
 
08.08.06
15:18
..т.е. форму находит, но не реагирует на код: Форма.Открыта()
5 GROOVY
 
08.08.06
15:20
Если Форма.Открыта() Тогда
   Форма.Активизировать();
КонецЕсли;
(с) Советует преподаватель ЦСО
6 Bobroff
 
08.08.06
15:23
(5) в том то и дело, что он не видит, что форма открыта, даже если она открыта... т.е Форма.Открыта() всегда возвращаеть Ложь...
7 GROOVY
 
08.08.06
15:31
Так значит она закрыта.
8 Bobroff
 
08.08.06
15:31
(7) она точно открыта...
9 GROOVY
 
08.08.06
15:35
А почему не написать так:
Форма = Обработки.ПодборНоменклатурыИВрача.ПолучитьФорму("ОсновнаяФорма",ЭтаФорма,"ФормаПодбораВрачаИНоменклатурыИзРозничнойПродажи");
Если Форма.Открыта() Тогда
   Форма.Активизировать();
КонецЕсли;
10 Bobroff
 
08.08.06
15:37
(9) не срабатывает, т.к. даже если форма открыта, то дальше кода Форма.Открыта() цикл не идёт...
11 Neco
 
08.08.06
15:47
(10) Что еще за цикл?
В (9) должно сработать
12 Bobroff
 
08.08.06
15:49
(11) - в (9) не срабатывает, не видит что форма Открыта..
13 Neco
 
08.08.06
15:56
(12) Если Форму открыть так:

Форма = Обработки.ПодборНоменклатурыИВрача.ПолучитьФорму("ОсновнаяФорма",ЭтаФорма,"ФормаПодбораВрачаИНоменклатурыИзРозничнойПродажи");
Форма.Открыть();

, а потом выполнить (11) то все сработает