![]() |
|
Повторное открытие управляемой формы | ☑ | ||
---|---|---|---|---|
0
Dwarrior
23.06.17
✎
13:14
|
Здравствуйте!
Есть общий модуль (клиент), в котором выполняется вот такой код: ФормаДисплея = ПолучитьФорму("ОбщаяФорма.ФормаДисплеяПокупателя", , , "ДисплейПокупателя", ВариантОткрытияОкна.ОтдельноеОкно); Если НЕ ФормаДисплея.Открыта() Тогда ФормаДисплея.Открыть(); КонецЕсли; По логике, всегда должна открываться один и тот же экземпляр формы (владелец не задан, ключ уникальности тот же). А практика показывает, что иногда открывается новая. Честно не пойму, почему. Все сделано по документации, а новые формы создаются. Форма используется в РМК Розница 2.2. Помогите пожалуйста советом. |
|||
1
lodger
23.06.17
✎
13:23
|
попробуй вместо "ДисплейПокупателя" запихивать туда значение типа УникальныйИдентификатор.
любой, создай где-нибудь сам через Новый. |
|||
2
Dwarrior
23.06.17
✎
13:53
|
(1) Не помогло
ФормаДисплея = ПолучитьФорму("ОбщаяФорма.РХ_ФормаДисплеяПокупателя",,, Новый УникальныйИдентификатор("9cf29cf8-aa68-40e2-8c76-339bfded7b32"), ВариантОткрытияОкна.ОтдельноеОкно); |
|||
3
НЕА123
23.06.17
✎
14:20
|
хз
может есть подписка на ОбработкаПолученияФормы |
|||
4
Dwarrior
23.06.17
✎
14:51
|
(3) Так это общий модуль и общая форма. Здесь нет объектов, у которых может быть ОбработкаПолученияФормы
|
|||
5
Dwarrior
23.06.17
✎
15:25
|
Опытным путем выяснил, что новый экземпляр создается, если вызов осуществляется из модального окна. Пока окна обычные - вызовы приходят в одну и ту же форму. Как только открывается новое модальное окно (РМК, окно регистрации продаж) - создается новое окно. Печаль...ЧЕго-то 1Сники упустили.
|
|||
6
Cyberhawk
23.06.17
✎
15:26
|
А если вместо ПолучитьФорму сразу открывать ее?
|
|||
7
Dwarrior
23.06.17
✎
15:31
|
(6) Та же история
|
|||
8
Имитация работы
23.06.17
✎
15:34
|
(2) Описание:
Получает форму или управляемую форму. Перед получением осуществляется поиск уже открытой такой же формы.
Если в параметре <Уникальность> передано значение Истина, то поиск уже открытых форм не осуществляется. |
|||
9
Dwarrior
23.06.17
✎
15:50
|
(8) Не совсем понял, к чему вы ведете. Мне как раз нужен поиск открытых форм.
|
|||
10
lodger
23.06.17
✎
16:01
|
(9) он имитирует работу форумного бота.
|
|||
11
Dwarrior
23.06.17
✎
16:37
|
Нашел обходное решение, правда пришлось еще больше влезть в типовой код. Решение такое:
1. При открытии формы меню РМК открываю общую форму ДисплейПокупателя. 2. В общем модуле методом Оповестить() посылаю информацию в эту форму. Не так красиво, как хотелось, но другого способа не нашел |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |