|
Проверить открыта форма или нет |
☑ |
0
squall84
25.03.20
✎
10:00
|
Нужно при проведении документа, создать другой на основании.
Пишу в обработке проведения:
[CODE]Если НЕ Отказ Тогда
Если СодержимоеДМ Тогда
ДокументДМ=Документы.ДвижениеДрагоценныхМатериалов.СоздатьДокумент();
ДокументДМ.ДокументОснование=ЭтотОбъект.Ссылка;
ДокументДМ.Заполнить(ЭтотОбъект.Ссылка);
ФормаДМ = ДокументДМ.ПолучитьФорму("ФормаДокумента",ЭтотОбъект.ПолучитьФорму("ФормаДокумента"), "Уникальность");
Если НЕ ФормаДМ.Открыта() Тогда
ФормаДМ.Открыть();
КонецЕсли;
КонецЕсли;
КонецЕсли;
[/CODE]
ФормаДМ.Открыта() - всегда ложь, независимо от того, что я устанавливаю ПолучитьФорму. Судя по отладчику, ключ уникальности записывается в форму, и владелец записывается, но получается, что всегда форма закрыта.
Пробовал в процедуре ПередОткрытие дать отказ:
[CODE]
Если ЭтаФорма.КлючУникальности="Уникальность" И ЭтаФорма.Открыта() Тогда
Отказ=Истина;
КонецЕсли;
[/CODE]
Тоже самое. Ключ уникальности в форме есть, владелец есть. Но ЭтаФорма.Открыта() все-равно ложь.
Не пойму, что не так?
|
|
1
squall84
25.03.20
✎
10:04
|
1с УПП. Обычные формы.
|
|
2
mikecool
25.03.20
✎
10:08
|
Форма.Открыта()
|
|
3
mikecool
25.03.20
✎
10:08
|
+2 потому что ключ уникальности
|
|
4
Сияющий в темноте
25.03.20
✎
10:09
|
а зачем при получении формы документа передавать ей форму тееущего документа?
и,если документ только создан,то явно,что у него нет открытой формы ?
наверное,целью было проверить,а нет ли такого уже созданного?
|
|
5
mikecool
25.03.20
✎
10:09
|
а вообще - затея в (0) бред
|
|
6
squall84
25.03.20
✎
10:13
|
(4) (5) Цель такая.
Когда я провожу документ, открывается форма документа созданного на основании. Если я еще раз нажму проведение, то снова откроется форма документа созданного на основании. И так до бесконечности.
Я хочу сделать, к в стандартном механизме. Если я выбираю - создать на основании, то открывается форма создаваемого документа. Но если я еще раз выберу создание на основании - у меня не будет создаваться новых форм, а просто произойдет переключение на уже созданную форму создаваемого документа.
|
|
7
Жан Пердежон
25.03.20
✎
11:49
|
(6) тебе не форму нужно проверять, а наличие документа, созданного на основании (чтобы не создаваться новый). Открытие формы тут совсем ни при чем
|
|
8
squall84
25.03.20
✎
12:25
|
(7) Это не совсем то. На основании первичного документа может быть создано несколько документов.
|
|
9
squall84
25.03.20
✎
12:33
|
(7) Извиняюсь. Понял в чем суть. Проверить, есть ли открытый, но не записанный документ на основании. Но опять же, не понятно, как это сделать.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший