![]() |
|
Управляемые формы. УП. Как переключаться между разными формами внешней обработки? | ☑ | ||
---|---|---|---|---|
0
Родом из детства
15.07.21
✎
18:51
|
Ранее не почти не имел дела с управляемыми формами. Имеется внешняя обработка. В ней несколько форм. По нажатию на кнопку на форме нужно открыть другую форму. Но как это сделать я не понимаю.
Пробовал так: ОткрытьФорму("ИмяФормы", Параметры); Возвращает ошибку. Видимо поиск сначала идет не внутри обработки. Заранее спасибо за ответы |
|||
1
ДенисЧ
15.07.21
✎
18:53
|
ОткрытьФорму("ВнешняяОбработка.ТвояОбработка.Форма.Форма"...);
|
|||
2
Родом из детства
15.07.21
✎
18:56
|
(1) А нужно добавлять её для этого во внешние обработки?
|
|||
3
Родом из детства
15.07.21
✎
18:58
|
Имя обработки: ЖурналЗаказов
Имя формы в обработке: РулоннаяМашина Вызываю так: ОткрытьФорму("ВнешняяОбработка.ЖурналЗаказов.РулоннаяМашина"); Падает в ошибку( |
|||
4
Кулибин
15.07.21
✎
19:14
|
Форму забыл перед Рулонными
|
|||
5
ДедМорроз
16.07.21
✎
00:41
|
Потом еще будет неожиданность,что у каждой формы своя версия обработки,и данные из одной формы в другую не попадают.
|
|||
6
Родом из детства
16.07.21
✎
10:24
|
(5) Вот и получается все как-то неочень. Может, поделитесь правильным алгоритмом работы с формами и обменом данными между ними во внешних обработках? В нете, обычно, гайды о том, как добавить внешнюю обработку(
|
|||
7
Родом из детства
16.07.21
✎
10:25
|
Если брать внешнюю обработку, как экземпляр класса. То нужно обращаться к формам этого экземпляра, а не создавать новые. Однако, не могу понять, в каком месте я могу к этому экземпляру обратиться
|
|||
8
ДенисЧ
16.07.21
✎
10:32
|
Не надо тянуть в 1с оопшные привычки...
|
|||
9
Родом из детства
16.07.21
✎
10:34
|
Или кейс, когда у меня нет реквизитов форм. То есть они обращаются к реквизитам обработки. Тогда, при открытии новой формы, она будет обращаться к реквизитам не моей обработки, а к только что созданной. Получается, при открытии формы, нужно сначала передавать ей необходимые реквизиты с обработки-владельца. Затем, в обработчике создания формы назначать эти параметры реквизитам новой обработки и к ним обращаться? как-то непонятно
|
|||
10
Родом из детства
16.07.21
✎
10:35
|
(8) Да из ООПшных привычек у меня вуз только:) Могу и в таких утверждениях ошибаться. Просто не могу понять механику
|
|||
11
ptiz
16.07.21
✎
10:37
|
(0) С УФ не работаю , но 5 миинут хватило, чтобы разобраться.
ИмяФормыДляОткрытия = СтрЗаменить(ЭтаФорма.ИмяФормы, "Форма1", "Форма2"); ОткрытьФорму(ИмяФормыДляОткрытия); |
|||
12
Родом из детства
16.07.21
✎
10:37
|
Да и откуда вообще 1сина узнает, какую внешнюю обработку я хочу открыть. Если я открываю их через файл-открыть(без добавления). Логичнее было тогда прописывать в путь открытия формы (ОткрытьФорму(путь)) полный адрес расположения файла. Вдруг у меня есть две одноименные обработки
|
|||
13
ptiz
16.07.21
✎
10:42
|
Кстати, зря они ЭтаФорма сделали устаревшим. Каким еще образом можно все свойства формы посмотреть в отладчике?
|
|||
14
lodger
16.07.21
✎
10:48
|
(13) ЭтотОбъект?
|
|||
15
ptiz
16.07.21
✎
10:54
|
(14) Действительно. То же самое выдаёт.
|
|||
16
lodger
16.07.21
✎
11:07
|
(15) унификация обращения к текущему объекту же.
|
|||
17
ДедМорроз
16.07.21
✎
22:28
|
Так они ЭтаФорма переименовали в ЭтотОбъект.
Ну и еще,если очень хочется обмена между формами,то в клиентской переменной сохраняется указатель,полученный через открыть форму,а в самой форме экспортная процедура и ее можно вызывать через указатель. Плюс этого метода в том,что все на клиенте,и сервер не дергается вообще. |
|||
18
Мимохожий Однако
17.07.21
✎
00:04
|
Проще всё сделать в одной форме со сменой видимости страниц или групп по необходимости
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |